2008年龙星计划课程 (2008 Dragon Star Lecture)

软件局域性和并行性:对复杂时空的计算解析与优化

Locality and Parallelism in Program Behavior: Computational Understanding of Time, Space, and Complexity

Course Description and Preliminary Syllabus

This week-long course aims to introduce, inspect, and interlink a large body of research in the last decade on understanding and exploiting locality and parallelism in large-scale program executions. Specific topics include

  • background: memory and storage hierarchy, memory bandwidth bottleneck; compilation, dependence theory and high-level program transformation; parallel computer architectures (including chip multi-processor or multi-core), cache coherency, memory consistency; interactions between parallelism and locality
  • compiler techniques: static and dynamic compiler transformations for improving program locality, parallelism, and communication, including reuse-based loop fusion, computation regrouping, data packing, structure splitting, array regrouping, cache hints, and compiler parallelization
  • theoretical models and limits: memory models, limits of temporal and spatial locality, complexity of optimization
  • computational and statistical models: whole-program locality, reference affinity, stream and stride models, program and execution phases, cache and memory sharing, communication estimation
  • programming languages: expression and implementation of parallelism, software speculative parallelization and optimistic concurrency control
  • tools: temporal and spatial locality analysis, behavior-oriented parallelization
  • advanced algorithms: self-adjusting data structures, cache oblivious algorithms, non-linear data layout, scalable synchronization
  • related concepts of locality and parallelism in hardware, operating systems, file servers, and networks

A significant portion of the material will be drawn from work done at the University of Rochester and Rice University. There will be pre- and post-lecture questions as homework and will be formal question-and-answer sessions. The instructor may make research tools available for students to analyze and improve programs of their choice. The material will be in English. Most lecturing is likely in Chinese. The instructor strives not to mix words from the two languages.

Instructor

Chen Ding (丁晨) is an Associate Professor in the Computer Science Department at the University of Rochester, Rochester, New York, USA. He is an recipient of the Early Career Principal Investigator award from DoE, the CAREER award from NSF, and a best-paper award from the IEEE International Parallel and Distributed Processing Symposium. He co-founded the ACM SIGPLAN Workshop on Memory System Performance and Correctness (MSPC). He has been an IBM Center for Advanced Studies Faculty Fellow since 2004, and in 2007, he was a visiting researcher in the Run-time Analysis and Design group at Microsoft Research and a visiting associate professor at Massachusetts Institute of Technology. More information about his work can be found at http://www.cs.rochester.edu/~cding/

-- ChenDing - created 10 Mar 2008

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r1 - 2008-03-10 - ChenDing
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback