create new tag
view all tags

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


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

Host web site at Institute of Computing Technology, Chinese Academy of Sciences

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

  • Introduction program behavior research: new science for old problems
    • programming languages, programs, and program execution
    • six dimensions of program behavior
    • program and machine balance in high-performance computing
    • memory bandwidth bottleneck and multi-core challenges
    • Is computer science science?
  • The input dimension whole-program behavior
    • whole-program locality
    • reuse distance measurement
    • compiler analysis
    • cross-input models for sequential and parallel code
  • The code dimension programming languages and program analysis
    • expression and implementation of parallelism; software speculative parallelization at loop, function and region levels, new abstractions; hardware thread-level speculation
    • other select topics: code tuning, blended analysis, fractal analysis, telescoping languages, array languages
  • The computation dimension program transformation for temporal locality and parallelism, advanced algorithms
    • compiler locality transformation: unroll-and-jam, loop fusion, high-dimensional optimization, transitive closures, space-filling curves, computation regrouping, limit of locality
    • parallelization: dependence theory and vectorization, integer set equations, multi-partitioning, partitioning with replication, OpenMP, streaming languages
    • hierarchical or cache oblivious computation, self-organizing data structures
    • program tuning tools
  • The data dimension program transformation for spatial locality, data placement and prefetching
    • reference affinity, hardness of data placement, hierarchical data placement
    • structure splitting and array regrouping, object placement, and code placement
    • dynamic data transformation, dynamic sampling, super pages
    • data placement and prefetching using stream models and stride models
  • The time dimension program and execution phases, behavior adaptation
    • working set, memory phases, active profiling, and uses in memory management
    • loop and function phases and interval phases
  • The environment dimension memory and cache sharing, concurrency control
    • reuse distance-based virtual memory management, adaptive garbage collection, file caching, and web caching
    • the effect of cache sharing
    • explicit concurrency control: locking, lock-free synchronization, and non-blocking data structures
    • implicit concurrency control: serializability and linearizability, software transactional memory

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

About the Instructor

Chen Ding is an Associate Professor in the Computer Science Department at the University of Rochester, Rochester, New York, USA. His research seeks to understand the composite and emergent behavior in complex computer systems, including program locality and scalability, reference affinity, and program phases. Based on behavior models, his group develops software techniques for program transformation, memory management, and dynamic parallelization. His work received young investigator awards from NSF and DOE. He co-founded the ACM SIGPLAN Workshop on Memory System Performance and Correctness (MSPC) and was a visiting researcher at Microsoft Research and a visiting professor at MIT. More information about his work can be found at http://www.cs.rochester.edu/~cding/

-- created 10 Mar 2008, last modified 21 April 2008

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2008-04-23 - ChenDing
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