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
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.


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


Craig C. Douglas

Last modified: