Vijay K. Garg Summer 2015
EE w382V: Multicore Computing
Instructor: Prof. Vijay K. Garg ; Office: ACE 5.436
Phone: (512) 471-9424 ; email: firstname.lastname@example.org; Office Hours: Thursday 11:00 - 12:00; or by appointment
TA: Wei-Lun Hung; Office: ACE 5.432
Phone: (512) 660-3468 ; email: email@example.com ; Office Hours: T Th 10:30-11:30 (via google hangout: firstname.lastname@example.org)
Unique Number for wEE 382V : 77073
Class Meeting Days:
June 13 (8am - 5pm), June 19 - 20 (8am - 12pm), June 26 - 27 (8am - 12pm),
July 10 - 11 (8am - 12pm), August 7 - 8 (8am - 12pm)
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.
Following topics will be covered in the course:
Grading: 25 % Assignments, 15 % Exam 1 (in class), 15 % Exam 2 (in class), 5 % Class Presentation,
20 % Term paper, 20 % Exam 3 (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
Concurrent and Distributed Computing in Java by Vijay K. Garg, Wiley & Sons, 2004.
The book will be supplemented with notes provided by the instructor.
Additional Reference Book:
The Art of Multiprocessor Programming, by Herlihy and Shavit, Morgan-Kaufmann Elsevier 2012, (corrected-edition).
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
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.