Technion - Dept. of Computer Science

A Seminar on Optimizations for Modern Architectures

Computer Science Seminar 2,  236802,  Winter 2006

Instructor: Erez Petrank,, office: Taub 528. Phone: 829-4942.




Talk Title


Assigned to:

1 Administration, Allen-Kennedy Chapter 1 final version Erez Petrank
2 Chapter 2 Dependence Theory final version Liza Fireman
3 Chapter 3 Dependence Testing, (thru 3.3.2) final version Rotem Oshman & Rachel Tzoref
4 Chapter 3 Dependence Testing, (3.3.3 to end) final version
5 Chapter 4 Preliminary Transformations final version Harel Paz
6 Chapter 5 Fine grained parallelization (thru 5.4) final version Haim Kermany & Mirit Shalem
7 Chapter 5 Fine grained parallelization (5.5 on) final version
8 Chapter 6 Coarse grained parallelization (thru 6.2) final version Danny Guez
9 Chapter 6 Coarse grained parallelization 2 (6.3 on) final version Yaniv Carmeli
10 Chapter 7 Control dependence presentation version,

print version

Yoni Peleg
11 Chapter 8 Register management 1 (thru 8.4) final version Anastasia Braginsky
12 Chapter 8 Register management 2 (8.5-end) final version Omer Yehezkely
13 Chapter 9 Cache management final version Sivan Bercovici
14 Chapter 10 Scheduling final version Vladimir Yanovsky
15 Chapter 11 Interprocedural 1 (thru 11.2.4) final version Gabi Kliot
16 Chapter 11 Interprocedural 2 (11.2.5 to end) final version Li-Tal Mashiach
17 Chapter 12 C++ and Hardware final version Tali Shragai


Material Covered in the Seminar:

In the seminar we will study optimization algorithms for parallelizing programs on parallel and distributed platforms.  We will start by briefly describing modern platforms.  We will go over the theoretical foundations required to undersstand dependencies between instructions.  We will discuss basic compiler transformations that are executed to improve the potential for subsequent  parallelization.  Then, we will study the actual parallelization procedure.  This is a wide topic that will consist of several sub-topics.  We will discuss cache behavior relevant issues.  Finally, we will discuss automatic parallelization for distributed systems, where not only the computation must be partitioned between the processors, but also the corresponding data.

The seminar will focus on the algorithmic ideas and the the foundational issues underlying these optimizations.

We will cover chapters from the following two books:


Each student will prepare a talk on a chapter using Powerpoint slides.    


הרישום יהיה אישי ואנו ננסה להתאים את הנושאים לרקע של הסטודנטים.  נא לשלוח email   למרצה (erez@cs) הכולל את הטקסט הבא (או משהו שקול לו):  "ברצוני להירשם לסמינר בשפות תכנות בסמסטר חורף תשס"ו.  שמי ...  מספר סטודנט: ...  אני סטודנט שנה ...  לתואר ....  ולקחתי את הקורסים הרלוונטיים הבאים: ..."   נא לציין קורסים העשויים להיות רלוונטיים מתחומים של שפות תכנות, אלגוריתמים מתקדמים, תכנות ואלגוריתמים מקבילים ומבוזרים, וקורסי בחירה תיאורטיים.