Course»Course 6»Fall 2011»6.172»Homepage

6.172  Performance Engineering of Software Systems

Fall 2011

home page image

Instructors: Saman P Amarasinghe, Charles E Leiserson

TAs: Ekanathan Palamadai Natarajan, rmperez@mit.edu, Tao Schardl, Phumpong Watanaprakornkul

Lecture:  TR 2.30-4  (32-123)
Office Hours:  MTW 4-6  (32-G7 lounge)
Recitation 1:  F 10-12  (24-121)
Recitation 2:  F 1-3  (24-115)
Recitation 3:  F 3-5  (24-121)

Information: 

Modern computing platforms provide unprecedented amounts of raw computational power. But significant complexity comes along with this power, to the point that making useful computations exploit even a fraction of the potential of the computing platform is a substantial challenge. Indeed, obtaining good performance requires a comprehensive understanding of all layers of the underlying platform, deep insight into the computation at hand, and the ingenuity and creativity required to obtain an effective mapping of the computation onto the machine. The reward for mastering these sophisticated and challenging topics is the ability to make computations that can process large amount of data orders of magnitude more quickly and efficiently and to obtain results that are unavailable with standard practice.
This class is a hands-on, project-based introduction to building scalable and high-performance software systems. Topics include: performance analysis, algorithmic techniques for high performance, instruction-level optimizations, cache and memory hierarchy optimization, parallel programming, and building scalable distributed systems.

Announcements

Project 3.1

Project 3.1 handout has been updated with the following additional rules and reminders.
(These are the same additional rules that were posted on piazza).

1. Usage of C++ Standard Template Library containers is NOT allowed.(since they will use memory on heap internally bypassing our allocator heap interface).
2. All data structures that allocate memory on heap MUST use our allocator heap interface.
3. All heap memory space used by your data structures will hence be counted under space utilization.

Please use the updated handout.

Announced on 31 October 2011  4:23  p.m. by Ekanathan Palamadai Natarajan

Project 3.1

Project 3.1 is out. We shall create the student repositories shortly, once we finalize the groups.

Announced on 25 October 2011  5:44  p.m. by Ekanathan Palamadai Natarajan

Project 2 beta due & Project 3 groups

Hi,

Project 2 beta is due this Monday. Don't forget to do `git push` and upload the write-up to Stellar. Please also commit your write-up to the repository because we will distribute your repository to your masters and they want to read your write-up too. You should put the write-up in the root directory.

In the mean time, you can pick a partner for project 3. We will randomly assigned you to groups at the end of Tuesday if you do not choose the partner by then. You can do this by

1. log in to a course machine
2. run the following command
$ project-setup -p 3 project-partner-csail-username

As a reminder, your partner for project 3 has to be different from your partners from project 1 and 2.

Cheers,
Yod

Announced on 22 October 2011  8:33  p.m. by Phumpong Watanaprakornkul

MITPOSSE Clarification

Hi,

We just sent all of you an email about your MITPOSSE assignment. (Please contact us if you did not receive the email.) You are not supposed to meet the Master with your project partner. You will meet with your review group of 2 students. This will be the same review group for all projects. You will have a chance to discuss the project with the other group during the meeting. This also implies that you have to understand everything in your code. "My partner wrote this part," is not an acceptable excuse.

Please contact your Master as soon as possible.

Cheers,
Yod

Announced on 29 September 2011  11:16  p.m. by Phumpong Watanaprakornkul

Project 1 beta due & Project 2 groups

Hi,

Project 1 is due tonight. Don't forget to do `git push` and upload the write-up to Stellar. If you have any questions about the project, you can come to the office hours this evening.

In the mean time, you can pick a partner for project 2. We will randomly assigned you to groups at the end of tomorrow if you do not choose the partner by then. You can do this by

1. log in to a course machine
2. run the following command
$ project-setup -p 2 project-partner-csail-username

Cheers,
Yod

Announced on 26 September 2011  9:40  a.m. by Phumpong Watanaprakornkul

View archived announcements