A new list was published on top500.org. It might be noteworthy that the NSA, Google, Amazon, Microsoft etc. are not submitting information to this list. Currently, the top two places are occupied by China, with a comfortable 400% head-start in peak-performance and 370% Rmax performance to the 3rd place (Switzerland). US appears on rank 4, Japan on rank 7, and Germany is not in the top ten at all.
All operating systems in the top-10 are Linux and derivates. It seems obvious that, since it is highly optimized hardware, only operating systems are viable which can be fine-tune (so, either open source or with vendor-support for such customizations). Still I would have thought that, since a lot of effort needs to be invested anyway, maybe other systems (BSD?) could be equally suited to the task.
takyon: TSUBAME3.0 leads the Green500 list with 14.110 gigaflops per Watt. Piz Daint is #3 on the TOP500 and #6 on the Green500 list, at 10.398 gigaflops per Watt.
According to TOP500, this is only the second time in the history of the list that the U.S. has not secured one of the top 3 positions.
The #100 and #500 positions on June 2017's list have an Rmax of 1.193 petaflops and 432.2 teraflops respectively. Compare to 1.0733 petaflops and 349.3 teraflops for the November 2016 list.
[Update: Historical lists can be found on https://www.top500.org/lists/. There was a time when you only needed 0.4 gigaflops to make the original Top500 list — how do today's mobile phones compare? --martyb]
(Score: 0) by Anonymous Coward on Tuesday June 20 2017, @04:40PM (1 child)
Doesn't "Piz Daint Cray" sound like something you'd hear on the streets of Philadelphia?
Seriously now, how do you design software and toolchains to take advantage of a large number of cores? Do you need to use specialized languages?
How do you manage I/O? I/O is a bottleneck in desktop computing, so it must be a serious consideration in supercomputing.
How hot does the room get when you have all of those cores running at once? If you wanted to build a supercomputer that could run at room temperature with minimal air conditioning, how big a performance hit would you have to take?
(Score: 1, Insightful) by Anonymous Coward on Tuesday June 20 2017, @06:32PM
1) A lot can be done with fairly standard languages. Fortran does very well in the HPC (high-performance computing) space. Many younger people think of Fortran as an outdated dinosaur, but this couldn't be further from the truth. Fortran is a modern language with features such as various kinds of closure, object oriented support, and much, much more. Now, I don't personally care for some aspects of the syntax, but Fortran is no dog. In fact, due to the way that arrays in Fortran are first class language constructs (unlike C where everything is just a bare pointer to a chunk of memory and an offset), Fortran code often (nearly always) outperforms other languages like C and C++. This is because more information is available for the computer to use during optimization. The compiler just can't "see" as much of what's going on in C code, with bare pointers all over the place. That said, more and more HPC codes are being written or "ported" to C/C++ now than ever before. C and C++ work just fine on supercomputers as long as the code is very carefully written. Start with MPI and OpenMP in Fortran or plain C if you want to get started the easiest way possible for programming supercomputers. The fun part is, you can even run thse MPI+OMP codes on your home desktop to test them out (at a tiny scale). -- That said, there are many custom languages, frameworks, libraries, etc. available on these machines, if one feels like getting really fancy.
2) I/O is a big issue. Cray tends to use the Lustre parallel filesystem on their machines, but other supercomputers use different parallel filesystems like GPFS. If you've ever setup a NFS server, you can think of what supercomputers use as the same basic idea, but "on steroids". One filesystem will span many servers and many disks, so as to provide a high level of parallelism to the highly parallel application code. Cray also offers nodes with "Burst Buffers", which are just SSDs sitting on the compute nodes along with some nice software to expose these to the compute processes in an easy to use way. That said, I should make a comment for those not in the HPC space: the best way to avoid I/O is not to do it. So, at supercomputer scales, many people take the stance that nothing should touch disk unless it has to. So, data is not passed around in temp files on disk. Instead, data is communicated directly between compute nodes, in memory, using the high-speed interconnect whenever possible. I/O is a large and complicated subject, and I'm just scratching the surface here.
3) I'm going to guess that this is mostly a cost issue, and a lot of it comes down to compute density, in terms of floor space in the datacenter. If you have air cooling, that's not really a problem per se, but then the same amount of compute power will take more floor space, because it can't be as dense and still be cooled as well as if it were liquid cooled. So, there's no performance reason, really, that things are liquid cooled, it's just that you can get denser, and this can use a smaller datacenter footprint to get the same performance. Remember that the datacenter can at times cost just as much if not more than a machine (depending on the machine and datacenter in question).