November 27, 2013

Why do we Need Supercomputing?

We know that supercomputing produces a lot of processing power - something that is not needed by the average consumer or power user, as much as you think you do. Most businesses won't need this, they'll most likely have their needs satisfied by servers. In order to use a supercomputer, one needs quite a few things:

  1. Lots of money (hundreds of thousands or millions).
  2. Room to store it.
  3. Cooling and power capable of supporting it.
  4. The programming and support needed to maintain its reliability and efficiency. 
That's quite a big list of demands, so who can actually reach these "expectations"? Some prominent users include government organizations and large corporations. Some sample users include:

  • National University of Defense Technology, China
  • US Department of Energy, USA
  • Lawrence Livermore National Security, USA
  • Institute of Physical and Chemical Research, Japan
One of NASA's supercomputers

Supercomputers are often designed for a specific purpose. This includes:
  • Financial analysis / prediction
  • Nuclear tests and experiments
  • Weather prediction
  • Global warming prediction
  • Astronomy
  • Film rendering
Being able to use supercomputing for a critical and sensitive task like nuclear testing could quite easily cause severe conflicts in the world. Due to this, sanctions have been imposed upon certain countries which forbid them from purchasing and assembling any supercomputers. 
Titan, the supercomputer operated by the DoE.

The USA, amongst other countries, use the power of supercomputers to simulate nuclear explosions for militaristic purposes, ultimately allowing them to design the most efficient warheads. Seeing that most major conflicts (and the Cold War) are over, the supercomputers can also be used to optimize the lifespan of currently existing warheads or to find a way to keep them stored safely. On the other hand, it can also be used to simulate the typical operation of a nuclear reactor, which allows scientists to design them more efficiently so that less energy will be wasted, allowing for more energy to be used by consumers. 

If we shift away to the more scientific side of things, we can see that supercomputers are used for many headline topics. Whether to predict the future of the world's weather, send humans to Mars, or to figure a way to increase one's portfolio, supercomputers are used in quite a few places. Often they're used for good, allowing us to advance technological achievements and better predict the future. By using supercomputers, experts and researchers can now offload tasks to these computers, allowing them to focus on other tasks and developments. 

While it might not change the world to average consumers directly, it does affect us in a more subtle, indirect way. We all are affected by weather - the predictions generated are often useful, letting us know when we need to pack a coat or umbrella. Investors and managers of large mutual fund portfolios use supercomputers to allow them to maximize profits and minimize losses. By using supercomputers, NASA and other government space agencies can find a way to development a propulsion system capable of bringing humans to Mars and beyond!
Monsters University took 10 million CPU hours to render.

Surprisingly enough, film makers often do use supercomputers, although on a "smaller" scale. Let's take Pixar as an example. In order to create Monsters University, Pixar had to upgrade their render farm (essentially a room with a supercomputer designed to render video), which now sports 24,000 cores. Most of the scenes involve several characters with their own motion, all of which had to be animated and rendered by the computer. Because of their focus on detail, each individual strand of hair has to be animated well. All in all, it took on average 29 hours to render one frame - and remember that there are about 20-30 frames per second, all amounting to a whole ton of render time - totaling 10 million CPU hours.