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