PICASso Course Listing

Click here for complete Princeton course offerings

 
Spring 2008
 

 

PICASso/COS 598A:  Parallel Architectures and Programming

Instructors: Jaswinder Pal Singh and Kai Li
Time: Mondays 1:30 to 4:20 (starting Monday Feb 5, '07)
Location: Computer Science Rm 401

 

Parallel computing is a mainstay of modern computation and information analysis and management, ranging from scientific computing to information and data services.  The inevitable and rapidly growing adoption of multi-core parallel architectures within a processor chip by all of the computer industry pushes explicit parallelism to the forefront of computing for all applications and scales, and makes the challenge of parallel programming and system understanding all the more crucial.  The challenge of programming parallel systems has been highlighted as one of the three greatest challenges for the computer industry by leaders of even the largest desktop companies.

This course caters to students from all departments who are interested in using parallel computers of various scales to speed up the solution of problems. It also caters to computer science and engineering students who want to understand and grapple with the key issues in the design of parallel architectures and software systems.  A significant theme of the treatment of systems issues is their implications for application software, drawing the connection between the two and thereby making the systems issues relevant to users of such systems as well.  In addition to general programming and systems, there will be a significant focus on the modern trend toward increasingly more parallel multi-core processors within a single chip.

The first two thirds of the course will focus on the key issues in parallel programming and architecture.  In the last third, we will examine some advanced topics ranging from methods to tolerate latency to programming models for clustered commodity systems to new classes of information applications and services that strongly leverage large-scale parallel systems. Students will do a parallel programming project, either with an application they propose from their area of interest or with one that is suggested by the instructors. Students will have dedicated access to two kinds of multi-core processor systems in addition to large-scale multiprocessors for their projects.
 
Week 1: Overview of Parallel Architecture
Motivation for parallel systems; history of programming models, architectures and convergence to modern system design; fundamental design issues; trends in modern processor and communication architecture and in the usage of parallel computers.
 
Week 2: Parallel Programs
A structured process for parallelizing applications, illustrated through some representative case studies.  What parallel programs look like in three programming models: a shared address space, explicit message passing, and a model proposed for multicore processors.  Synchronization and coordination methods for parallel programs, including multithreading and event-based pipeline models.
 
Week 3: Shared Memory Multiprocessors
Overview of small-scale cache-coherent shared address space multiprocessors that have a uniformly accessible memory system.  Overview of cache coherence and memory consistency, and an introduction to the design space of protocols and their tradeoffs.  How synchronization is implemented in such systems, and the implications for parallel software.
 
Week 4: Multicore Processors and Project Proposal Presentations
An in-depth look at the history, motivation and trends in on-chip parallel design at processor scale, namely the inevitable trend toward modern multi-core processors.  Design issues for these systems, industrial case studies, and future directions.  Students discuss projects they plan to do for the course, chosen from their own ideas or ones that the instructors provide.
 
Week 5: Programming for Performance
An exploration of the key issues in writing high performance parallel programs, following the stages of the structured process above.  Focus on the shared address space model.  Load balancing, data locality, communication cost, etc. An in-depth look at some case studies, and the implications for programming models.
 
Week 6: Workload-driven Evaluation and Project Status
Issues in evaluating parallel systems and design tradeoffs using application workloads.  Methods for scaling workloads and machines, for evaluating real systems, and for evaluating ideas and tradeoffs through simulation. Characterizing workloads for use in system evaluation.
 
Week 7: Scalable Computers
The design of scalable systems, which involve physically distributing memory with  processing nodes. Methods for realizing programming models in distributed-memory systems, and the relationship between support in the communication architecture and efficiency of realizing programming models. The implications of communication architecture support for the design of application software.  Scalable synchronization methods.
 
Week 8: Directory-based Cache Coherence
Supporting a cache-coherent shared address space on scalable systems with physically distributed memory. An overview of directory-based approaches, assessment of key tradeoffs and design challenges, and implications for the design of application software. Synchronization in such systems, and case studies of commercial realizations.
 
Week 9: Latency Tolerance
Methods for tolerating the high latency of memory access and inter-processor communication, which unlike bandwidth and processing limitations is not solved by throwing more money at the problem. Trading bandwidth for latency, using techniques like precommunication, block data transfer, relaxed memory consistency models, and multithreading within a processing core.
 
Week 10: Clusters and their Applications
Commodity-based systems that do not lend themselves well to supporting a cache-coherent shared address space, but that are increasingly important in practice and at large scale, for both scientific computing as well as scalable information services.  Programming models for such systems, including a symmetric but non-coherent shared address space (using the Unified Parallel C example) and explicit message passing.  Implications for application software.
 
Week 11: Utility Computing and Scalable Information Services
Large data centers and scalable internet services (e.g. e-commerce and search) are increasingly important users of scalable computing systems.  Issues that arise in utility computing and in scalable information systems, and their implications for the design of programming models and underlying software libraries.
 

Week 12: Future Directions and Project Final Presentations


 

MAT 342/APC 342  Numerical Methods (QR) 

Numerical Methods
(QR)

Professor(s): Weinan E

Description/Objectives:
Introduction to numerical methods with emphasis on algorithms, applications and computer implementation issues. Solution of nonlinear equations. Numerical differentiation, integration, and interpolation. Direct and iterative methods for solving linear systems. Numerical solutions of differential equations, two-point boundary value problems. Topics in approximation theory. Lectures are supplemented with numerical examples using MATLAB.

Reading/Writing Assignments: Homework assignments in the course consist of both theoretical and computational work. For the computational component, students should use a language/environment that possesses high-level data types so that more time may be spend working with algorithms and not worrying about coding (e.g., MATLAB, C++ with appropriate class libraries)

Requirements/Grading:
Take Home Final Exam: 50%
Problem Set(s): 50%

Prerequisites and Restrictions: MAT 201 and 202, or 203 and 204

Other Information: This is an introductory course designed for upperclass undergraduates and beginning grad students in fields related to applied math and engineering. Special attention is paid to balancing implementation and algorithm development. Students are expected to accumulate hands-on experience by programming and running numerical simulations assigned as homework problems.

Schedule/Classroom Assignment:
Class Number: 42125 - Class C01 : 11:00 am - 12:20 pm T Th
    Fine Hall (FINEH) 401   Location  Photo 

 

MOL 360/APC 360  Biological Dynamics (QR) 

Biological Dynamics
(QR)

Professor(s): Ned S. Wingreen, Manoj Srinivasan

Description/Objectives:
This course is designed for students in the biological sciences with some basic background in mathematics, but who might not plan to pursue further study in mathematics. It is intended to be a survey of relevant mathematical methods commonly used in the biological sciences, including differential equations, linear algebra, time series analysis, finite difference equations, and probability and likelihood.

Sample Reading List:
Daniel Kaplan and Leon Glass , Understanding Nonlinear Dynamics

Reading/Writing Assignments: The course has four themed sections, each with textbook reading, a classic paper, problems, and a quiz.

Requirements/Grading:
Midterm Exam: 17%
Final Exam: 33%
Oral Presentation(s): 17%
Problem Set(s): 33%

Prerequisites and Restrictions: MAT103

Other Information: This course is well-suited for pre-med students, or those who plan to do graduate work and want to learn the basics of some powerful mathematical techniques.

Related Web Site

Schedule/Classroom Assignment:
Class Number: 40597 - Laboratory B01 : 7:30 pm - 9:30 pm W
    Moffett Laboratory (MOFFH) 116   Location  Photo
Class Number: 40596 - Lecture L01 : 3:00 pm - 4:20 pm T Th
    Thomas Laboratory (THOML) 118   Location  Photo

 

 

AST 560  Computational Methods in Plasma Physics 

Computational Methods in Plasma Physics
Professor(s): Stephen C. Jardin

Description/Objectives:
Analysis of methods for the numerical solution of the partial differential equations of plasma physics, including those of elliptic, parabolic, hyperbolic, and eigenvalue type. Topics include finite difference, finite element, spectral, particle-in-cell, Monte Carlo, moving grid, and multiple-time-scale techniques, applied to the problems of plasma equilibrium, transport and stability. Basic parallel programming concepts are discussed.

Sample Reading List:
R.J. LeVeque , Finite Volume Methods for Hyperbolic Problems
Richtmyer & Morton , Difference Methods for Initial Value Problems
Tajima , Computational Plasma Physics: Appls. to Fusion & Astrophys.
Briggs , A Multigrid Tutorial
C. Hirsch , Numerical Computation of Internal and External Flows
G. Strang & G. Fix , An Analysis of the Finite Element Method

Other Requirements:
Course Not Open to Freshmen

Prerequisites and Restrictions: Graduate students and seniors only.

Schedule/Classroom Assignment:
Class Number: 42136 - Class C01 : 10:30 am - 11:50 am T Th
    Jadwin Hall (JADWH) A07   Location  Photo

 

CHE 432  Dynamics of Cellular Processes 

Dynamics of Cellular Processes
Professor(s): Stanislav Y. Shvartsman

Description/Objectives:
The goal of this class is to present a framework for the analysis of cellular responses, such as proliferation, migration, and differentiation. The emphasis is on mechanistic models of biotransformation, signal transduction, and cell-cell communication in tissues. The first section of the class will focus on unit operations of cell physiology transcription, translation, and signal transduction. Models of these processes will rely on tools of reaction engineering and transport. Then, we will use process dynamics and control to analyze the regulatory structure of networks of interacting genes and proteins.

Sample Reading List:
J.P. Keener , Mathematical Physiology, Springer 1998
Lauffenburger and Linderman , Receptors: models for binding, trafficking and signaling '93

Requirements/Grading:
Midterm Exam: 15%
Final Exam: 25%
Design Project(s): 20%
Problem Set(s): 20%
Other (See Instructor): 20%

Prerequisites and Restrictions: Mathematics level MAT 303 or APC 350/CEE 350 or MAE 305/MAT 301. Chemical Reaction Engineering. One undergraduate course in introductory biology (e.g. MOLBIO 214).

Schedule/Classroom Assignment:
Class Number: 40186 - Lecture L01 : 7:30 pm - 10:20 pm W
    Engineering Quad A-Wing (EQUAA) A224   Location  Photo

 

CHE 527  Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications 

Nonlinear and Mixed-Integer Optimization: Fundamentals and Applications
Professor(s): Christodoulos A. Floudas

Description/Objectives:
This course provides an introduction to the fundamentals of convex analysis, nonlinear programming, duality theory, mixed integer linear and nonlinear optimization. The theory is complemented by a variety of application in process synthesis design, and operations. An introduction to deterministic global optimization and its applications will be provided.

Sample Reading List:
C.A. Floudas , Nonlinear and Mixed-Integer Optimization, Oxford Univ. Press
C.A. Floudas , Deterministic Global Optimization, Kluwer Acad. Pub., 2000

Examination Type: Final

Other Requirements:
Course Not Open to Freshmen

Schedule/Classroom Assignment:
Class Number: 40204 - Lecture L01 : 2:30 pm - 5:00 pm F
    Engineering Quad A-Wing (EQUAA) A124   Location  Photo

 

CHE 534  Emerging Technologies in Bioengineering 

Emerging Technologies in Bioengineering
Professor(s): David W. Wood

Description/Objectives:
Graduate seminar and class. Discussion of new challenges and opportunities for ChE's in research and manufacturing arising from the biological revolution.

Sample Reading List:
Journal Papers

Schedule/Classroom Assignment:
Class Number: 40206 - Class C01 : 3:30 pm - 4:30 pm M
    Friend Center (FRIEN) 112   Location  Photo
Class Number: 40205 - Seminar S01 : 7:00 pm - 9:00 pm Th
    Friend Center (FRIEN) 109   Location  Photo

 

COS 424  Interacting with Data 

Interacting with Data
Professor(s): David M. Blei, Robert E. Schapire

Description/Objectives:
Computers have made it possible, even easy, to collect vast amounts of data from a wide variety of sources. It is not always clear, however, how to use that data, and how to extract useful information from it. This problem is faced in a tremendous range of business and scientific applications. This course will focus on some of the most useful approaches to this broad problem, exploring both theoretical foundations and practical applications. Students will gain experience analyzing several kinds of data, including text, images and biological data. Topics will include classification, clustering, prediction, and dimensionality reduction.

Sample Reading List:
David J. Hand, Heikki Mannila, Padhraic Smyth , Principles of Data Mining

Reading/Writing Assignments: Written exercises, programming and data-exploration projects; reading from text and primary sources.

Examination Type: Final

Prerequisites and Restrictions: MAT 202 and COS 126 or equivalent or permission

Schedule/Classroom Assignment:
Class Number: 41944 - Lecture L01 : 11:00 am - 12:20 pm T Th
    Friend Center (FRIEN) 006   Location  Photo

 

COS 557/MOL 557  Analysis & Visualization of Large-Scale Genomic Data Sets

Analysis & Visualization of Large-Scale Genomic Data Sets
Professor(s): Olga G. Troyanskaya

Description/Objectives:
Introduces students to computational issues involved in analysis and display of large-scale biological data sets. Algorithms covered will include clustering and machine learning techniques for gene expression and proteomics data analysis, biological networks, joint learning from multiple data sources, and visualization issues for large-scale biological data sets. No prior knowledge of biology or bioinformatics is required; an introduction to bioinformatics and the nature of biological data will be provided. In depth knowledge of computer science is not required, but students should have some understanding of programming and computation.

Schedule/Classroom Assignment:
Class Number: 42567 - Lecture L01 : 1:00 pm - 3:50 pm M
    Carl Icahn Laboratory (ICAHN) 200   Location  Photo

 

ELE 579/COS 579  Pervasive Information Systems 

Pervasive Information Systems
No P/D/F
Professor(s): Wayne H. Wolf

Description/Objectives:
Devices and systems that provide information anywhere, anytime. Goals of pervasive information: business, entertainment, government, etc. Components of pervasive information systems: low power electronics, audio/video, networking, etc. Human/computer interaction. Geographically distributed systems.

Examination Type: Final

Other Requirements:
Course Not Open to Freshmen

Schedule/Classroom Assignment:
Class Number: 40407 - Lecture L01 : 1:30 pm - 2:50 pm M W
     (EQUAH) H107   Location  Photo

 

MAE 557  Simulation and Modeling of Fluid Flows 

Simulation and Modeling of Fluid Flows
Professor(s): Pino Martin

Description/Objectives:
Numerical methods are applied to solve the equations that govern fluid motion. Fluid flow problems involve convection, diffusion, and source terms. The governing equations are non-linear and coupled. Finite-difference and finite volume methods are considered, together with concepts of accuracy, consistency, stability, convergence, conservation, and shock capturing. A range of current methods is reviewed with emphasis on multidimensional steady and unsteady compressible flows. Homework topics include writing codes to solve the conservation equation for a scalar, boundary layer flow, shock tube flow, application to curvilinear coordinates.

Examination Type: Final

Schedule/Classroom Assignment:
Class Number: 41220 - Lecture L01 : 10:30 am - 11:50 am T Th
    Friend Center (FRIEN) 203   Location  Photo

 

ORF 523  Nonlinear Optimization 

Nonlinear Optimization
Professor(s): Alexandre W. d'Aspremont

Description/Objectives:
An introduction to the central concepts needed for studying the theory, algorithms, and applications of nonlinear optimization problems. Topics covered include first- and second-order optimality conditions; unconstrained methods, including steepest descent, conjugate gradient, and quasi-Newtonian methods; constrained active-set methods; and duality theory and Lagrangian methods. Prerequisite: linear optimization.

Sample Reading List:
L. Vanden Beargne, S. Boyd , Convex Optimization

Other Requirements:
Course Not Open to Freshmen

Other Information: The course is open to graduate students and seniors.

Reserved Seats:
    Seniors 7

Schedule/Classroom Assignment:
Class Number: 41561 - Lecture L01 : 11:00 am - 12:20 pm M W
    Engineering Quad E-Wing (EQUAE) E415   Location  Photo

 
 

 

PICASso courses from previous years:
Fall 2006
Fall 2005 - Spring 2006
Fall 2004 - Spring 2005
Fall 2003 - Spring 2004