News for hackers. Stuff that matters.
Re:Supercomputers: Obama orders world's fastest computer by sevensor on Thursday July 30, 2015 @11:48AM (#9975786)
> especially when the community has little or no skill at building NG Internet HPC systems

I would argue that the community of people who actually have the skills to take advantage of the interconnects in a classic HPC system is vanishingly small, and in consequence we've overbuilt them on an epic scale.

Allow me to vent. I had the good fortune to have a login on a "petascale" HPC system, and access to an allocation of hours.

The /scratch filesystem would fail weekly, which killed everybody's jobs. If you had a big run going when /scratch failed, you lost everything. Scratch failed so much because the models that were being used often did wildly inappropriate amounts of file IO --- debugging print statements, detailed intermediate calculations, excessively verbose output --- that worked all right in development but when run in parallel brought the filesystem to its knees.

Furthermore, the login nodes were almost unusably slow because of all the Python and Perl post-processing scripts running on them. This isn't even a matter of users being cheap with their hours --- post-processing would have been a tiny fraction of their allocations. Instead, it's that many of them gave no thought at all to how the post-processing might be structured and run through the batch scheduler, and saw no downside to abusing the login nodes for that purpose.

In conclusion, I can attest to at least one HPC system that was badly mismatched to its users' needs and level of sophistication, despite allocations of hours being awarded only to a small number of researchers from across the country through a highly competitive process. Building these things serves national and institutional pride far more than any utilitarian interest.

Re:Supercomputers: Obama orders world's fastest computer by dekhn on Thursday July 30, 2015 @11:50AM (#9975802)
You're describing an exceptionally poorly built and used system. That said, it's not inconsistent with what I've seen as well.

My claim is that the design of classic interconnects is a big waste of money, because only a few codes need it, yet the cost dominates (>50%) of the cluster. I've learned, from years of studying Google's papers, that there are better ways to build code that communicates, and those mechanisms are much easier to teach to scientists and computer scientists than MPI.

Re:Supercomputers: Obama orders world's fastest computer by rwallace on Thursday July 30, 2015 @12:08PM (#9975943)
That's true for many purposes, but is it true for physical simulations? Don't they need communication on every time step?
Re:Supercomputers: Obama orders world's fastest computer by dekhn on Thursday July 30, 2015 @12:13PM (#9975974)
I would say no.

Here is my argument: when I worked for DOE, everybody told me I had to run my MD simulations on a super computer using all the processors, and I would judged on my parallel efficiency. This meant using a code that used MPI to communicate at every (or every N) timesteps. I asked, instead, "Why not just run N independent simulations, and pool the results?" In this case, you run an M-thread simulation on each machine (where M = number of cores on the machine) with no internode communication at all except to read input files and write output files.

The short answer is, that approach works just fine, but the DOE supercomputer people won't let you run embarassingly parallel codes because they already spent money on the interconnect to run tightly coupled codes.

In reponse to this, I went to Google, built Exacycle (loosely coupled HPC) and published this well-cited paper: http://www.ncbi.nlm.nih.gov/pubmed/24345941 which in my opinion put the last nail in the coffin of DOE-style physics simulations for molecular dynamics.

That said, there are systems which are so large you can't practically simulate a single instance of the system on a single machine, so you have to partition. Simulating the ribosome is a nice example. However, simulating the ribosome currently provides no valuable scientific data except to tell us that we have major problems with our simulation systems (force field errors, missing QM, electrostatic approximations,e tc).

Re:Supercomputers: Obama orders world's fastest computer by rwallace on Thursday July 30, 2015 @03:41PM (#9977443)
Interesting! Would it be accurate to say that as the amount of computing power and memory per CPU has increased over the years, so also has the percentage of scientific problems where a single simulation instance will fit on a single CPU? Certainly if you can do so, it's more efficient (in both machine and human resources) to partition by one job per CPU.
Re:Supercomputers: Obama orders world's fastest computer by dekhn on Thursday July 30, 2015 @07:46PM (#9979036)
Yes, for example when I did my PhD work ~2001 with a T3E I could run a simulation of a duplex DNA in a box of water by running it in parallel. This was true both for memory and CPU reasons. It limited to me studying a single sequence at a time, or 2-3 which was the practical limit on the number of concurrent jobs. This used the well-balanced design of the T3E, which had a great MPI system.

Eventually it reached the point (~2007) where I could fit the whole simulation on a single 4-core Intel box with similar performance. Then, I ran one "task" per machine, and scaled to the number of available machines. This uses only inter-node communication, which goes over a hub or crossbar on the motherboard. Much faster.

Now, I can fit many copies of DNA on a single machine (one task per core). This is far and away the best, because each processor just accesses its own memory, greatly reducing motherboard traffic, so the problem is basically CPU-bound instead of communication bound (this also now applies to GPUs, such that single GPUs can run one large simulation within its own RAM and not have to spill data back and forth over the CPU/GPU communication path).

