Difference: DragonStar08 (1 vs. 3)

Revision 32008-04-23 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

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

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

Line: 30 to 29
 
    • 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
Changed:
<
<
    • parallelization: dependence theory and vectorization, integer set equations, multi-partitioning, partitioning with replication, OpenMP, streaming languages
>
>
    • 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
Line: 49 to 48
  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.
Changed:
<
<

Instructor

>
>

About the Instructor

  Chen Ding is an Associate Professor in the Computer Science Department at the University of Rochester, Rochester, New York, USA. His

Revision 22008-04-21 - ChenDing

Line: 1 to 1
 
META TOPICPARENT name="ChenDing"

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

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

Line: 7 to 7
 
Added:
>
>
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

Changed:
<
<
  • 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
>
>
  • 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
 
Changed:
<
<
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.
>
>
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.
 

Instructor

Changed:
<
<
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/
>
>
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/
 
Deleted:
<
<
-- ChenDing - created 10 Mar 2008
 \ No newline at end of file
Added:
>
>
-- created 10 Mar 2008, last modified 21 April 2008

Revision 12008-03-10 - ChenDing

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="ChenDing"

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

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding URCS? Send feedback