LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 06-13-2010, 04:26 PM   #1
Paul_linux_newbie
LQ Newbie
 
Registered: Jun 2010
Posts: 3

Rep: Reputation: 0
Running a second (faster) machine through a linux machine


Hi,

I'm a relative newbie to Linux. Pretty familiar with Windows.

I've got a piece of processing intensive fortran (and some C) code I want to run. I have a nice general purpose desktop with a dual boot Fedora/Windows XP. XP very rarely gets used. Perfectly adequate for all my general purpose uses. I'd like to get hold of a second machine with much faster hardware to run this code. I'd like to use it to compile and run the compiled code and pretty much nothing else. The processing is iterative maths. There would be a fair quantity of data produced which I will view using a propriety viewer (at the moment Windows only). I'm not too fussed about how I go about doing that. What I would like to do is run the second machine via instructions sent from the first. I'd like the second machine entirely run from the first, all apart from the on switch.

Forgive my inexperience. Is there a way to do set up the second machine to be run from within a Linux set up on the first?

Could you also recommend a fairly minimal distro for the second machine to maximise the efficiency of the compiler and the speed of the code?

Also are there any recommendations for good, fairly recent, used hardware for the second machine? I can't afford much, just want it to process maths as quickly as possible. Are there any alternatives to PCs that are cheap to pick up which would do the job, and if so can they be run as described?

Many thanks for your help.

Paul
 
Old 06-13-2010, 04:50 PM   #2
natex
LQ Newbie
 
Registered: Dec 2009
Location: Central/Northern New York, USA
Distribution: slackware-current
Posts: 15

Rep: Reputation: 2
I don't quite understand your intended setup. Could you clarify?

Will the "compiler machine" be using Linux as it's operating system? If so, you could set it up as a sshd server as well (trivial), and use a remote shell from your desktop machine (linux or windows) to access the server/compiler machine.

If the compiler machine runs on Windows, (as far as I know) you will need to use a remote graphical login such as Remote Desktop or VNC.
 
Old 06-13-2010, 05:41 PM   #3
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,062

Rep: Reputation: 893Reputation: 893Reputation: 893Reputation: 893Reputation: 893Reputation: 893Reputation: 893
Quote:
Originally Posted by Paul_linux_newbie View Post
I'd like to get hold of a second machine with much faster hardware to run this code....Also are there any recommendations for good, fairly recent, used hardware for the second machine? I can't afford much, just want it to process maths as quickly as possible.
First off, to quote Carroll Shelby "Speed costs...how much do you want to go?"

I suspect that in wanting something 'much faster' than your existing computer for not very much, you are making this rather hard, but then I don't know how fast the existing computer is, how much is 'not much' in your way of thinking or your location, so I don't know anything about the market conditions where you are.

I'd like to use it to compile and run the compiled code and pretty much nothing else. The processing is iterative maths. There would be a fair quantity of data produced which I will view using a propriety viewer (at the moment Windows only). I'm not too fussed about how I go about doing that. What I would like to do is run the second machine via instructions sent from the first. I'd like the second machine entirely run from the first, all apart from the on switch.



Quote:
Originally Posted by Paul_linux_newbie View Post

I've got a piece of processing intensive fortran (and some C) code I want to run. I have a nice general purpose desktop with a dual boot Fedora/Windows XP....I can't afford much, just want it to process maths as quickly as possible.
Is this maths floating point, or not? For fp it is a question of how fast the fpu is, for integer math, how fast the general purpose calculations can be done. Possibly doesn't make any real difference, but it would be nice to know.

