Sc09-general-panel-abstract
From Education
Multicore platforms are transforming the nature of computation. Increasingly, FLOPs are free, but the people who know how to program these petascale, manycore platforms are not. This panel, composed of a diverse set of industry and academic representatives, is focused on presenting and discussing the abstractions, models, and (re-)training necessary to move parallel programming into a broad audience. The panelists, often fierce competitors, will present the situation from their respective viewpoints, likely fueling a lively discussion of the entire room as has been seen recently in other venues.
Dr. Michael Wrinn, Intel Corporation
The computing industry has moved decisively to parallel platforms, making these the norm. This move is profoundly disruptive, an irreversible expansion beyond the serial, Von Neumann architectures which had dominated the discipline from inception. As hardware trends accelerate ever faster in this new direction, toward manycore and heterogeneous systems, the software industry struggles to adapt; a half century of legacy investment needs attention, and more seriously: an entire workforce needs retraining. Academic programs are a key part of this required adaptation, yet are, traditionally, the slowest to change.
Attendees to SC 09 are among the small group of professionals already comfortable with parallel computing. Which of concepts and practices from this group will apply to the mainstream? How can we help adjust the pace of change in academic CS departments (other disciplines, notably Biology, have shown it to be possible)? The panelists – some sharp competitors in the marketplace – share a common interest in getting this done right, and done soon.
Michael Wrinn manages the Intel team chartered to help bring parallel computing into the academic mainstream. He has managed Intel's software engineering lab in Shanghai, directed the human interface technology research, and was Intel's representative to the committee which produced the first OpenMP specification. Before joining Intel, Michael worked at Accelrys (San Diego), implementing commercial and research simulation codes on a wide variety of parallel/HPC systems. He holds a Ph.D. (in quantum mechanics) and a B.Sc. (mathematics/chemistry/physics) from McGill University.
Dr. Steven Parker, NVIDIA Corporation
Writing software for highly parallel or concurrent systems was once a specialized field. However, it is now the norm – web developers must think about concurrency in the internet, computationally intensive applications must use unprecedented degrees of parallelism to improve performance, and highly interactive applications must manage parallelism on a number of levels simultaneously. Computer science education has been slow to adapt to this world – concurrency is taught in a few specialized classes or perhaps sprinkled as a little spice throughout the curriculum. This simply is not representative of the world that students will face when they graduate. There are no more excuses – once rare multiprocessor systems are now the vast majority of machines sold, and GPUs in nearly every PC are some of the most sophisticated parallel systems available today. Furthermore, parallel libraries and programming languages such as NVIDIA’s CUDA are available for free.
Computer science education runs an ever growing risk of becoming irrelevant unless we accept parallelism as a “matter of fact” in all phases of the undergraduate and graduate curriculum.
Dr. Steven G. Parker is a Principal Research Scientist at NVIDIA corporation and adjunct faculty at the University of Utah. He has published over 100 papers on high-performance computing and interactive ray tracing. Dr. Parker received his B.S. in Electrical Engineering at the University of Oklahoma in 1992 and his PhD. in Computer Science from the University of Utah in 1999. He does not hire graduates that do not have an extensive background in parallelism.
Dr. Matthew Wolf, Georgia Tech
Power is what's driven us to multicore as a way to make use of the transistor density that Moore's Law is giving us. In part that decision was made because it opens up more possibilities than some of the alternatives (like just shrinking the die package). However, opening up more possibilities means training the masses in how to use it, and the deep memory hierarchies really contradict the threading model that we've been pushing (when we have been pushing it) in our undergraduate curriculum. Even just restricted to HPC, MPI + OpenMP have been the suggested "next generation" model... and that isn't going to suffice for heterogeneous multicores. OpenMP just doesn't have the flexibility, although it's better than nothing. We need to start the models that would transform existing strategies.
Dr. Matthew Wolf is a member of the Center for Experimental Research in Computer Systems (CERCS) at Georgia Tech. His position is as a Research Scientist in the School of Computer Science of the College of Computing at Georgia Institute of Technology, as well as being a joint appointment with Oak Ridge National Laboratory. His research targets high performance, real-time applications, particularly in the scientific collaboration space.
Dr. Tom Murphy, Contra Costa College As a community college Computer Science program chair, I must prepare students to successfully transfer to four-year colleges and universities. Community colleges also have the charter to provide training to working practitioners allowing them to further their professional careers.
Since single-core processors will no longer be manufactured, this means my preparation must include an understanding of many-core and multi-core architectures and the ability to design and create needed parallel and distributed programs.
As a member of the supercomputing education executive committee, I am focused on preparing faculty. Faculty might agree with the mandate to educate students to be prepared for the multicore world, however the underlying problem is most faculty don't know this information themselves.
Professor Tom Murphy is the CS Program Chair and Director of Contra Costa College HPC Regional Education Training Center
Tom is teaching and advancing Computational Science Education. He helps lead weeklong Parallel and Distributed Programming workshops across the US through the SC and National Computational Science Institute. He is member of the SC07-11 Education Program steering committee the SC07-09 Education Program, making it a year-round effort, complete with a student programming contest. Through this process he has designed, built, and refined an inexpensive, portable computational cluster (http://LittleFe.net).
Dr. Benedict R. Gaster, Advanced Micro Devices
There are now numerous parallel programming languages and frameworks for writing software for all pervasive many-core architectures, but still the majority of programming is sequential and it is not at all clear how many developers are actively working with parallel algorithms. It can be argued that academics have been slow to adapt to the changing world of software of software development but is it easy to see why when wall to scale is steep; for example, which parallel programming model, which parallel programming language, which parallel architecture should we teach? However, this can be misleading as while there are many parallel languages, e.g Thread Building Blocks, OpenMP, Posix threads, Java 7’s Fork/Join, OpenCL, and the list goes on and on, the actually models themselves, e.g. data parallel and fork/join, are present in one form or another in all of these languages.
Of course, sometimes there are new ideas and models that cause a shift in thought, e.g. Nested Data Parallelism, but generally these models are well understood and the choice of which language or framework to teach is less important than getting these models across to today’s and future students. There is no going back, Moore’s law is more and more cores, and the industry, the world, needs graduates with a base in parallel programming and in particular parallel models!
Ben is an architect in AMD’s OpenCL team. OpenCL is a new parallel programming model for data and task parallelism and its interest only highlights the growing interest in finding solutions for programming many-core devices. He is a member of OpenCL program standards group at Khronos, where he is responsible for the C++ OpenCL API, and is actively involved in public education for this emerging parallel programming model.
To Be Added Adobe & Dream Works