Computational science is the field of study concerned with constructing mathematical models and numerical techniques that represent scientific, social scientific or engineering problems and employing these models on computers, or clusters of computers to analyze, explore or solve these models. Numerical simulation enables the study of complex phenomena that would be too expensive or dangerous to study by direct experimentation. The quest for ever-higher levels of detail and realism in such simulations requires enormous computational capacity, and has provided the impetus for breakthroughs in computer algorithms and architectures.
Due to these advances, computational scientists and engineers can now solve large-scale problems that were once thought intractable by creating the related models and simulate them via high performance compute clusters or supercomputers. Simulation is being used as an integral part of the manufacturing, design and decision-making processes, and as a fundamental tool for scientific research. Problems where high performance simulation play a pivotal role include for example weather and climate prediction, nuclear and energy research, simulation and design of vehicles and aircrafts, electronic design automation, astrophysics, quantum mechanics, biology, computational chemistry and more.
Computation is commonly considered the third mode of science, where the previous modes or paradigms were experimentation/observation and theory. In the past, science was performed by observing evidence of natural or social phenomena, recording measurable data related to the observations, and analyzing this information to construct theoretical explanations of how things work. With the introduction of high performance supercomputers, the methods of scientific research could include mathematical models and simulation of phenomenon that are too expensive or beyond our experiment’s reach. With the advent of cloud computing, a fourth mode of science is on the horizon.
The concept of computing “in a cloud” is typically referred as a hosted computational environment (could be local or remote) that can provide elastic compute and storage services for users per demand. Therefore the current usage model of cloud environments is aimed at computational science. But future clouds can serve as environments for distributed science to allow researchers and engineers to share their data with their peers around the globe and allow expensive achieved results to be utilized for more research projects and scientific discoveries.
To allow the shift to the fourth mode of “science discovery,” cloud environments will need not only to provide capability to share the data created by the computational science and the various observations results, but also to be able to provide cost-effective high performance computing capabilities, similar to that of today’s leading supercomputers, in order to be able to rapidly and effectively analyze the data flood. Moreover, an important criteria of clouds need to be fast provisioning of the cloud resources, both compute and storage, in order to service many users, many different analysis and be able to suspend tasks and bring them back to life in a fast manner. Reliability is another concern, and clouds need to be able to be “self healing” clouds where failing components can be replaced by spares or on-demand resources to guarantee constant access and resource availability.
The use of grids for scientific computing has become successful in the fast years and many international projects led to the establishment of worldwide infrastructures available for computational science. The Open Science Grid provides support for data-intensive research for different disciplines such as biology, chemistry, particle physics, and geographic information systems. Enabling Grid for ESciencE (EGEE) is an initiative funded by the European Commission that connects more than 91 institutions in Europe, Asia, and United States of America, to construct the largest multi-science computing grid infrastructure of the world. TeraGrid is an NSF funded project that provides scientists with a large computing infrastructure built on top of resources at nine resource provider partner sites. It is used by 4000 users at over 200 universities that advance research in molecular bioscience, ocean science, earth science, mathematics, neuroscience, design and manufacturing, and other disciplines. While grids can provide a good infrastructure for shared science and data analysis, several issues make the grids problematic to lead the fourth mode of science — limited software flexibility, applications typically need to be pre-packaged, non elasticity and lack of virtualization. Those missing items can be delivered through cloud computing.
Cloud computing addresses many of the aforementioned problems by means of virtualization technologies, which provide the ability to scale up and down the computing infrastructure according to given requirements. By using cloud-based technologies scientists can have easy access to large distributed infrastructures and completely customize their execution environment. Furthermore, effective provisioning can support many more activities and suspend or bring to life activities in an instant. This makes the spectrum of options available to scientists wide enough to cover any specific need for their research.
In many scientific fields of studies, the instruments are extremely expensive, and as such, the data must be shared. With this data explosion and as high performance systems become a commodity infrastructure, the pressure to share scientific data is increasing. That resonates well with the emerging cloud computing trend. While for the moment cloud computing appears to be a cost effective alternative for IT spending, or the shift of enterprise IT centers from capital expense to operational expense, research institutes have started exploring how cloud computing can create the desired compute centralization and an environment for researchers to chare and crunch the flood of data. One example is the new system at the National Energy Research Scientific Computing Center (US), named “Magellan.” While Magellan’s initial target is to provide a tool for computational science in a cloud environment, it can be easily modified to become a center for data processing accessed by many researchers and scientists
Until recently, high performance computing has not been a good candidate for cloud computing due to its requirement for tight integration between server nodes via low-latency interconnects. The performance overhead associated with host virtualization, a prerequisite technology for migrating local applications to the cloud, quickly erodes application scalability and efficiency in an HPC context. The new virtualization solutions such as KVM and XEN aim to solve the performance issue by allowing native performance capabilities from the virtual machines by reducing the virtualization management overhead and by allowing direct access from the virtual machines to the network.
High-speed networking is a critical requirement for affordable high performance computing, as clusters of servers and storage need to be able to communicate as fast as possible between them. A vast majority of the world top 100 supercomputers are using the high-speed InfiniBand networking due to this reason, and the interconnect allows those systems to reach to more than 90 percent efficiency, a critical element for effective for high performance computing in any infrastructure, including clouds. National Energy Research Scientific Computing Center (NERSC, US) “Magellan” system is using InfiniBand as the interconnect to provide the fastest connection between servers and storage in order to allow the maximum gain from the system, highest efficiency and an infrastructure that will be able to analyze data in real time.
Power consumption is another important issue for high performance clouds. As the HPC clouds become bigger, affordability of science discovery will be determined by the ability so the save the costs of the power and cooling. Power management, which is implemented within the CPUs, the interconnect and the system management and scheduling will need to be integrated as a comprehensive solution. Non utilized sections of the clouds need to be powered off or moved into power saving states and the scheduling mechanism will need to incorporate topology awareness.
The HPC Advisory Council HPC|Cloud group is working to investigate the creation and usage models of clouds in HPC. Past activities on smart scheduling mechanisms have been published on the council’s Web site, and future results will include the usage of KVM and XEN, manycore CPUs (such as AMD’s Magny-Cours which includes 12 cores in a single CPU) and cloud management software (such as Platform ISF) will be published throughout 2010. The HPC Advisory Council will continue to investigate the emerging technologies and aspects that will lead us into the fourth mode of science.
The authors would like to thank Cydney Stevens for her vision and guidance.