Vijay Saraswat, Vivek Sarkar, Christoph von Praun
IBM Research
Overview:
The tutorial will give attendees a quick comparative view of current programming models for high performance computing: MPI, OpenMP, UPC/Co-Array Fortran and one-sided communication models (ARMCI and LAPI). Based on this analysis, the X10 programming model will be introduced and developed through several programming examples. Running code examples will be provided in the X10 programming language, with some illustrations drawn from the X10 C programming library. After the tutorial, the programmer should be able to write medium-sized applications in the X10 programming language, and run them on the reference implementation. They should be able to use this experience to analyze their code in MPI/OpenMP/UPC and use the initial C library implementation to prototype their code. Participants will be encouraged to download the X10 programming language reference implementation from the IBM website and experiment with it prior to and after the tutorial.
Outline:
Duration:
This will be a half-day (4 hour) tutorial.
Target Audience:
Researchers, practitioners and educators.
Organizers:
Vijay Saraswat joined IBM Research in 2003, after a year as a Professor at Penn State, a couple of years at startups and 13 years at Xerox PARC and AT&T Research. His main interests are in programming languages, constraints, logic and concurrency. At IBM, he leads the work on the design of X10, a modern object-oriented programming language intended for scalable concurrent computing. He also leads the DEEP project, which is developing a programming model for real-time event-based systems, based on combining modern object-oriented languages with Esterel-like synchronous constructs. Over the last twenty years he has lectured at most major universities and research labs in USA and Europe. Vijay has taught courses on programming languages, real-time programming and a NATO Summer School on constraint programming. He received a B.Tech. degree in Electrical Engineering from the Indian Institute of Technology (Kanpur) in 1982, and an M.S. and PhD in Computer Science from Carnegie-Mellon University (in 1977 and 1989 respectively). He has authored one book, edited three, published dozens of papers and holds several US patents.
Vivek Sarkar is Senior Manager of the Programming Technologies Department in the IBM Research Division, and is a member of the IBM Academy of Technology. The projects under way in his department span the areas of 1) Programming Models and Language Design: X10, XJ, Symbiotic, 2) Programming Tools: Advanced Refactoring, Eclipse Parallel Tools, SAFE (Scalable And Flexible Error detection), Legacy Transformation (Mastery), and 3) Deployment, Optimization and Execution: Metronome, Jikes RVM, PDS (Progressive Deployment System). Vivek’s personal research interest is in advancing the state of the art of programming models, tools, and optimizing and parallelizing compilers to deliver improved productivity and performance benefits to users of high-performance systems. He leads the PERCS Programming Model and Tools project, which includes work on the X10 language and on Eclipse Parallel Tools. In the past, he has worked on several compiler-related projects at IBM including the PTRAN and Jikes RVM research projects at Watson, and the ASTI project at IBM Santa Teresa Laboratory which provided the foundation for high-level locality optimizations and OpenMP and HPF parallelization in IBM’s XL Fortran product compilers. Dr. Sarkar has published over 80 papers in the area of optimizing and parallelizing compilers. He holds a B.Tech. degree from the Indian Institute of Technology, Kanpur, an M.S. degree from University of Wisconsin-Madison, and a Ph.D. from Stanford University. In 1997, he was on sabbatical as a visiting associate professor at MIT, where he was a founding member of the MIT RAW project.
Christoph von Praun is a Research Staff Member at the T.J Watson Research Center in Yorktown Heights. His main research interests are programming models, languages, and their implementation on parallel computers. He is a member of the design and development team of the X10 programming language and runtime system. He also works on efficient synchronization techniques for multiprocessor architectures and a software framework for Hierarchically Tiled Arrays. Christoph received a Diploma in Computer Science from the Technische Universitaet Munich and a Ph.D. in Computer Science from ETH Zurich. He joined IBM in 2004.