KAUST has recently acquired a new supercomputer. The Cray XC40, Shaheen II, is 25 times faster than the previous system (Shaheen I) -- which the University has been using since 2009. The new system, weighing around 109 metric tons, arrived in Jeddah on March 15, 2015, carefully packed in 123 crates, aboard a chartered Saudi Airlines 747 from Chicago’s O’Hare international airport. The shipment was then loaded onto seven eighteen-wheeler trucks and caravanned to KAUST.
“The new Cray XC40 system is going to be much more broadly useable,” said Greg Newby, Manager of KAUST’s Supercomputing Laboratory. This was one of the University’s main requirements when selecting a new system. Currently, around 20-25% of the University’s faculty, as well as students, postdocs, researchers and external collaborators use the supercomputing resources on campus. This very active, capable and computationally savvy group always looks forward to the next innovative technology.
Generally speaking, we use computers to accomplish tasks. When using a personal computer to run a variety of word processing or spreadsheet software, when we use a smartphone to access our favorite apps, or turn on a laptop to watch YouTube videos, we’re most likely using just one processor core inside those computing devices. Essentially, supercomputers are similar in the sense that they’re able to run an entire series of programs. One scientist can run his program while another scientist can also run hers at the same time. But the main difference is that supercomputers consist of a whole bunch of processors all working together.
“In the case of Shaheen-Cray XC40, it’s around almost 6,100 individual sets of processors, called nodes, which are basically just individual computers. Each of these computers has 32 cores,” said Greg Newby. “When you use a supercomputer, you don’t want to use just one processor core; you want to use some larger number. For some people it’s only 24 or 48; but most of our emphasis is on people that can use thousands of these computer cores at the same time. So basically, if a scientist has a big data analysis job to run, requiring the use of multiple computers, a supercomputer is what they need.”
Not all programs run well on a supercomputer however. A program like Microsoft Word would not run any better on a laptop than on a supercomputer. Operating it on one computer or ten machines would not make it faster for an author to write or run spellcheck. On the other hand, data-intensive scientific tasks such as simulation or modeling, where a lot of different processors can work together, can be greatly enhanced on a supercomputer.
A concrete example would be modeling the movements of the wind. Scientists may be interested in predicting how the wind will transport sand and dust across the desert into the Red Sea. This information may be of interest to those developing solar cells -- where dust is a major factor. Modeling and predicting the movements of the wind is complicated. So computing the wind at high resolution requires the use of a supercomputer – especially if we’re looking at an entire region. What a system like Shaheen-Cray XC40 allows scientists to do is to divide the region in X and Y coordinates and thus forming a grid system. Those grid cells could, for example, represent one-kilometer square. Each vertical layer can then be separated into units such as 100 meters of height, or 30 millibars of atmospheric pressure, creating a 3D grid.
The next step would be to input some initial conditions, set certain assumptions, and then instruct the supercomputer to run the simulation. The system will analyze the wind in a particular cell and then advance the clock, to say a fraction of a second, to the next cell in order to determine how the wind’s movements have evolved – so on until the next computation. Each processor node handles the computation for a different cell. So the supercomputer essentially divides the problem into grids handling different computational elements.
“That’s what makes a problem good for supercomputing. If you can take the problem and divide it into component parts and then spread out those component parts to the different computational processors. Kind of similar to a car engine that has 6 or 8 pistons, they’re all working together.” as Newby describes.
- by Meres J. Weche, KAUST News