All Symposium Tutorials
(open to all attendees at no additional charge)
Tuesday, April 20th at 7:00 PM
MapReduce Programming with Apache Hadoop
Presenter: Milind Bhandarkar
Yahoo! Inc. (Hadoop Solutions Architect)
Abstract: Apache Hadoop has become the platform of choice for developing large-scale data-intensive applications. In this tutorial, we will discuss design philosophy of Hadoop, describe how to design and develop Hadoop applications and higher-level application frameworks to crunch several terabytes of data, using anywhere from four to 4,000 computers. We will discuss solutions to common problems encountered in maximizing Hadoop application performance. We will also describe several frameworks and utilities developed using Hadoop that increase programmer-productivity and application-performance.
Bio: Milind Bhandarkar has been contributing and working with Hadoop since version 0.1.0. He started the Yahoo! Grid solutions team focused on training, consulting, and supporting hundreds of new migrants to Hadoop. He has been focused on parallel programming languages and paradigms for over 20 years. He worked at the Center for Development of Advanced Computing (C-DAC), Center for Simulation of Advanced Rockets, Siebel Systems, and Pathscale Inc. (acquired by QLogic) before settling at Yahoo! in 2005.
Thursday, April 22nd at 7:00 PM
Parallel Computing with CUDA
Presenter: Michael Garland
Abstract: NVIDIA's CUDA architecture provides a powerful platform for writing highly parallel programs. By providing simple abstractions for hierarchical thread organization, memories, and synchronization, the CUDA programming model allows programmers to write scalable programs without the burden of learning a multitude of new programming constructs. The CUDA architecture can support many languages and programming environments, including C, Fortran, OpenCL, and DirectX Compute. In this tutorial, I will provide an overview of modern GPU processor design and its implications for successful parallel programming models. I will present the programming model defined by the CUDA architecture, and demonstrate how this is exposed in the C/C++ language. Finally, I will sketch some techniques for implementing common data-parallel algorithms in the CUDA model.
Bio: Michael Garland is a research scientist at NVIDIA and one of the founding members of NVIDIA Research. Dr. Garland holds B.S. and Ph.D. degrees in Computer Science from Carnegie Mellon University, and is an adjunct professor in the Department of Computer Science of the University of Illinois at Urbana-Champaign. He has published numerous articles in leading conferences and journals on a range of topics including surface simplification, remeshing, texture synthesis, novice-friendly modeling, free-form animation, scientific visualization, graph mining, and visualizing complex graphs. His current research interests include computer graphics and visualization, geometric algorithms, and parallel algorithms and programming models.