Computer Science and Computational Science Sampath Kannan, Division Director Computing & Communication Foundations Division National Science Foundation
Outline Need for new technology Challenges from the new technology Bridging the two disciplines NSF/CISE Programs
3 The Challenge: “a right hand turn in Moore’s Law growth” DigitalMedia/43264A_hi_res.jpg AMD Phenom g Intel Woodcrest Single Thread Performance “right hand turn” ascribed to P. Otellini, Intel
Big Scientific Problems Understanding oceans, atmosphere, climate: more sensors for better accuracy -> more data Coupled systems -> more complex computation Biology and medicine: Biology generating lots of data – per individual not per species; 2) metagenomics Smart health: Personalized, ubiquitous health care; telemedicine, telepresence Astrophysics, cosmology … and many others
5 Data Deluge: WSJ Aug 28, 2009 Never have so many people generated so much digital data or been able to lose so much of it so quickly, experts at the San Diego Supercomputer Center say Computer users world-wide generate enough digital data every 15 minutes to fill the U.S. Library of Congress More technical data have been collected in the past year alone than in all previous years since science began, says Johns Hopkins astrophysicist Alexander Szalay The problem is forcing historians to become scientists, and scientists to become archivists and curators
Challenges Hardware Middleware I/O, Storage, … Software Abstractions and formal reasoning Algorithms Power/Energy Resilience to faults
Variety of Hardware Platforms Multicore, many core: How many? How heterogeneous? What interconnects? What memory hierarchy? Non-silicon: bio, nano, quantum Even if applications can be designed for just one of these… computer science demands one (or a few) programming models.
Middleware, I/O Storage Better Distributed Operating Systems Better compilers (automatic parallelism detection, optimization, etc.) Better I/O and intelligent storage systems … should lead to … EASIER PROGRAMMING MODELS
Software Need good programming models Need multiple levels of abstraction for Expert programmers Non-experts Tools for reasoning about correctness and other properties Tools and middleware that allow portability
Energy/Power Efficiency is Critical Power is bottleneck for HPC systems Current systems consume 10’s of MWs of power Costs to operate may be prohibitive Power needed to cool a system approaches the power consumed by the system System failure rate doubles for every 10° C rise in temperature Reducing energy footprint of IT is important goal 10
Fault resilience Not acceptable to deal with faults by hardware replication Expose faults to as high a layer as possible and find robust computing solutions by combination of software and hardware approaches
Computational vs Computer Science Computational Science Goal and Approach: Solve important scientific problems of ever increasing scale Ok if codes are designed for specific platform and application A few standard Simulators and Equation Solvers slightly customized for application and platform
What Computer Science would like Problems specify what should be computed… not how it should be computed… to allow algorithmic and implementation ingenuity Use good, existing software engineering ideas… and seek new ones appropriate for application Solve the challenges in the earlier slides, so that a more generic infrastructure is created for hardware and software layers in HPC
What Computer Scientists Should Do Be a more dependable partner – provide software and tools that are maintained and evolved as needed Understand the domain science issues Appreciate the importance of specific applications Appreciate the importance of computing and data as the 3 rd and 4 th paradigms of science… and the responsibility this gives them
CISE Programs - Core Software + Hardware Foundations (≈ $40 – 50M /per year) supports High Performance Computing Compilers Programming Languages Formal Methods Computer Architecture Nanocomputing Design Automation
Other CISE Programs Computing Research Infrastructure (CRI) … recognizes that software is infrastructure Expeditions in Computing: Our program for bold, ambitious, collaborative research: Upto 3 5-year projects per year, each funded at $10M.
Programs with OCI – 1) HECURA Competitions in FY ’06, ‘08, ’09: NSF (CISE+OCI), DARPA, DoE I/O, File Systems, Compilers, Programming Models, Compilers $10 – 15M each year Not sure when the next competition will be
2) PetaApps Develop the future simulation, optimization and analysis tools that use emerging petascale computing Will advance frontiers of research in science and engineering with a high likelihood of enabling transformative research Areas examined include: - Climate Change -Earthquake Dynamics -Storm Surge Models -Supernovae simulations
3) Software Institutes for Sustained Innovation Creating, maintaining, and evolving software for scientific computing OCI is lead; CISE + Other Directorates participate Current competition has small awards only Workshops sought this year to lay groundwork for large, “Institute” awards in future years
Cyber-Enabled Discovery and Innovation (CDI) 3 rd year of competition ≈$100 M each year Agency-wide Supports projects that advance Two or more disciplines Use of computational thinking Many supported projects are in the area of scientific computing
Conclusion CISE perspective guided by belief that: Today’s High-Performance Computer is tomorrow’s general-purpose computer We must keep developing general ideas that will allow for efficacious use of such machines broadly We cannot predict where the need for these machines will be greatest But today’s science applications are clearly pressing and important