Two very interesting reports on the future of computing were issued last week. A December 16th entry in this blog discussed “Designing a Digital Future: Federally Funded Research and Development in Networking and Information Technology,” issued by the President’s Council of Advisors on Science and Technology (PCAST). (More about the PCAST report in a New York Times story here.)
But another report from the Computer Science and Telecommunications Board’s (CSTB) Committee on Sustaining Growth in Computing Performance — “The Future of Computing Performance: Game Over or Next Level?” — details the technical challenges that we will face in providing the computing horsepower to support the digital future described by PCAST.
We have all heard of the coming qualitative changes in microprocessors. Clock speeds have reached practical barriers and the introduction of many-core processors seems to be the only way to deliver the increased performance powering the applications that have changed our lives. But this means that parallel programming must go mainstream and can no longer just be the province of scientific high performance computing.
A diverse set of authors from academia and industry have written this call to action recommending “that our nation place a much greater emphasis on IT and computer-science research and development focused on improvements and innovations in parallel processing, and on making the transition to computing centered on parallelism.”
Attention must be paid to these high priority needs (from the report):
• Algorithms that can exploit parallel processing.
• New computing “stacks” (applications, programming languages, compilers, runtime/virtual machines, operating systems, and architectures) that execute parallel rather than sequential programs and that effectively manage software parallelism, hardware parallelism, power, memory, and other resources.
• Portable programming models that allow expert and typical programmers to express parallelism easily and allow software to be efficiently reused on multiple generations of evolving hardware.
• Parallel-computing architectures driven by applications, including enhancements of chip multiprocessors, conventional data-parallel architectures, application-specific architectures, and radically different architectures.
• Open interface standards for parallel programming systems that promote cooperation and innovation to accelerate the transition to practical parallel computing systems.
• Engineering and computer-science educational programs that incorporate an increased emphasis on parallelism and use a variety of methods and approaches to prepare students better for the types of computing resources that they will encounter in their careers.
The report goes on to highlight fundamental power and energy constraints, which even with these best efforts might hinder our progress. The authors call for “research and development on much more power-efficient computing systems at all levels of technology, including devices, hardware architecture, and software systems.”
Combined with the PCAST report, we have two timely calls to action that warrant reading and reflection over the next weeks.
(Contributed by Bill Feiereisen, Intel Corp.)