EECS 573: Microarchitecture (Fall 2010)

Instructor:  Todd Austin, CSE 4637, austin@umich.edu

Class Times: Monday, Wednesday 10:30-noon, 1371 GGBL

Office Hours:  Monday, Wednesday 9:30-10:30, or by appt.

Class Web Page:  http://www.eecs.umich.edu/courses/eecs573    (Visit often!)

Course Synopsis:  A graduate-level introduction to the foundations of efficient microprocessor designs. Problems involving instruction supply, data supply, and instruction processing, compile-time vs. run-time tradeoffs, and in-order vs. out-of-order execution. Special focus is placed on reliability, security, and application-specific design. Case studies are taken from current microprocessors.

Text:  None, we will be reading papers available from the Web, they are listed below.

News:

 

Course Schedule (tentative):

 

DATE   LECTURE TOPIC CLASS READINGS CLASS EVENTS
Wed 9/8/2010   1 Introduction, CompArch 101 Lecture 01 Paper list published
Mon 9/13/2010   2 Resilient System Design - Intro Lecture 02 Select paper preferences
Wed 9/15/2010   3 Resilient System Design - Intro Lecture 02 (cont.)  
Mon 9/20/2010   4 Resilient System Design - Papers Paper #64  
Wed 9/22/2010   5 Resilient System Design - Papers Papers #2, #11  
Mon 9/27/2010   no class      
Wed 9/29/2010   6 Resilient System Design - Papers Papers #1, #3  
Mon 10/4/2010   7 Resilient System Design - Papers Papers #5, #6  
Wed 10/6/2010   8 Resilient System Design - Papers Papers #7, #12

Receive project details 

Mon 10/11/2010   9 Resilient System Design - Papers Paper #18  
Wed 10/13/2010   10 Secure and Bug-Free Systems - Intro Lecture 03

Project proposals due Friday, October 15

Mon 10/18/2010   fall break      
Wed 10/20/2010   fall break      
Mon 10/25/2010   11 Secure and Bug-Free Systems - Papers Papers #22, #24  
Wed 10/27/2010   12 Secure and Bug-Free Systems - Papers Papers #27, #30  
Mon 11/1/2010   13 Secure and Bug-Free Systems - Papers Papers #33, #34  
Wed 11/3/2010   14 Secure and Bug-Free Systems - Papers Papers #35, #37  
Mon 11/8/2010   15 Secure and Bug-Free Systems - Papers Papers #39, #43  
Wed 11/10/2010   16 Application-Specific Architectures - Intro Lecture 04  
Mon 11/15/2010   17 Application-Specific Architectures - Papers Papers #49, #51

Project checkpoints

Wed 11/17/2010   18 Application-Specific Architectures - Papers Papers #52  
Mon 11/22/2010   19 Application-Specific Architectures - Papers Papers #54, #58  
Wed 11/24/2010   20 Application-Specific Architectures - Papers Paper #59  
Mon 11/29/2010   21 Research Lecture Lecture 05  
Wed 12/1/2010   22 Exam  

Exam December 1

Mon 12/6/2010   23 UMich Research Highlights    
Thur 12/9/2010   24 Project Presentations   Presentations 12/9
Mon 12/13/2010   25 Project Reports Due  

Project reports due 12/13

Project:  There will be one project beginning in week 4. Students may work in pairs or groups of three - of course, larger groups will be expected to produce more results. Students will conduct a research project that includes a quantitative evaluation of the proposed invention.  Students will meeting with the professor to propose the project, meet during the semester for a checkpoint meeting, and finally produce a research report and present their findings in the final week of class.

Details of the project can be found here: PROJECTS.txt

Some class projects may choose to utilize the SimpleScalar Tool Set for their project.  The SimpleScalar sources and class-sized benchmarks are available here:

  http://www.simplescalar.com/tools.html (use the 3v0d version)
 
http://www.eecs.umich.edu/courses/eecs573/public/instruct-progs.tar.gz

Grading:

Class Participation: 10%\
Class Presentation: 20%
Exam: 30%
Project: 40%

Lectures:

  1. Lecture 01 - Class presentation overview
  2. Lecture 02 - Robust Computing Tutorial
  3. Lecture 03 - Secure and Correct Systems Tutorial
  4. Lecture 04 - Application-Specific Design

Reading List:           

We will be reading the following papers. We will discuss them in the week specified in the table above, please have read the papers by the beginning of class.

