Texas A&M CPSC 689-608, Spring 2008
Professor Craig C. Douglas
 
Multicore CPU Architectures and Software Development
 
Tuesday 3:55-6:00, Blocker 608M
 
http://www.mgnet.org/~douglas/Classes/multicore
Notes   Homework   Syllabus
 

CPSC 689-608 Spring 2008

Selected topics in an identified area of computer science. May be repeated for credit.

Prerequisites: Approval of instructor.

Specific Course Description for this Term

Central processing units (CPUs) have undergone a revolutionary change recently. CPU vendors ran into technical hurdles (e.g., excessive heat, too high electrical power requirements, and not well understood physics) at increasing the clock speeds that have forced them to switch to putting a number of cores onto CPUs instead of a single core.

The move to a multicore architecture requires a complete change in software development in order to utilize the new CPUs effectively. No longer can programmers just see their programs run faster as clock frequencies increase. Instead coarse grained parallelism becomes of key importance to all new software development, including on single CPU systems.

The goal of the course is to study multicore CPU architectures, implications of hardware designs, software challenges, and emerging technologies relevant to software development for multicore systems. Topics include multicore microprocessors, memory hierarchy, programming models, scheduling, debugging, and memory use. How this relates to software development is the binding issue.

This course will focus on reading, analyzing, and discussing research papers related to multicore systems and developing software for this environment.

Grading

Percentage For what
10 Class participation
10 Paper evaluations
40 Class presentations
10 Presentation evaluations
30 Project

 

Cheers,
Craig C. Douglas

Last modified: