Vijay K. Garg Fall 2016
EE 382C: Multicore Computing
Instructor: Prof. Vijay K. Garg ; Office: POB 5.436
Phone: (512) 471-9424 ; email: firstname.lastname@example.org; Office Hours: Thursday 11:00 - 12:00; or by appointment
TA: Changyong Hu; Office: POB 5.438
Unique Number for EE 382C : 16961
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: 30 % Assignments, 15 % Exam 1 (in class), 15 % Exam 2 (in class), 5 % Class Presentation,
15 % Term paper, 20 % Exam 3 (in class)
- Languages: concurrency primitives in Java, openMP, Java Parallel Streams
- Consistency condition for concurrent objects:
Sequential consistency, Linearizability
Lock based synchronization, Lock-free synchronization,
Wait free synchronization, consensus number, software transactional memory
- Barriers:Scalable Algorithms
- 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,
- GPU: Simple CUDA programming
- Parallel Algorithms:
Graph Algorithms, Matrix Algorithms
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.