Earth wins another round of expensive hardware lobbing! Here's a humorous reminder at how difficult it is to reach other planets, especially Mars - too bad it hasn't been updated in a while.
The comments in the code claim it will show elapsed time for each process, but that's not working for me.
I discovered the Python ptrace module while I was searching for this. I have a project for which modifying the Python module might be a nice alternative to parsing strace output.
usualy yoh debug code with gdb Nd the like....dtrace is morevfor profiling the whole setup and figuring out where to optimize......plus you can, i believe, insrument your code with dtrace probes, even better. if a company wants their product optimized theyll have to provide the tools for it.
It's also worth looking at SystemTap or DTrace, depending on what OS you're running. While strace will allow you to look at an individual process and its children, SystemTap/DTrace will allow you to gather data on system call (and then some) usage system wide. Some examples:
- monitor execve() calls system-wide
- monitor I/O to a specific file, from any process
- measure per-process network usage
(note that newer Linux kernels may have other ways of accomplishing some of these tasks that I'm not aware of).
I've had a lot of success using SystemTap to look at low-level filesystem performance issues in the kernel. We've run SystemTap scripts on our production filesystem servers for over a year with no problems whatsoever.
"The Virginia Tech team is figuring out how to best to farm out computing jobs so that the GPUs and CPUs do what they do best, without ever going idle, and without spending too much time communicating with one another.
It’s not easy, but they’re using HokieSpeed to build tools for designing and compiling software so that it can be tweaked to run fast on these systems. They’ve also built what they call an “automated runtime system,” which works with the supercomputer’s operating system to speed things up even further."
I think the 'supercomputing for the masses' part comes from the fact that the peak performance of a relatively low-cost GPU is large compared to a CPU, but actually taking advantage of that performance is still difficult. They're aiming to change that with improved software development tools. At least, that's what I gathered from the article.
http://www.bio.aps.anl.gov/~dgore/fun/PSL/