Re: OT processes and cpu use
On Mon, Feb 19, 2007 at 09:56:26PM +0000, Tyler Smith wrote:
> I have a general question about processes in GNU/Linux. I'm working
> with PAUP, which is a command-line tool for calculating phylogenies
> from various data types (gene sequencies, proteins etc.). This sort of
> analysis routinely takes hours to days of processing. I find it is
> convenient to run paup in *shell* mode inside emacs -nw, allowing me to
> easily yank commands from various files into the paup process.
Since I routinly run on a 486, I have some hands-on experience getting
the best performance on long-running jobs (e.g. bzip2 of a huge tar).
What you should look at is minimizing the number of other processes
running. Each one takes time slices in addition to whatever it is
doing. Each time-slice means the processor has to change its context.
It all takes time.
If you run paup from within emacs that means that emacs takes some
slices. If its within X, then thats a whole loaf of slices.
You're compute-bound so don't do anything that takes computing. If you
need to work on your thesis, either use another computer or do it from a
text console rather than X. Or use another computer.
What about the possibility of upgrading the CPU on your motherboard?
Look at your programme and see why its needing so much system time.
Each system call means a context switch and other overhead. Then look
at the program in more detail, e.g. profile it, and tighten it up. In
what language is it written? Switch to Fortran for part or all?