(This is a live-blog of Dr. Vipin Chaudhary talk on Trends in High Performance Computing, organized by the IEEE Pune sub-section. Since this is being typed while the talk is going on, it might not be as well organized, or as coherent as other PuneTech articles. Also, links will usually be missing.)
Myths about High Performance Computing:
- Commonly associated with scientific computing
- Only used for large problems
- Applicable to niche areas
- Understood by only a few people
- Lots of servers and storage
- Difficult to use
- Not scalable and reliable
This is not the reality. HPC is:
- Backbone for national development
- Will enable economic growth. Everything from toilets to potato chips are designed using HPC
- Lots of supercomputing is throughput computing – i.e. used to solve lots of small problems
- “Mainstream” businesses like Walmart, and entertainment companies like Dreamworks Studioes use HPC.
- _(and a bunch of other reasons that I did not catch)
China is really catching up in the area of HPC. And Vipin correlates China’s GDP with the development of supercomputers in China. Point: technology is a driver for economic growth. We need to also invest in this.
Problems solved using HPC:
- Movie making (like avatar)
- Real time data analysis
- weather forecasting
- oil spill impact analysis
- forest fire tracking and monitoring
- biological contamination prediction
- Drug discover
- reduce experimental costs through simulations
- Terrain modeling for wind-farms
- e.g. optimized site selection, maintenance scheduling
- and other alternate energy sources
- Geophysical imaging
- oil industry
- earthquake analysis
- Designing airplanes (Virtual wind tunnel)
Trends in HPC.
The Manycore trend.
Putting many CPUs inside a single chip. Multi-core is when you have a few cores, manycore is when you have many, many cores. This has challenges. Programming manycore processors is very cumbersome. Debugging is much harder. e.g. if you need to get good performance out of these chips then you need to do parallel, assembly programming. Parallel programming is hard. Assembly programming is hard. Both together will kill you.
This will be one of the biggest challenges in computer science in the near future. A typical laptop might have 8 to 10 processses running concurrently. So there is automatic parallelism, as long as number of cores is less than 10. But as chips get 30, 40 cores or more, individual processes will need to be parallel. This will be very challenging.
Oceans of Data but the Pipes are Skinny
Data is growing fast. In sciences, humanities, commerce, medicine, entertainment. The amount of information being created in the world is huge. Emails, photos, audio, documents etc. Genomic data (bio-informatics) data is also huge.
Note: data is growing way, way faster than Moore’s law!
Storing things is not a problem – we have lots of disk space. Fetching and finding stuff is a pain.
Challenges in data-intensive systems:
- Amount of data to be accessed by the application is huge
- This requires huge amounts of disk, and very fat interconnects
- And fast processors to process that data
Conventional supercomputing was CPU bound. Now, we are in the age of data-intensive supercomputing. Difference: old supercomputing had storage elsewhere (away from the processor farm). Now the disks have to be much closer.
Conventional supercomputing was batch processed. Now, we want everything in real-time. Need interactive access. To be able to run analytic and ad hoc queries. This is a new, and difficult challenge.
While Vipin was faculty in SUNY Buffalo, they started an initiative for data-intensive discovery initiative (Di2). Now, CRL is participating. Large, ever-changing data sets. Collecting and maintaining data is of course major problem, but primary focus of Di2 is to search in this data. e.g. security (find patterns in huge logs user actions). This requires a new, different architecture from traditional supercomputing, and the resulting Di2 system significantly outperforms the traditional system.
This also has applications in marketing analysis, financial services, web analytics, genetics, aerospace, and healthcare.
High Performance Cloud Services at CRL
Cloud computing makes sense. It is here to stay. But energy consumption of clouds is a problem.
Hence, CRL is focusing on a green cloud. What does that mean?
Data center optimization:
- Power consumption optimization on hardware
- Optimization of the power system itself
- Optimized cooling subsystem
- CFD modeling of the power consumption
- Power dashboards
Workflow optimization (reduce computing resource consumption via efficiencies):
- Cloud offerings
- Workload based power management
- Temperature aware distribution
- Compute cycle optimization
Green applications being run in CRL
- Terrain modeling
- Wind farm design and simulation
- Geophysical imaging
- Virtual wind tunnel
Summary of talk
- Manycore processors are here to stay
- Programmability have to improve
- Must match application requirements to processor architecture (one size does not fit all)
- Computation has to move to where the data is, and not vice versa
- Data scale is the biggest issue
- must co-locate data with computing
- Cloud computing will continue to grow rapidly
- Bandwidth is an issue
- Security is an issue
- These issues need to be solved