Aviral Shrivastava: Teaching
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.
Prerequisites
Basic undergraduate background in:
- Programming, C/C++/Java
- Computer Organization
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 | |
|
Projects
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
- Dynamic Voltage and Frequency Scaling
- Dynamic Thermal Management
- Power Gating
- Cache Coherency
- Synchronization challenge in shared memory systems
- Distributed Memory Multicores
- GP-GPU Computing
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.