Computer Science and Computational Science
Sampath Kannan, Division Director Computing & Communication Foundations DivisionNational 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”
http://www.amd.com/us-en/assets/content_type/DigitalMedia/43264A_hi_res.jpg
AMD Phenom
http://www.intelstartyourengines.com/images/Woodcrest%20Die%20Shot%202.jpg
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
dataCoupled 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 programmersNon-experts
Tools for reasoning about correctness and other properties
Tools and middleware that allow portability
10
Energy/Power Efficiency is Critical
Power is bottleneck for HPC systemsCurrent systems consume 10’s of MWs of
powerCosts to operate may be prohibitivePower needed to cool a system approaches
the power consumed by the systemSystem failure rate doubles for every 10° C
rise in temperatureReducing 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 scaleOk if codes are designed for specific
platform and applicationA 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) supportsHigh Performance ComputingCompilersProgramming LanguagesFormal MethodsComputer ArchitectureNanocomputing 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 disciplinesUse 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