This moves the challenge to the IO subsystem- I generate so much simulation data that I need a fat MapReduce cluster to analyze the trajectories.

Re:Supercomputers: Obama orders world's fastest computer by markhahn on Thursday July 30, 2015 @10:38PM (#9979634)
none of this is news - what you're describing is really just strong scaling. and sure, most systems already have subsets of nodes set aside for post-simulation cleanup.
Re:Supercomputers: Obama orders world's fastest computer by dekhn on Friday July 31, 2015 @09:31AM (#9981603)
Here is the news: the Jupiter paper is now published. http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p183....

I'm not just describing strong scaling. I'm describing a cost-effective way to achieve it; that's what really matters.

Why have subsets of nodes for post-simulation cleanup? Why not just run that cleanup on the same nodes you used for simulation? Or other general nodes? Otherwise, you've got two sets of nodes which are used at lower utilization than they would normally be.

Re:Supercomputers: Obama orders world's fastest computer by pinewurst on Thursday July 30, 2015 @04:33PM (#9977847)
I know some people in the life sciences who were strongly encouraged to get Titan time. When they applied and presented ORNL with their embarrassingly parallel code, they were told to go away.
Re:Supercomputers: Obama orders world's fastest computer by dekhn on Thursday July 30, 2015 @07:49PM (#9979053)
yes, precisely my point. If I wanted to run BLAST by partitioning it to run embarassingly parallel, they wanted to me use mpiBLAST- but mpiBLAST isn't actually any better for any real-world workfload.

This is because 50% of the cost of the machine was the interconnect, and if they let those codes run, it means they wasted budget and will get less next time.

Until I hear that the funders/builders are spending the same amount of budget on machines that let biologists run embarrassingly parallel codes as they spend on TOP500 machines, it's not going to change.

Re:Supercomputers: Obama orders world's fastest computer by markhahn on Thursday July 30, 2015 @10:36PM (#9979623)
montecarlo-type simulations are fine in their niche. it's just asinine to claim you can do all science that way.
Re:Supercomputers: Obama orders world's fastest computer by lorenzhs on Thursday July 30, 2015 @12:03PM (#9975910)
I would argue that many of the failures you describe are due to a lack of libraries that can exploit these systems. You can't expect every biologist to be an expert in distributed computing. The HPC and algorithms communities failed to consider the users of these systems and happily tinkered in their academic niches. All the while, what was actually needed were easy to use libraries that allowed non-experts to benefit from the advances made. (Also, the algorithms community has lost interest in distributed memory computing).

The abuse of /scratch and the login nodes sounds like a classical mixture of not knowing, not caring, and limited time. That isn't something that has a technical solution.

Re:Supercomputers: Obama orders world's fastest computer by sevensor on Thursday July 30, 2015 @12:16PM (#9975998)
I completely agree. My point is, the workload was lots of jobs using 100 nodes or less and doing massive amounts of file IO, while the cluster was essentially designed to run very large physics simulations, one at a time. This was a cluster that didn't need to exist.
Re:Supercomputers: Obama orders world's fastest computer by pinewurst on Thursday July 30, 2015 @04:32PM (#9977828)
The problem you were seeing wasn't the supercomputer per se, it was the sheer awfulness of Lustre.
Re:Supercomputers: Obama orders world's fastest computer by khm on Thursday July 30, 2015 @02:18PM (#9976898)
Ah, a Cray. Buck up; there are better supercomputers.
Re:Supercomputers: Obama orders world's fastest computer by sevensor on Thursday July 30, 2015 @03:50PM (#9977520)
It was, in fact. How did you infer that?
Re:Supercomputers: Obama orders world's fastest computer by ams6110 on Thursday July 30, 2015 @09:26PM (#9979403)
/scratch on a Cray is (last I used one) is a Lustre filesystem. It is the only file storage available to the compute nodes, which have no local storage of their own. No spinning disk, no SSD. So if the code is written such that it makes frequent small writes (e.g. it's peppered with print statements), the lustre nodes get hammered by all the compute nodes and become the bottleneck and they will eventually fall over.
Re:Supercomputers: Obama orders world's fastest computer by sevensor on Friday July 31, 2015 @07:47AM (#9981167)
Interesting! This was exactly the case on the system I used. I didn't realize Cray was the only vendor who went the no-local-storage route.
Re:Supercomputers: Obama orders world's fastest computer by khm on Saturday August 01, 2015 @11:39PM (#9989649)
They're not. They're just the only ones who insist on doing it with a filesystem that can't handle the load.

The other problem is that their interconnect is relatively fragile. It's comparatively easy to crash the entire network, at which time your filesystem goes away and processing stops.

But thanks to Lustre, even when it's good, it's bad.