NOTE: To view ACM and IEEE papers you must have an account with that institution OR you must access the papers from within the UMich.edu domain.  If off campus, it may be possible to authenticate with your UM unique ID and access the IEEE Xplore and ACM Digital Library using the following links:

    IEEE Xplore
    ACM Digital Library

Resilient System Design

  1. Trading off Cache Capacity for Reliability to Enable Low Voltage Operation, Chris Wilkerson, Hongliang Gao, Alaa R. Alameldeen, Zeshan Chishti, Muhammad Khellah, Shih-Lien Lu, ISCA 2008.
  2. ReVIVaL: A Variation-Tolerant Architecture Using Voltage Interpolation and Variable Latency, Xiaoyao Liang, Gu-Yeon Wei, David Brooks, ISCA 2008.
  3. Voltage emergency prediction: Using signatures to reduce operating margins, Reddi, V.J.; Gupta, M.S.; Holloway, G.; Gu-Yeon Wei; Smith, M.D.; Brooks, D., HPCA 2009.
  4. Accurate microarchitecture-level fault modeling for studying hardware faults, Man-Lap Li; Ramachandran, P.; Karpuzcu, U.R.; Hari, S.; Adve, S.V., HPCA 2009.
  5. Blueshift: Designing processors for timing speculation from the ground up, Greskamp, B.; Lu Wan; Karpuzcu, U.R.; Cook, J.J.; Torrellas, J.; Deming Chen; Zilles, C., HPCA 2009.
  6. Relax: An Architectural Framework for Software Recovery of Hardware Faults, Marc de Kruijf, Shuou Nomura, Karthikeyan Sankaralingam, in ISCA 2010.
  7. Perturbation-based Fault Screening, Racunas, P.; Constantinides, K.; Manne, S.; Mukherjee, S.S., HPCA 2007.
  8. The StageNet fabric for constructing resilient multicore systems, Shantanu Gupta, Shuguang Feng, Amin Ansari, Jason Blome, Scott Mahlke, MICRO 2008.
  9. A performance-correctness explicitly-decoupled architecture, Alok Garg, Michael C. Huang, MICRO 2008.
  10. Process Variation Tolerant 3T1D-Based Cache Architectures, Xiaoyao Liang, Ramon Canal, Gu-Yeon Wei, David Brooks, MICRO 2007.
  11. Argus: Low-Cost, Comprehensive Error Detection in Simple Cores, Albert Meixner, Michael E. Bauer, Daniel Sorin, MICRO 2007.
  12. Leveraging 3D Technology for Improved Reliability, Niti Madan, Rajeev Balasubramonian, MICRO 2007.
  13. Designing a Processor From the Ground Up to Allow Voltage/Reliability Tradeoffs, Andrew Kahng, Seokhyeong Kang, Rakesh Kumar, John Sartori, in HPCA 2010.
  14. Rescue: a microarchitecture for testability and defect tolerance, Schuchman, E.; Vijaykumar, T.N., in ISCA 2005.
  15. Exploiting structural duplication for lifetime reliability enhancement, Srinivasan, J.; Adve, S.V.; Pradip Bose; Rivers, J.A., in ISCA 2005.
  16. Techniques to reduce the soft error rate of a high-performance microprocessor, Weaver, C.; Emer, J.; Mukherjee, S.S.; Reinhardt, S.K., in ISCA 2004.
  17. A mechanism for online diagnosis of hard faults in microprocessors, Bower, F.A.; Sorin, D.J.; Ozev, S., in MICRO 2005.
  18. A defect tolerant self-organizing nanoscale SIMD architecture, Jaidev P. Patwardhan, Vijeta Johri, Chris Dwyer, Alvin R. Lebeck, in ASPLOS 2006.
  19. Fingerprinting: bounding soft-error detection latency and bandwidth, Jared C. Smolens, Brian T. Gold, Jangwoo Kim, Babak Falsafi, James C. Hoe, Andreas G. Nowatzyk, in ASPLOS 2004.
  20. Cherry: Checkpointed Early Resource Recycling in Out-of-order Microprocessors, Jose F. Martinez (Cornell University), Jose Renau (University of Illinois), Michael Huang (University of Rochester), Milos Prvulovic, and Josep Torrellas (University of Illinois), in MICRO-35.
  21. Non-Stalling Counterflow Architecture, Michael F. Miller, Kenneth J. Janik, and Shih-Lien Lu, in HPCA-4.

Secure and Bug-Free Systems

  1. SigRace: signature-based data race detection, Abdullah Muzahid, Dario Suárez, Shanxiang Qi, Josep Torrellas, ISCA 2009.
  2. A case for an interleaving constrained shared-memory multi-processor, Jie Yu, Satish Narayanasamy, ISCA 2009.
  3. Atom-Aid: Detecting and Surviving Atomicity Violations, Brandon Lucia, Joseph Devietti, Karin Strauss, Luis Ceze, ISCA 2008.
  4. Security Refresh: Prevent Malicious Wear-out and Increase Durability for Phase-Change Memory with Dynamically Randomized Address Mapping, Nak Hee Seong, Dong Hyuk Woo, Hsien-Hsin S. Lee, in ISCA 2010.
  5. Raksha: a flexible information flow architecture for software security, Michael Dalton, Hari Kannan, Christos Kozyrakis, ISCA 2007.
  6. New cache designs for thwarting software cache-based side channel attacks, Zhenghong Wang, Ruby B. Lee, ISCA 2007.
  7. FlexiTaint: A programmable accelerator for dynamic taint propagation, Venkataramani, G.; Doudalis, I.; Solihin, Y.; Prvulovic, M., HPCA 2008.
  8. MemTracker: Efficient and Programmable Support for Memory Access Monitoring and Debugging, Venkataramani, G.; Roemer, B.; Solihin, Y.; Prvulovic, M., HPCA 2007.
  9. InfoShield: a security architecture for protecting information usage in memory, Shi, W.; Fryman, J.B.; Gu, G.; Lee, H.-H.S.; Zhang, Y.; Yang, J., HPCA 2006.
  10. Control flow obfuscation with information flow tracking, Haibo Chen, Liwei Yuan, Xi Wu, Binyu Zang, Bo Huang, Pen-chung Yew, MICRO 2009.
  11. SHARK: Architectural support for autonomic protection against stealth by rootkit exploits, Vikas R. Vasisht, Hsien-Hsin S. Lee, MICRO 2008.
  12. Architecture for protecting critical secrets in microprocessors, Lee, R.B.; Kwan, P.C.S.; McGregor, J.P.; Dwoskin, J.; Zhenghong Wang, in ISCA 2005.
  13. Design and implementation of the AEGIS single-chip secure processor using physical random functions, Suh, G.E.; O'Donnell, C.W.; Ishan Sachdev; Srinivas Devadas, in ISCA 2005.
  14. A Hardware-Software Platform for Intrusion Prevention, Drinic, M.; Kirovski, D., in MICRO 2004.
  15. RIFLE: An Architectural Framework for User-Centric Information-Flow Security, Vachharajani, N.; Bridges, M.J.; Chang, J.; Rangan, R.; Ottoni, G.; Blome, J.A.; Reis, G.A.; Vachharajani, M.; August, D.I., in MICRO 2004.
  16. Secure program execution via dynamic information flow tracking, G. Edward Suh, Jae W. Lee, David Zhang, Srinivas Devadas, in ASPLOS 2004.
  17. Mondrian memory protection, Emmett Witchel, Josh Cates, Krste Asanović, in ASPLOS 2002.
  18. Scalable Architectural Support for Trusted Software, David Champagne, Ruby Lee, in HPCA 2010.
  19. Recovery domains: an organizing principle for recoverable operating systems, Andrew Lenharth, Vikram S. Adve, Samuel T. King, ASPLOS 2009.
  20. Efficient online validation with delta execution, Joseph Tucek, Weiwei Xiong, Yuanyuan Zhou, ASPLOS 2009.
  21. Leak pruning, Michael D. Bond, Kathryn S. McKinley, ASPLOS 2009.
  22. Hardbound: architectural support for spatial safety of the C programming language, Joe Devietti, Colin Blundell, Milo M. K. Martin, Steve Zdancewic, ASPLOS 2008.
  23. Archipelago: trading address space for reliability and security, Vitaliy B. Lvin, Gene Novark, Emery D. Berger, Benjamin G. Zorn, ASPLOS 2008.

