3 ms·
I'm a sysadmin for a university HPC facility. We basically have users split into two groups. Single node and Multinode. We even have separate clusters for th
by phamilton 16y ago
I'm a sysadmin for a university HPC facility. We basically have users split into two groups. Single node and Multinode. We even have separate clusters for them. We have one cluster with infiniband interconnect and the other with gigabit ethernet.
The multinode users love MPI because it screams over infiniband. These are people running genome mapping simulations or fluid mechanic simulation etc. This is actually a minority of our users. Most of our users are perfectly content with our dual socket hex core westmere cluster. They use various applications for their simulations, but most of them have difficulty scaling past 12 cores anyway.
So, in my experience, MPI is great because the hardware becomes the limiting factor, and the other implementations are a little more software bound. So if you have a couple hundred cores available for a single job, you are stuck with MPI. If you are sticking to a multithreaded implementation, the other languages you mention might be a good solution.
- fnl 16y agoImpressive admin work you have there :) Thanks, that is I think the most concise answer summing it up. So, as you are even in the "right environment" for that - one question might be left another guy raised: got any thoughts on Haskell about this?
- phamilton 16y agoSo the majority of our users are either running commercial software, or running something home-rolled. The home-rolled software is generally the product of years of slapping bandaids on something someone wrote at such-and-such university. Almost always written in fortran 77. It's becoming a bit of a problem, because we know they have terrible inefficiencies in algorithms and are not very well optimized for our system. But a ME Professor is more interested in the splashback effects supersonic turbines create than how efficient his simulation is. If it takes an extra 100,000 CPU hours, thats only an extra week for a 500 processor job. As long is it works well enough, they generally don't want to touch it. So in that climate, there is very little research done using languages other than fortran and C. When it does it usually it comes about as a result of an interesting library that does X and is written in Y. We are a small shop, especially for a 10,000 core system. We've only got 3 full time employees and three student employees:a part time web dev, a part time hardware tech, and me (Also part time.) . I've been trying to spend my time working with users and optimizing their code but for the most part they just aren't that interested. I think the prevalence of fortran shows a lot about the overall mentality. Just use what works, and get as much use out of it as you can.