SEMINAR IN COMPUTER SCIENCE -- FALL 2007

Upcoming Advances in Computer Architecture and Their Impact on Software Design

Instructor: Ricardo Bianchini (ricardob@cs.rutgers.edu)
Term: Fall 2007
Tentative schedule: Fridays 1:00-4:00 PM in CoRE A

Overview

Computing is about to undergo a major transformation with the advent of multi-core CPUs, transactional memory, and new RAM technologies. These developments will have a significant impact on the way software is designed, including operating systems, runtime systems, compilers, and programming languages.

The goal of this seminar is to consider the current trends in computer architecture and study the implications of these trends for software design. For instance, how can operating and runtime systems best exploit a CPU with a large number of cores? How should we change the structure of the file system to best exploit fast, persistent memories? What changes should we make to compilers and programming languages to enable (non-scientific) applications to exploit a large number of CPU cores?

In the course of the seminar we will try to answer these and other questions, after reading and discussing the related papers. Another focus of the seminar is a (small) research project.

Prerequisites

Students should be highly motivated and have background on at least one the topics to be addressed in the seminar: computer architecture, operating/runtime systems, compilers, programming languages, and concurrency/parallelism.

Expected Work

Each student will be required to present and lead the discussion of a few research papers. Participation in a (small) research project will also be required. The project may involve addressing some open problem, re-designing a piece of existing software, or simply developing infrastructure that can be used to facilitate further research in one of the topics of the seminar.

General notes about the seminar

Tentative list of papers/topics

Suggested projects: TBA