(There might be a possibility of using something like CUDA, but you'd have to be a lot more forthcoming with details to make any comment, and CUDA is probably beyond my pay grade.)

Quote:
Are there any alternatives to PCs that are cheap to pick up which would do the job, and if so can they be run as described?
Well, there are but largely they are either slightly lower cost and significantly slower, or somewhat faster and much more expensive, so it is difficult to see this making sense. Maybe a thin client solution, but some of the low power ones have poor fp, and the rest are really low spec PCs.

Quote:
Could you also recommend a fairly minimal distro for the second machine to maximise the efficiency of the compiler and the speed of the code?
Well I could, but I feel that it won't make a real difference. You haven't said much about what your app will do with its data (does it wait upon writing out gigabytes of data to disk, in which case disk and disk settings make a big difference, or is it really masses of calculation to produce a few bytes of data? does everything fit in memory...if it is close, adding enough memory so that it does might be the most economical perf boost that you can get).

Quote:
What I would like to do is run the second machine via instructions sent from the first. I'd like the second machine entirely run from the first, all apart from the on switch.
I guess that you probably thought that this part was the problem. I'm assuming that your program does not require any kind of GUI interaction; that would change the answer. You could ssh in and mount a disk on your current PC to copy the results back to. Or you could export X. Or you could do it all via e-mail (bit messy, but do-able).

'via instructions sent from the first'; I assume that you don't want to send a single instruction (instructions in C/fortran) at a time; rather that you want to send across a complete program and send a 'run' instruction.
 
Old 06-13-2010, 06:12 PM   #4
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,397
Blog Entries: 2

Rep: Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908
You can easily run a computer as a 'compute engine' headlessly. This is done routinely for servers of various sorts.
To access the data, and start and stop processes, etc., you simply login with SSH and run your programs. The headless computer can import and export its data through network filesystem shares. If your programs run for a very long time, and you don't want a perpetual SSH connection, you can run the processes in screen sessions, and disconnect/reconnect arbitrarily as required.

The cost of the computer is basically a function of computing power/speed. There are various ways of defining speed; someone acquainted with the kinds of applications you need could probably advise there. If you are just using whatever you can get with little money, there opportunity to optimize may not matter. OTOH, since you are going headless, you save on the cost of video card, monitor, keyboard and mouse.

It is also possible to use scripting to launch processes on another computer, and again the exact nature of your applications will dictate this.
To avoid interactive passwording, you can set up to use ssh shared keys on the compute-engine, and the controlling host. Google 'ssh passwordless login' for lots of links to explain. Once this is done, you can do something like
Code:
ssh your.compute.engine programToRun
This will run the program 'programToRun' on the compute-engine. The program must exist on the remote filesystem (which can be a network share).

There are all sorts of possibilities.

--- rod.

Last edited by theNbomr; 06-13-2010 at 06:15 PM.
 
Old 06-14-2010, 02:06 PM   #5
Paul_linux_newbie
LQ Newbie
 
Registered: Jun 2010
Posts: 3

Original Poster
Rep: Reputation: 0
Thanks folks. I appreciate that the question on hardware is not really an easy one to answer. The maths is floating point and in answer to the question I don't expect to produce Gb of data, just lots of calculation to generate a Mbs.

Sounds like I need to go away and look at SSH.

Many thanks again.
 
Old 06-14-2010, 04:24 PM   #6
jefro
Moderator
 
Registered: Mar 2008
Posts: 16,883

Rep: Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498Reputation: 2498
"Could you also recommend a fairly minimal distro for the second machine to maximise the efficiency of the compiler and the speed of the code?"

The basic answer would be to create either a linux from scratch for that exact machine or use an almost from scratch like Gentoo. You would have to install only what you really need. That would maybe be the most basic kernel and the most basic of shell's along with your compiler and any supporting files.

Linux has a way to make an OS almost exactly to your hardware and your tasks. It is rather time consuming but will return the time quite quickly in real world use.
 
Old 06-14-2010, 05:41 PM   #7
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,397
Blog Entries: 2

Rep: Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908
You can possibly use the distro you've already installed on your other host. Diskless booting, using PXE can be done. Really, there shouldn't be too much worry about 'minimal', per se, unless you're really conscious about disk space. If you are only going to run a small selection of custom applications, then installing a bunch of stuff and then not using it only takes some disk space. A lot of distros have a 'minimal install' mode, which should do just fine, and allow you to run with a pretty small disk.
One question that may be germane, though, is whether you will be building/developing your software on the target host. If so, then you will want to make sure the installation provides the required software development tools. I'm finding Debian seems to be the most complete for things I do, in that regard.
--- rod.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
which virtual machine is faster ? pleasehelpme Linux - Newbie 4 12-08-2007 03:29 PM
Which distro runs faster on your machine? BrokeBody Linux - Software 12 11-09-2007 08:01 AM
faster new machine serves images slower than old machine? sneakyimp Linux - Newbie 4 11-01-2007 05:00 PM
Would slackware make my machine faster? engnyr Slackware 8 09-02-2003 08:07 PM
codes run slower on the faster machine xudeyong Programming 12 05-03-2003 05:09 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 08:17 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration