EECS 573: Advanced Topics in Computer Architecture
(Fall 2018)

Class Times: Monday, Wednesday 10:30-noon, 2166 DOW

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

 

Instructor:  Todd Austin, 4637 BBB, austin@umich.edu
Instructor Office Hours:  Monday, Wednesday 9:30-10:30am in 4637 BBB, or by appointment.

GSI: Misiker Aga, 2773 BBB, misiker@umich.edu


GSI Office Hours:  TBD, 2773 BBB.

 

Course Synopsis: A graduate-level introduction to the foundations of efficient microprocessor design. We will be studying research from the computer architecture literature. The course will focus on three "hot" topics in computer architecture: (i) reliable system design, (ii) secure and correct system design, and (iii) application-specific architectures. Special emphasis is placed on helping members of the class transition from student to researcher, through projects, presentations and class discussions.

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

Class News:

Course Schedule (tentative):

 

DATE CLASS TOPIC CLASS READINGS CLASS EVENTS
Wed 9/05/2018   1 Introduction, What is research? Lecture #1 Paper list published
Mon 9/10/2018   2 Resilient System Design - Intro (Part 1) Lecture #2  
Wed 9/12/2018   3 Resilient System Design - Intro (Part 2) Lecture #3 Select teams/papers by end-of-day 9/12
Mon 9/17/2018   4 Resilient System Design - Example Paper Paper #96  
Wed 9/19/2018 5 Resilient System Design - Power vs. Reliability Lecture #4  
Mon 9/24/2018   6 Resilient System Design - Papers Paper #8 (talatin,tarunesh), Paper #16 (leulb,chshibo)

Receive project details

Wed 9/26/2017   7 Resilient System Design - Papers Paper #19 (jjyc,dramesh), Paper #5 (clconnor,chboggs)  
Mon 10/01/2018   8 Secure and Bug-Free Systems - Intro (Part 1) Lecture #5  
Wed 10/03/2018   9 Secure and Bug-Free Systems - Intro (Part 2) Lecture #6 Project proposals due, one page, in class
Mon 10/08/2018   10x Secure and Bug-Free Systems - Papers Paper #34 (loveless,akisil), Paper #38 (emnewber,ytobah)  
Wed 10/10/2018   11x Secure and Bug-Free Systems - Papers Paper #49 (cwboden,kylemay), Paper #47 (samschif,pedramz)  
Mon 10/15/2018   no class     Fall break
Wed 10/17/2018   11 Secure and Bug-Free Systems - Papers Paper #48 (fengsy,sungmk), Paper #36 (rjana,vveeriah)  
Mon 10/22/2018   12 Secure and Bug-Free Systems - Subtractive Security Lecture #7  
Wed 10/24/2018 13 Application-Specific Archs - Intro (Part 1) Lecture #8  
Mon 10/29/2018   14x Project checkpoint meetings   1-pg report due
Wed 10/31/2018   15 Application-Specific Archs - Intro (Part 2) Lecture #9  
Mon 11/05/2018 16x Application-Specific Archs - Special Topic Lecture #10 (Misiker will be giving this lecture.)
Wed 11/07/2018   17x Application-Specific Archs - Papers Paper #66 (jcma,gefeizuo), Paper #83 (kevlough,iangneal)  
Mon 11/12/2018   18 Application-Specific Archs - Papers Paper #76 (xpu,rohitkan), Paper #63 (aaalkay,bencyr)  
Wed 11/14/2018   19 Application-Specific Archs - Papers Paper #86 (achandr,varsh), Paper #72 (kedia)  
Mon 11/19/2018   20 Application-Specific Archs - Post Moore's Law Design Lecture #10  
Wed 11/21/2018   no class     Holiday break
Mon 11/26/2018   21 Exam Review Exam Review (a practice exam will be available)  
Wed 11/28/2018   22 Exam   Exam 11/28, in class, open book/notes
Mon 12/03/2018   23 Extended project office hours  (in 2773 BBB)    
Tues 12/04/2018   24 Project presentations (extended meeting)   Project presentations, details TBD...
Mon 12/10/2018   25 Project reports due   Reports due 12/10 by end-of-day via email

Project: There will be one project beginning in week 5. Students may work in pairs or groups of up to four - 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 will be available shortly before the project starts.

Grading:

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

Reading List:

We will be reading many of 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. Don't Correct the Tags in a Cache, Just Check Their Hamming Distance from the Lookup Tag, Gendler et al, HPCA 2018.
  2. Clank: Architectural Support for Intermittent Computation, Hicks, ISCA 2017.
  3. Defect Analysis and Cost-Effective Resilience Architecture for Future DRAM Devices, Cha et al, HPCA 2017.
  4. Reliability-Aware Scheduling on Heterogeneous Multicore Processors, Naithani et al, HPCA 2017.
  5. Radiation-Induced Error Criticality in Modern HPC Parallel Accelerators, De Oliveira et al, HPCA 2017.
  6. The Reach Profiler (REAPER): Enabling the Mitigation of DRAM Retention Failures via Profiling at Aggressive Conditions, Patel et al, ISCA 2017.
  7. RelaxFault Memory Repair, Dong Wan Kim and Mattan Erez, in ISCA 2016.
  8. Mellow Writes: Extending Lifetime in Resistive Memories through Selective Slow Write Backs, Lunkai Zhang, Brian Neely, Diana Franklin, Dmitri Strukov, Yuan Xie, and Frederic T. Chong, ISCA 2016.
  9. XED: Exposing On-Die Error Detection Information for Strong Memory Reliability, Prashant J. Nair, Vilas Sridharan, and Moinuddin K. Qureshi, ISCA 2016.
  10. Using ECC Feedback to Guide Voltage Speculation in Low-Voltage Processors,  A. Bacha et. al., in MICRO 2014.
  11. Avoiding Core's DUE & SDC via Acoustic Wave Detectors and Tailored Error Containment and Recovery, Upasani  et. al., in ISCA 2014.
  12. Fine-Grained Fault Tolerance using Device Checkpoints, Kadev et. al., in ASPLOS 2013.
  13. ArchShield: Architectural Framework for Assisting DRAM Scaling by Tolerating High Error-Rates, Nair et. al., in ISCA 2013.
  14. Resilient Die-stacked DRAM Caches, Sim et. al., in ISCA 2013.
  15. The Performance Vulnerability of Architectural and Non-architectural Arrays to Permanent Faults, Hardy et. al., in MICRO 2012.
  16. NoCAlert: An On-Line and Real-Time Fault Detection Mechanism for Network-on-Chip Architectures, Prodromou et. al., in MICRO 2012.
  17. Active Management of Timing Guardband to Save Energy in POWER7, Charles Lefurgy, Alan Drake, Michael Floyd, Malcolm Allen-Ware, Bishop Brock, Jose Tierno, and John Carter (IBM), MICRO 2011.
  18. 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.
  19. 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.
  20. 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.
  21. Perturbation-based Fault Screening, Racunas, P.; Constantinides, K.; Manne, S.; Mukherjee, S.S., HPCA 2007.
  22. Process Variation Tolerant 3T1D-Based Cache Architectures, Xiaoyao Liang, Ramon Canal, Gu-Yeon Wei, David Brooks, MICRO 2007.
  23. Argus: Low-Cost, Comprehensive Error Detection in Simple Cores, Albert Meixner, Michael E. Bauer, Daniel Sorin, MICRO 2007.
  24. Rescue: a microarchitecture for testability and defect tolerance, Schuchman, E.; Vijaykumar, T.N., in ISCA 2005.
  25. A mechanism for online diagnosis of hard faults in microprocessors, Bower, F.A.; Sorin, D.J.; Ozev, S., in MICRO 2005.
  26. Non-Stalling Counterflow Architecture, Michael F. Miller, Kenneth J. Janik, and Shih-Lien Lu, in HPCA-4.

    Secure and Bug-Free Systems
     
  27. Secure Chip Odometers Using Intentional Controlled Aging, Akkaya et al, HOST 2018.
  28. A Compact Energy-Efficient Pseudo-Static Camouflaged Logic Family, Mohan et al, HOST 2018.
  29. Independent Detection of Recycled Flash Memory: Challenges and Solutions, Kumari et al, HOST 2018.
  30. Horizontal Side-Channel Vulnerabilities of Post-Quantum Key Exchange Protocols, Aysu et al, HOST 2018.
  31. Mobilizing the Micro-Ops: Exploiting Context Sensitive Decoding for Security and Energy Efficiency, Taram et al, ISCA 2018.
  32. Practical Memory Safety with REST, Sinha et al, ISCA 2018.
  33. ASLR on the Line: Practical Cache Attacks on the MMU, Gras et al, NDSS 2017.
  34. ObfusMem: A Low-Overhead Access Obfuscation for Trusted Memories, Awad et al, ISCA 2017.
  35. Lemonade from Lemons: Harnessing Device Wearout to Create Limited-Use Security Architectures, Deng et al, ISCA 2017.
  36. EDDIE: EM-Based Detection of Deviations in Program Execution, Nazari et al, ISCA 2017.
  37. PoisonIvy: Safe Speculation for Secure Memory, Lehman et al, MICRO 2016.
  38. Jump Over ASLR: Attacking Branch Predictors to Bypass ASLR, Evtyushkin et al, MICRO 2016.
  39. Vulnerabilities in MLC NAND Flash Memory Programming: Experimental Analysis, Exploits, and Mitigation Techniques, Cai et al, HPCA 2017.
  40. Secure Dynamic Memory Scheduling Against Timing Channel Attacks, Wang et al, HPCA 2017.
  41. Authenticache: Harnessing Cache ECC for System Authentication, Anys Bacha et.al., MICRO 2015.
  42. Silent Shredder: Zero-Cost Shredding for Secure Non-Volatile Main Memory Controllers, A. Awad et.al., ASPLOS 2016.
  43. GhostRider: A Hardware-Software System for Memory Trace Oblivious Computation, C. Liu et.al.,  ASPLOS 2015.
  44. Sanctum: Minimal Hardware Extensions for Strong Software Isolation, Victor Costan et.al., in USENIX 2016.
  45. Border control: sandboxing accelerators, L. E. Olson et.al., MICRO 2015.
  46. Cache Storage Channels: Alias-Driven Attacks and Verified Countermeasures, R. Guanciale et.al., IEEE SP 2016.
  47. Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors, Y. Kim, in ISCA 2014.
  48. A Practical Methodology for Measuring the Side-Channel Signal Available to the Attacker for Instruction-Level Events, R. Callan et. al., in MICRO 2014.
  49. InkTag: Secure Applications on an Untrusted Operating System, Hofmann et. al., in ASPLOS 2013.
  50. Using Likely Invariants for Automated Software Fault Localization, Sahoo et. al., in ASPLOS 2013.
  51. On the Feasibility of Online Malware Detection with Performance Counters, Demme et. al., in ISCA 2013.
  52. Design Space Exploration and Optimization of Path Oblivious RAM in Secure Processors, Ren et. al., in ISCA 2013.
  53. SCRAP: Architecture for Signature-Based Protection from Code Reuse Attacks, Kayaalp et. al., in HPCA 2013.
  54. Reliably Erasing Data From Flash-Based Solid State Drives, Michael Wei, Laura M. Grupp, Frederick E. Spada, Steven Swanson, FAST 2011.
  55. A Randomized Scheduler with Probabilistic Guarantees of Finding Bugs, Sebastian Burckhardt, Pravesh Kothari, Madanlal Musuvathi and Santosh Nagarakatte (Microsoft Research), ASPLOS 2010.
  56. Entropy Extraction in Metastability-based TRNG, V. Suresh and W. Burleson, HOST 2010.
  57. A case for an interleaving constrained shared-memory multi-processor, Jie Yu, Satish Narayanasamy, ISCA 2009.
  58. Designing and implementing malicious hardware, Samuel T. King, Joseph Tucek, Anthony Cozzie, Chris Grier, Weihang Jiang, and Yuanyuan Zhou, LEET 2008.
  59. Control flow obfuscation with information flow tracking, Haibo Chen, Liwei Yuan, Xi Wu, Binyu Zang, Bo Huang, Pen-chung Yew, MICRO 2009.
  60. Hardbound: architectural support for spatial safety of the C programming language, Joe Devietti, Colin Blundell, Milo M. K. Martin, Steve Zdancewic, ASPLOS 2008.

    Application-Specific Architectures
     
  61. An Experimental Microarchitecture for a Superconducting Quantum Processor, Fu et al, MICRO 2017.
  62. Space-Time Algebra: A Model for Neocortical Computation, Smith, ISCA 2018.
  63. GenAx: A Genome Sequencing Accelerator, Fuijiki et al, ISCA 2018.
  64. PROMISE: An End-to-End Design of a Programmable Mixed-Signal Accelerator for Machine-Learning Algorithms, Srivastava et al, ISCA 2018.
  65. A Case for Packageless Processors, Pal et al, HPCA 2018.
  66. Compute Caches, Aga et al, HPCA 2017.
  67. SCALEDEEP: A Scalable Compute Architecture for Learning and Evaluating Deep Networks, Venkataramani et al, ISCA 2017.
  68. Bespoke Processors for Applications with Ultra-low Area and Power Constraints, Cherupalli  et al, ISCA 2017.
  69. Plasticine: A Reconfigurable Architecture for Parallel Patterns, Prabhakar et al, ISCA 2017.
  70. Energy Efficient Architecture for Graph Analytics Accelerators, Muhammet Mustafa Ozdal , Serif Yesil, Taemin Kim, Andrey Ayupov, John Greth, Steven Burns, and Ozcan Ozturk, ISCA 2016.
  71. ASIC Clouds: Specializing the Datacenter, Ikuo Magaki, Moein Khazraee, Luis Vega Gutierrez, and Michael Bedford Taylor, ISCA 2016.
  72. MaPU: A novel mathematical computing architecture, Donglin Wang et al., HPCA 2016.
  73. TABLA: A unified template-based framework for accelerating statistical machine learning, Divya Mahajan et al, HPCA 2016.
  74. Gather-scatter DRAM: in-DRAM address translation to improve the spatial locality of non-unit strided accesses, Vivek Seshadri et al, MICRO 2015.
  75. An energy-efficient memory-based high-throughput VLSI architecture for convolutional networks, Mingu Kang et al, ICASSP 2015.
  76. HRL: Efficient and Flexible Reconfigurable Logic for Near-Data Processing, Mingyu Gao and Christos Kozyrakis, HPCA 2016.
  77. General-Purpose Code Acceleration with Limited-Precision Analog Computation, R. St. Amant et. al., in ISCA 2014.
  78. Aladdin: A Pre-RTL, Power-Performance Accelerator Simulator Enabling Large Design Space Exploration of Customized Architectures, Shao et. al., in ISCA 2014.
  79. HELIX-RC: An Architecture-Compiler Co-Design for Automatic Parallelization of Irregular Programs, Campanoni  et.al., in ISCA 2014.
  80. Understanding sources of inefficiency in general-purpose chips, Hameed et al., in ISCA 2010.
  81. LINQits: big data on little clients, Chung et al., in ISCA 2013.
  82. STREX: Boosting Instruction Cache Reuse in OLTP Workloads Through Stratified Transaction Execution, Atta et al., in ISCA 2013.
  83. Convolution Engine: Balancing Efficiency and Flexibility in Specialized Computing, Qadeer et. al., in ISCA 2013.
  84. Neural Acceleration for General-Purpose Approximate Programs, Esmaeilzadeh et. al., in MICRO 2012.
  85. Architecture Support for Disciplined Approximate Programming. Hadi Esmaeilzadeh (University of Washington), Adrian Sampson (University of Washington), Luis Ceze (University of Washington) and Doug Burger (Microsoft Research), ASPLOS 2012.
  86. 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.
  87. Anton, a special-purpose machine for molecular dynamics simulation, David E. Shaw and et al, ISCA 2007.
  88. ParallAX: an architecture for real-time physics, Thomas Y. Yeh, Petros Faloutsos, Sanjay J. Patel, Glenn Reinman, ISCA 2007.
  89. 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.

    Additional papers covered in lecture:
     
  90. A Case for Unlimited Watchpoints. Joseph Greathouse (University of Michigan), Hongyi Xin (University of Michigan/SJTU), Yixin Luo (University of Michigan/SJTU) and Todd Austin (University of Michigan), ASPLOS 2012.
  91. EFFEX: an embedded processor for computer vision bSased feature extraction, Jason Clemons, Andrew Jones, Robert Perricone, Silvio Savarese, Todd M. Austin, DAC 2011.
  92. Fault-Based Attack of RSA Authentication, Andrea Pellegrini, Valeria Bertacco and Todd Austin, in the 2010 Design, Automation and Test in Europe Conference (DATE-2010), March 2010.
  93. 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.
  94. 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.
  95. 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.
  96. Ultra Low-Cost Defect Protection for Microprocessor Pipelines, Kypros Constantinides, Smitha Shyam, Sujay Phadke, Valeria Bertacco and Todd Austin, in ASPLOS 2006.
  97. Architectural implications of brick and mortar silicon manufacturing, Martha Mercaldi Kim, Mojtaba Mehrara, Mark Oskin, Todd Austin, ISCA 2007.
  98. 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.
  99. Software-Based Online Detection of Hardware Defects Mechanisms, Architectural Support, and Evaluation
    Kypros Constantinides, Onur Mutlu, Todd Austin, Valeria Bertacco, MICRO 2007.