T10

Multicore Software Engineering

Victor Pankratius, University of Karlsruhe, Germany
Walter Tichy, University of Karlsruhe, Germany
Beverly Bachmayer, Intel, Germany

Tuesday, 4 May 2010 (Full day)

Abstract:

Due to stagnating clock rates, future increases in processor performance will have to come from parallelism. Inexpensive multicore processors with several cores on a chip become standard in PCs, laptops, servers, and embedded devices; manycore chips with hundreds of processors on a single chip are predicted. Software engineers are now asked to write parallel applications of all sorts, and need to quickly grasp the relevant aspects of general-purpose parallel programming. This tutorial prepares them for this challenge.

The first part presents state-of-the-art concepts and techniques in multicore software engineering, such as basics of parallel programming, programming models, design patterns for parallelism, parallelism in modern programming languages, and testing and debugging techniques for multicore. Experience reports on the parallelization of realworld applications with over hundred thousand lines of code are used for illustration. The tutorial also addresses current research topics.

The second part consists of hands-on exercises. Intel will provide 16 laptops with pre-installed environments and professional tools for multicore performance monitoring and debugging. Participants will work in groups of 2-3 people and apply the concepts taught in the first part by learning about important software tools and using them to examine and modify provided sample code.

Presenters:

Dr. Pankratius heads the young investigator “Software Engineering for Multicore Systems’’ group at the University of Karlsruhe, Germany. He serves as the elected chairman of the "Software Engineering for parallel Systems" international working group in the German Computer Science Society. Dr. Pankratius' current research concentrates on how to make parallel programming easier for the average programmer. His work on multicore software engineering covers a range of research topics including empirical studies, autotuning, language design, and debugging. Dr. Pankratius received the Intel Leadership Award for his work in Multicore Software Engineering and holds a Ph.D. with distinction from the University of Karlsruhe, Germany. He received a Diplom degree (M.S.) in Business Computer Science best of class from the University of Münster, Germany and a Bachelor of Science in Information Systems from the same university. He served as a reviewer in many international conferences and journals, and coorganized international conferences and workshops, e.g., the series on Multicore Software Engineering collocated with ICSE. He is a member of the ACM, IEEE, and the German Computer Science Society.

Walter F. Tichy has been professor of Computer Science at the University of Karlsruhe, Germany, since 1986, and was dean of the faculty of computer science from 2002 to 2004. Previously, he was senior scientist at Carnegie Group, Inc., in Pittsburgh, Pennsylvania and served six years on the faculty of Computer Science at Purdue University in West Lafayette, Indiana. His primary research interests are software engineering and parallelism. He is currently directing research on a variety of topics, including empirical software engineering, software architecture, software tools, cluster computing, and programming environments for multicore computers. He has consulted widely for industry. He earned an M.S. and a Ph.D. in Computer Science from Carnegie Mellon University in 1976 and 1980, resp. He is a director at the Forschungszentrum Informatik, a technology transfer institute. He is cofounder of ParTec, a company specializing in cluster computing. He was program co-chair for the 25th International Conference on Software Engineering (2003). Dr. Tichy is a member of ACM, GI, and the IEEE Computer Society.