Vijay K. Garg Fall 2014
EE 382V/EE 379K: Multicore Computing
TTh 3:30 - 5:00, CPE 2.212
Instructor: Prof. Vijay K. Garg ; Office: ACE 5.436
Phone: 471-9424 ; email: garg@ece.utexas.edu; Office Hours: T Th 11:30-12:30 ; or by appointment
Class Meeting Time and Room Number: TTh 3:30 - 5:00, CPE 2.212
Unique Number for EE 379K : 17315
Unique Number for EE 382V : 17435
Prerequisites for EE 379K: Upper-division standing.
Prerequisites for EE 382V : Graduate standing.
Course Contents: There has been a radical shift in computers in recent years. Almost
all computers are now multicore. Since the speed of individual sequential processor is not increasing,
the only way to improve performance for applications is to harness the multiple cores.
In this course we will look at the challenges and techniques in programming
these systems. The course
will expose students to theoretical
as well as practical aspects of designing multicore software systems.
It assumes that the student has undergraduate level knowledge of
programming, data structures, operating systems, computer architecture, and algorithms.
There will be five assignments, three of which will
require programming.
Following topics will be covered in the course:
- Languages: concurrent languages,
inter-process communication, openMP
- Consistency condition for concurrent objects:
Sequential consistency, Linearizability
- Synchronization:
Lock based synchronization, Lock-free synchronization,
Wait free synchronization, consensus number, software transactional memory
- Testing and Debugging Parallel Programs:
Race detection, Deterministic replay, Global Predicate Detection
- Concurrent Data Structures:
Concurrent stacks, queues, linked lists, hashing, skiplists
- Mechanical Analysis of systems: Temporal Logic, Modal checking, reachability analysis,
Using SPIN
- Parallel Algorithms:
Graph Algorithms, Matrix Algorithms
- Formal Models: Untimed and timed Petri nets, max-plus algebra,
timed automata, real-time logics.
Grading: 35 % Assignments, 20 % Exam 1 (in class),
25 % Term project, 20 % Exam 2 (in class)
There is no final exam in this course. Instead, students are required to do a term project.
Students in EE 382V have to submit a term paper based on their project and give a
class presentation. Students in EE 379K
would be required to give a demo of their project to the instructor.
Course Material: papers from various conferences and journals. Some of the material would be
based on the book, The Art of Multiprocessor Programming, by Herlihy and Shavit, Morgan-Kaufmann Elsevier 2012.
Slides from 2009 edition
Slides for 2012 edition (preferable)
Course Website: We will use Canvas System available at
http://courses.utexas.edu
Add/Drop Policy:
Adds and drops for graduate students taking graduate courses are not approved
after the twelvth class day except for good cause. Applications for approval
to drop a course after the twelveth class day should be made in the Graduate
ECE Office in ENS 101.
Honor Code:
The core values of the University of Texas at Austin are learning, discovery,
freedom, leadership, individual opportunity, and responsibility. Each member of
the University is expected to uphold these values through integrity, honesty,
trust, fairness, and respect toward peers and community.
Pending Absence: By UT Austin policy, you must notify me of your pending absence at least
fourteen days prior to the date of observance of a religious holy day. If you must
miss a class, an examination, a work assignment, or a project in order to observe
a religious holy day, you will be given an opportunity to complete the missed
work within a reasonable time after the absence.
Students with Disabilities: The University of
Texas at Austin provides upon request appropriate academic adjustments for
qualified students with disabilities. For more information, contact the Office
of the Dean of Students at 471-6259, 471-4241 TDD or the College of Engineering
Director of Students with Disbailities at 471-4382.
vijay garg
2012-08-25