Application-Specific Architectures

  1. AnySP: anytime anywhere anyway signal processing, Mark Woh, Sangwon Seo, Scott Mahlke, Trevor Mudge, Chaitali Chakrabarti, Krisztian Flautner, ISCA 2009.
  2. Rigel: an architecture and scalable programming interface for a 1000-core accelerator, John H. Kelm, Daniel R. Johnson, Matthew R. Johnson, Neal C. Crago, William Tuohy, Aqeel Mahesri, Steven S. Lumetta, Matthew I. Frank, Sanjay J. Patel, ISCA 2009.
  3. 3D-Stacked Memory Architectures for Multi-core Processors, Gabriel H. Loh, ISCA 2008.
  4. Anton, a special-purpose machine for molecular dynamics simulation, David E. Shaw and et al, ISCA 2007.
  5. ParallAX: an architecture for real-time physics, Thomas Y. Yeh, Petros Faloutsos, Sanjay J. Patel, Glenn Reinman, ISCA 2007.
  6. Tradeoffs in designing accelerator architectures for visual computing, Aqeel Mahesri, Daniel Johnson, Neal Crago, Sanjay J. Patel, MICRO 2008.
  7. Toward a multicore architecture for real-time ray-tracing, Venkatraman Govindaraju, Peter Djeu, Karthikeyan Sankaralingam, Mary Vernon, William R. Mark, MICRO 2008.
  8. SODA: A Low-power Architecture For Software Radio, Yuan Lin; Hyunseok Lee; Woh, M.; Harel, Y.; Mahlke, S.; Mudge, T.; Chakrabarti, C.; Flautner, K., in ISCA 2006.
  9. A Dynamically Configurable Coprocessor for Convolutional Neural Networks, Srimat Chakradhar, Murugan Sankaradas, Venkata Jakkula, Srihari Cadambi, in ISCA 2010.
  10. A high throughput string matching architecture for intrusion detection and prevention, Lin Tan; Sherwood, T., in ISCA 2005.
  11. An architecture framework for transparent instruction set customization in embedded processors, Clark, N.; Blome, J.; Chu, M.; Mahlke, S.; Biles, S.; Flautner, K., in ISCA 2005.
  12. Processor acceleration through automated instruction set customization, Clark, N.; Hongtao Zhong; Mahlke, S., in MICRO 2003.
  13. Energy Proportional Datacenter Networks, Dennis Abts, Mike Marty, Philip Wells, Peter Klausler, Hong Liu, in ISCA 2010.

Additional papers covered in lecture:

  1. Razor: a low-power pipeline based on circuit-level timing speculation, Ernst, D.; Nam Sung Kim; Das, S.; Pant, S.; Rao, R.; Toan Pham; Ziesler, C.; Blaauw, D.; Austin, T.; Flautner, K.; Mudge, T., in MICRO 2003.
  2. Energy optimization of subthreshold-voltage sensor network processors, Nazhandali, L.; Zhai, B.; Olson, A.; Reeves, A.; Minuth, M.; Helfand, R.; Sanjay Pant; Austin, T.; Blaauw, D., in ISCA 2005.
  3. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor, Mukherjee, S.S.; Weaver, C.; Emer, J.; Reinhardt, S.K.; Austin, T., in MICRO 2003.
  4. Ultra Low-Cost Defect Protection for Microprocessor Pipelines, Kypros Constantinides, Smitha Shyam, Sujay Phadke, Valeria Bertacco and Todd Austin, in ASPLOS 2006.
  5. Architectural implications of brick and mortar silicon manufacturing, Martha Mercaldi Kim, Mojtaba Mehrara, Mark Oskin, Todd Austin, ISCA 2007.
  6. Testudo: Heavyweight security analysis via statistical sampling, Joseph L. Greathouse, Ilya Wagner, David A. Ramos, Gautam Bhatnagar, Todd Austin, Valeria Bertacco, Seth Pettie, MICRO 2008.
  7. Software-Based Online Detection of Hardware Defects Mechanisms, Architectural Support, and Evaluation
    Kypros Constantinides, Onur Mutlu, Todd Austin, Valeria Bertacco, MICRO 2007.


Presentation Schedule:

Paper Number

Presenter

#1 Wu
#2 Tandon
#3 Pannuto
#5 Ganguly
#6 Oberlin
#7 Arthur
#11 Marchese
#12 Le
#18 Moon
#22 Xin
#24 Larson
#27 Adams
#30 Roth
#33 Bailey
#34 Z. Sun
#35 Smith
#37 Alaghi
#39 Nadimpally
#43 Sundararajan
#49 Worth
#51 H. Sun
#52 Bloem
#54 Mammo
#58 Pajama
#59 Wustrow