Join us at Super Computing 2011!We invite you to visit us at the SC2011 conference in Seattle, Nov 14-17 at Booth #2040 See first-hand how we are enabling research discovery with Dell HPC solutions.
A PetaFLOPS sounds like a huge number, and indeed it is, but the word itself doesn’t really convey how much computational power there is in a PetaFLOPS. So for an analogy, a PetaFLOPS would require 83,333 laptops with 2 cores running at 1.5 GHz (in other words everyone in a good size town would have to be running a laptop at the same time to equal a PetaFLOPS). Another analogy is that if it takes a person 2 second to add two numbers, then it would take 1 billion people (all the people in China) about 31.7 years to equal the performance of what a PetaFLOPS computed does in just 1 second. So a PetaFLOPS is an amazing amount of computing power.A logical question to then ask is, “who needs that kind of performance?” To many people, particularly outside of HPC, this question is one of curiosity, sometimes akin to “what do people need more than one computer”? The answer may surprise you.There are a large number of fields of research/study/work that use huge amount of computer power. Even in 1995 people recognized that huge amounts of computer power would be needed. There was a summer school/workshop around PetaFLOPS computing on August 14-23, 1995 that discussed applications and algorithms needing PetaFLOPS-class computing requirements (http://www.hq.nasa.gov/hpcc/petaflops/app.sw.stevens.html). If you look at the link you will see a very long list of applications that need PetaFLOPS.Another source of application requirements is from Steven Chen (http://en.wikipedia.org/wiki/Steve_Chen_(computer_engineer)). Steven Chen has a long history in HPC working with Seymour Cray and designing the Cray X-MP. At a conference in 2006 he gave a presentation (http://www.codata.org/06conf/presentations/G2/SteveChen.pdf) entitled “Neuroscience, Bio-system science, Third-Brain and Bio-Supercomputing.” During this presentation he listed some applications and the performance needed for each. The list is reproduced here:· Automotive Development 100 TeraFLOPS· Human Vision Simulation 100 TeraFLOPS· Aerodynamic Analysis 1 PetaFLOPS· Laser Optics 10 PetaFLOPS· Molecular Dynamics in Biology 20 PetaFLOPS· Aerodynamic Design 1 ExaFLOPS· Computational Cosmology 10 ExaFLOPS· Turbulence in Physics 100 ExaFLOPS· Computational Chemistry 1 ZettaFLOPSNotice that there are a number of applications that go beyond 1 PetaFLOPS! An ExaFLOPS is 1,000 times faster than a PetaFLOPS and a ZettaFLOPS is 1,000,000 times faster than a PetaFLOPS. And just in case it wasn’t obvious, the required performance for various research areas is for single applications instances. For example, Aerodynamic Analysis would require 1 PetaFLOPS in performance for a single parallel application. Typically, multiple instances are run at the same time. So something like Aerodynamic Analysis could easily move into the range of hundreds of PetaFLOPS. Consequently, the numbers provided by Dr. Chen are what can be described as “starting” points in the design of systems for various research areas.So far the discussion has been around what areas need PetaFLOPS level performance but the topic of “why” hasn’t been addressed? It is beyond the scope of this article to discuss the metaphysical aspects of why mankind needs or wants to explore, understand, create, and, to some degree, control our environment but we can easily discuss why some research areas need this much computing power and why there are not alternatives.Before the dawn of HPC and even through to today, there are many cases where the process or object being studied is examined experimentally. That is, direct measurements are taken of the process or object. Easy examples of this are wind tunnel tests of scale model aircraft, crashing a car into a wall or another car, examining the response of bacteria to external stimulus (i.e. hitting them with antibiotics), and on and on. In many cases actually performing an experiment and measuring the results works well and in some cases can be cheaper than performing a computer simulation (an alternative to experimentation). But, what if you want to try to design something or understand how something responds to multiple stimuli? This might be difficult and most probably expensive.Let’s return to the example of aircraft. We can perform wind tunnel tests on a scale model aircraft but we need hours and hours of wind tunnel time to generate the data. Wind tunnels can be very expensive to operate but running a few tests can be fairly economical. However, what if we want to design? We may need to try a large number of possible aircraft configurations and test each one of them. This can be very expensive because of the large amount of time needed in the wind tunnel. In addition, this is a very serial process because you have only one wind tunnel but possibly a large number of models to test. Moreover, there is also the possibility that the models tested don’t produce the design you want, forcing you to build even more models and repeat the process.Computer simulations allow you to quickly, and in many cases in parallel, examine a great number of possibilities. For aircraft design this means I can examine lots of possible configurations to find one that best meets my requirements. For chemistry this could mean trying a large number of possibilities for a protein configuration until the correct one is found. Since we are simulating the object under study we don’t have to conduct experiments but instead we just pay for the electricity needed for the computer simulation.In addition to being cheaper, there are many times that computer simulations are the only way we can understand a process or an object. For example, it is probably impossible to take direct measurements of every air molecule passing around an aircraft, or measure the processes taking place inside a nuclear reactor, or measure the effects of medication throughput the human body. For problems such as these, computer simulation is currently the only way we have of understanding or beginning to understand these processes or objects. While perhaps a little controversial, the topic of nuclear weapons is one that fits into this discussion. For the most part the world has stopped nuclear weapon testing (at least when the existing nuclear powers, testing has stopped). However, we still have the weapons and we need to understand how they behave over time and if they will work if they are ever used. The general phrase for this is the Stockpile Stewardship Program (http://www.nv.doe.gov/nationalsecurity/stewardship/default.htm). Since you can’t test the weapons how do you determine how they deteriorate (change) over time? Will it function correctly if needed? Is there any danger as it gets older? What parts need to be replaced and when? The only way to get these answers is through simulation. So you can do some small testing of non-nuclear components and incorporate these into a simulation of the weapon. However, these simulations are extraordinarily complex and require a massive amount of compute power (likely more than a PetaFLOPS). This is a perfect example of something that is not possible without simulation.Next Up ... Part 2 – What do current PetaFLOPS systems look like?-- Jeff Layton