Aviral Shrivastava: Teaching

Home Publications Teaching Service Lab

ASU 101 CSE 230 CSE 310 CSE 325 CSE 420 CSE 591 PEC CSE 591 ARC Multi-core Programming

Short Course: Low Power and Multicore Computing

Course Abstract

Even though performance was the only metric of processor design in the last century, this century has seen a sea change in the processor design philosophy, centering everything around power-efficiency. Power-efficiency, or how many operations can be performed in one Watt of power is critically important for all computing systems, from embedded systems, like Cell phones, to gaming consoles to data centers and high performance scientific computing. Low power is also the main driving force behind the irreversible and inevitable multicore revolution. This course will connect to dots between low power and multicore computing. Course will start with motivation for and basics of low-power computing. We will learn to basic tools and techniques to estimate thpower consumption of processors. Then in the second part of the course, we will go over major multicore design and programming paradigms. In particular, we will go through shared memory, distributed memory, and GPU acceleration.

Intended Audience

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.


Basic undergraduate background in:

Class Schedule

Class No. Topic Lecture slides Readings
1 Motivation, Importance of Power Efficiency, and Why multicores
2 Power estimation, modeling and optimization
3 Shared Memory multicore computing
4 Distributed memory multicore computing
5 GP-GPU computing


The grading of this course will be done mainly through class participation, and an end-of the term project. Class participation is based on your involvement and reposnsiveness int the class. The end-of term project involves researching on a topic, and then submit, a research report, make a presentation, and present a poster about it. All of these documents must be in english, and although there are three deliverables, they are just three different ways to present your research findings and analysis. You need to pick a research topic from the list below. You are also free to choose a research topic of your own, however, you will have to vet it with the instructors before proceeding on that.

List of Research Topics

For each research topic, you have to find out the why, what, how, and future of the topic. For example, if you choose DTM, or Dynamic Thermal Management, then you must research on i) why do you need DTM, ii) what does DTM mean, iii) how is DTM done, a survey and basic understanding of various ways to do DTM, and finally, iv) future of DTM, or what are the challenges and open problems in DTM, also it's capabilities and limitations study. If you want more clarification on what these questions mean for your particular research topic, please contact the instructors. Finally, the project has to be done in groups of two. As mentioned before, the three deliverables of the research project are report, presentation, and poster.

The report should be no more than 6 pages long in standard ACM proceedings template style, with no less than 10 point font size. The presentation must be approx. 20 min presentation with less than 15 slides. The poster session will be held at the end of the class, and will be open to all the faulty and researchers in the department to see and question you about your posters. Poster evaluation will be done on the "attractiveness" of your poster, and how well you answer the questions.