Vijay K. Garg Fall 2012
EE 382V/EE 379K: Multicore Computing
TTh 2:00 - 3:30, ENS 116
Instructor: Prof. Vijay K. Garg ; Office: ACE 5.436
Phone: 471-9424 ; email: firstname.lastname@example.org; Office Hours: T Th 10:30-12:00 ; or by appointment
Class Meeting Time and Room Number: TTh 2:00 - 3:30, ENS 116
Unique Number for EE 379K : 16925
Unique Number for EE 382V : 17085
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
Following topics will be covered in the course:
Grading: 25 % Assignments, 25 % Exam 1 (in class),
25 % Term paper, 25 % Exam 2 (in class)
- Languages: concurrent languages,
inter-process communication, openMP, MPI
- Consistency condition for concurrent objects:
Sequential consistency, Linearizability
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,
- Parallel Algorithms:
Graph Algorithms, Matrix Algorithms
- Formal Models: Untimed and timed Petri nets, max-plus algebra,
timed automata, real-time logics.
There is no final exam in this course.
Course Material: papers from various Journals. Some of the material would be
based on the book, The Art of Multiprocessor Programming, by Herlihy and Shavit, Morgan-Kaufmann Elsevier 2008.
Course Website: We will use Blackboard System available at
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.
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.