6.172 Performance Engineering of Software Systems, Fall 2009
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 g...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Learning Object |
Language: | en-US |
Published: |
2009
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/74613 |
_version_ | 1826196798134288384 |
---|---|
author | Leiserson, Charles Amarasinghe, Saman |
author2 | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science |
author_facet | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Leiserson, Charles Amarasinghe, Saman |
author_sort | Leiserson, Charles |
collection | MIT |
description | 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 course 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. The course also includes code reviews with industry mentors, as described in this MIT News article. |
first_indexed | 2024-09-23T10:38:10Z |
format | Learning Object |
id | mit-1721.1/74613 |
institution | Massachusetts Institute of Technology |
language | en-US |
last_indexed | 2025-03-10T08:56:23Z |
publishDate | 2009 |
record_format | dspace |
spelling | mit-1721.1/746132025-02-25T16:49:40Z 6.172 Performance Engineering of Software Systems, Fall 2009 Performance Engineering of Software Systems Leiserson, Charles Amarasinghe, Saman Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology. Department of Chemical Engineering Massachusetts Institute of Technology. Department of Civil and Environmental Engineering Massachusetts Institute of Technology. Department of Mathematics Massachusetts Institute of Technology. Department of Mechanical Engineering Massachusetts Institute of Technology. Department of Nuclear Science and Engineering performance engineering parallelism computational power complexity computation efficiency high performance software system performance analysis algorithms instruction level optimization cache memory parallel programming distributed systems algorithmic design profile multithreaded cilk cilk arts ray tracer render 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 course 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. The course also includes code reviews with industry mentors, as described in this MIT News article. 2009-12 Learning Object 6.172-Fall2009 local: 6.172 local: IMSCP-MD5-a55fdc84743c85817f67a766aca62ac0 http://hdl.handle.net/1721.1/74613 en-US Usage Restrictions: This site (c) Massachusetts Institute of Technology 2012. Content within individual courses is (c) by the individual authors unless otherwise noted. The Massachusetts Institute of Technology is providing this Work (as defined below) under the terms of this Creative Commons public license ("CCPL" or "license") unless otherwise noted. The Work is protected by copyright and/or other applicable law. Any use of the work other than as authorized under this license is prohibited. By exercising any of the rights to the Work provided here, You (as defined below) accept and agree to be bound by the terms of this license. The Licensor, the Massachusetts Institute of Technology, grants You the rights contained here in consideration of Your acceptance of such terms and conditions. text/html Fall 2009 |
spellingShingle | performance engineering parallelism computational power complexity computation efficiency high performance software system performance analysis algorithms instruction level optimization cache memory parallel programming distributed systems algorithmic design profile multithreaded cilk cilk arts ray tracer render Leiserson, Charles Amarasinghe, Saman 6.172 Performance Engineering of Software Systems, Fall 2009 |
title | 6.172 Performance Engineering of Software Systems, Fall 2009 |
title_full | 6.172 Performance Engineering of Software Systems, Fall 2009 |
title_fullStr | 6.172 Performance Engineering of Software Systems, Fall 2009 |
title_full_unstemmed | 6.172 Performance Engineering of Software Systems, Fall 2009 |
title_short | 6.172 Performance Engineering of Software Systems, Fall 2009 |
title_sort | 6 172 performance engineering of software systems fall 2009 |
topic | performance engineering parallelism computational power complexity computation efficiency high performance software system performance analysis algorithms instruction level optimization cache memory parallel programming distributed systems algorithmic design profile multithreaded cilk cilk arts ray tracer render |
url | http://hdl.handle.net/1721.1/74613 |
work_keys_str_mv | AT leisersoncharles 6172performanceengineeringofsoftwaresystemsfall2009 AT amarasinghesaman 6172performanceengineeringofsoftwaresystemsfall2009 AT leisersoncharles performanceengineeringofsoftwaresystems AT amarasinghesaman performanceengineeringofsoftwaresystems |