200 likes | 353 Views
Computer Science and Computational Science. Sampath Kannan, Division Director Computing & Communication Foundations Division National Science Foundation skannan@nsf.gov. Outline. Need for new technology Challenges from the new technology Bridging the two disciplines NSF/CISE Programs.
E N D
Computer Science and Computational Science Sampath Kannan, Division Director Computing & Communication Foundations Division National Science Foundation skannan@nsf.gov
Outline • Need for new technology • Challenges from the new technology • Bridging the two disciplines • NSF/CISE Programs
AMD Phenom Intel Woodcrest http://www.amd.com/us-en/assets/content_type/DigitalMedia/43264A_hi_res.jpg http://www.intelstartyourengines.com/images/Woodcrest%20Die%20Shot%202.jpg The Challenge: “a right hand turn in Moore’s Law growth” Single Thread Performance “right hand turn” ascribed to P. Otellini, Intel 3
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
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
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 3rd and 4th 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
3) Software Institutes for Sustained Innovation Creating, maintaining, and evolving software forscientific computing OCI is lead; CISE + Other Directorates participate Current competition has small awards only Workshops sought this year to lay groundwork forlarge, “Institute” awards in future years
Cyber-Enabled Discovery and Innovation (CDI) • 3rd 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