Welcome to Extended Education

Multi-Core Programming

Program Summary
Program Length: 
2-days
Program Dates: 
Available as a custom offering for companies, upon request
Program Fee: 

$895

Location: 
Arizona State University - Tempe Arizona
Overview: 

The emergence of multi-cores will change computing as never before. For a long time, all that application developers needed to speed up their programs was to wait for Intel to roll out the next version of the processor. This steady trend has not only come to a grinding halt, but has started to reverse with the advent of multi-core processors. The performance of a single core in a multi-core processor is decreasing. A single threaded application will only become slower with time. Parallelization is no longer an option, it has now become mandatory. Software companies have to parallelize their applications or face extinction. While last decade saw a tremendous need of software programmers, the greatest need in the coming decade will be of parallel programmers. While multi-core processors are already here, writing parallel programs that will be able to exploit multi-core processors is not a science, and need fundamental understanding of the hardware architecture, and concurrent execution.

Course Topics

This course will start with the emergence and inevitability of multi-core paradigm, and discuss its implications. Then we will go over fundamental concepts of concurrent programming, and give a premier of thread programming. The last session will cover some case studies on parallel programming, including stream programming, programming graphics processors, and programming the cell processor. The course will include a lab on programming on the cell processor.

Topics discussed in this course include:

  • The emergence of multi-core architectures

  • Survey of Multi-core Architectures

  • Fundamental concepts of parallel programming

  • Thread Programming

  • Thread Synchronization and cooperative processing

  • Multithreaded Debugging

  • Parallel Programming

  • OpenMP

  • Programming Graphics Multi processors

  • Programming the Cell Multi processor

  • Assignment on programming on the Cell Processor

Instructors

Dr. Aviral Shrivastava joined ASU in 2006, soon after receiving his Ph.D. from University of California, Irvine. Dr. Shrivastava is a well recognized expert in microarchitectures and compilers of embedded processors, with a focus on low-power computing. Dr. Shrivastava heads the Compiler-Microarchitecture Lab at ASU, with a mission to investigate novel compiler, microarchitectural and cooperative compiler-microarchitecture solutions to the challenges faced by embedded system designers and programmers.

Dr. Shrivastava has developed several novel schemes to reduce power consumption of embedded and high performance processors at both the hardware and software levels. His current research has 3 focuses, power-efficient multi-core computing, reliable software on unreliable hardware, and investigating Coarse-grain reconfigurable architectures. His research is funded by NSF, SFAz, Intel, Microsoft Research, and Raytheon Missile Systems.

Dr. Partha Dasgupta joined ASU in 1991. Prior to ASU, he had teaching appointments with Georgia Tech and New York University. He received his Ph.D. in Computer Science from Stony Brook University.

Dr. Dasgupta's core areas of expertise are in Computer Security, Operating Systems and Distributed Computing. His current research focus is the use of cryptography and secure software systems to provide security and dependability of consumer computing. These technologies have the ability to safeguard naive computer users from attacks that attempt to defraud via spoofing, viruses and spam. In addition, he works with software, hardware and networking techniques for enhancement of security and attack resilience. He has significant prior research results and publications in construction of distributed operating systems, high performance systems and secure computing infrastructures.

Dr. Dasgupta also has experience in industrial consulting, training course development and delivery. His research funding has primarily been from NSF and DARPA with smaller grants from Intel, Microsoft and the Consortium for Embedded Systems. He has 20 years of experience with operating systems and 8 years experience with security systems. He is an accomplished teacher and researcher of topics in computer security and distributed computing.

Who Should Attend

This course will be extremely relevant to all software programmers and computer architects. This course is also intended for professionals who seek to acquire the skill-set needed for the next decade. Soon most computing systems will be multi-cores, and multi-core programming will become an irreplaceable part of application development.

This course will provide a global view of the multi-core landscape, equip the student with the fundamentals of concurrent programming, and provide an overview of the main parallel programming paradigms. This course will provide hands-on programming experience on the cell processor to solidify and situate the learning and provide immediately usable skill.

For more information contact: 

For more information about a custom offering of this program, please contact:

Layla Reitmeier
Coordinator-Professional and Executive Programs
layla@asu.edu
480-965-8515