LBA Reading Group Review: HeapMon: A helper-thread approach to programmable, automatic, and low- overhead memory bug detection.

Slides:



Advertisements
Similar presentations
Parallel and Distributed Simulation Time Warp: Other Mechanisms.
Advertisements

Chapter 6 Limited Direct Execution
CS 153 Design of Operating Systems Spring 2015
CS 333 Introduction to Operating Systems Class 12 - Virtual Memory (2) Jonathan Walpole Computer Science Portland State University.
Efficient and Flexible Architectural Support for Dynamic Monitoring YUANYUAN ZHOU, PIN ZHOU, FENG QIN, WEI LIU, & JOSEP TORRELLAS UIUC.
CS 333 Introduction to Operating Systems Class 11 – Virtual Memory (1)
Operating System Support Focus on Architecture
CS 333 Introduction to Operating Systems Class 11 – Virtual Memory (1)
Intro to Computer Architecture
PathExpander: Architectural Support for Increasing the Path Coverage of Dynamic Bug Detection S. Lu, P. Zhou, W. Liu, Y. Zhou, J. Torrellas University.
NYU DARPA DIS kick-off September 24, Comparing IA-64 and HPL-PD NYU.
Memory: Virtual MemoryCSCE430/830 Memory Hierarchy: Virtual Memory CSCE430/830 Computer Architecture Lecturer: Prof. Hong Jiang Courtesy of Yifeng Zhu.
MemTracker Efficient and Programmable Support for Memory Access Monitoring and Debugging Guru Venkataramani, Brandyn Roemer, Yan Solihin, Milos Prvulovic.
LogTM: Log-Based Transactional Memory Kevin E. Moore, Jayaram Bobba, Michelle J. Moravan, Mark D. Hill, & David A. Wood Presented by Colleen Lewis.
Qin Zhao (MIT) Derek Bruening (VMware) Saman Amarasinghe (MIT) Efficient Memory Shadowing for 64-bit Architectures ISMM 2010, Toronto, Canada June 6, 2010.
IA-64 ISA A Summary JinLin Yang Phil Varner Shuoqi Li.
Chapter 10 The Stack Stack: An Abstract Data Type An important abstraction that you will encounter in many applications. We will describe two uses:
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
A Case for Unlimited Watchpoints Joseph L. Greathouse †, Hongyi Xin*, Yixin Luo †‡, Todd Austin † † University of Michigan ‡ Shanghai Jiao Tong University.
Colorama: Architectural Support for Data-Centric Synchronization Luis Ceze, Pablo Montesinos, Christoph von Praun, and Josep Torrellas, HPCA 2007 Shimin.
CS399 New Beginnings Jonathan Walpole. Virtual Memory (1)
Virtual Memory. Virtual Memory: Topics Why virtual memory? Virtual to physical address translation Page Table Translation Lookaside Buffer (TLB)
University of Maryland Dynamic Floating-Point Error Detection Mike Lam, Jeff Hollingsworth and Pete Stewart.
Pipeline Data Hazards Warning, warning, warning! Read 4.8 Peer Instruction Lecture Materials for Computer Architecture by Dr. Leo Porter is licensed under.
1 Memory Management. 2 Fixed Partitions Legend Free Space 0k 4k 16k 64k 128k Internal fragmentation (cannot be reallocated) Divide memory into n (possible.
M. Tiwari, B. Agrawal, S. Mysore, J. Valamehr, T. Sherwood, CS & ECE of UCSB Reading Group Presentation by Theo.
Processes and Virtual Memory
HARD: Hardware-Assisted lockset- based Race Detection P.Zhou, R.Teodorescu, Y.Zhou. HPCA’07 Shimin Chen LBA Reading Group Presentation.
University of Texas at Austin CS352H - Computer Systems Architecture Fall 2009 Don Fussell CS352H: Computer Systems Architecture Topic 9: MIPS Pipeline.
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software Paper by: James Newsome and Dawn Song.
TBPM Front-End Software Design Review L.Piccoli April
Introduction to Computer Organization Pipelining.
Computer Structure 2015 – Intel ® Core TM μArch 1 Computer Structure Multi-Threading Lihu Rappoport and Adi Yoaz.
G. Venkataramani, I. Doudalis, Y. Solihin, M. Prvulovic HPCA ’08 Reading Group Presentation 02/14/2008.
Memory Management – Page 1CSCI 4717 – Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Memory Management *** Modified – look for Reading:
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Virtual Memory 1 Computer Organization II © McQuain Virtual Memory Use main memory as a “cache” for secondary (disk) storage – Managed jointly.
Chapter 6 Limited Direct Execution Chien-Chung Shen CIS/UD
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
Translation Lookaside Buffer
CMSC 611: Advanced Computer Architecture
Computer Organization CS224
TBPM Front-End Software Design Review
From Address Translation to Demand Paging
Outline Paging Swapping and demand paging Virtual memory.
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Virtual Memory Management
CS510 Operating System Foundations
CSE 153 Design of Operating Systems Winter 2018
CDA 3101 Spring 2016 Introduction to Computer Organization
Chapter 10 The Stack.
Pipelining: Advanced ILP
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
The processor: Pipelining and Branching
System Calls.
1Intel Research Pittsburgh 2CMU 3EPFL 4UT Austin
Today’s agenda Hardware architecture and runtime system
Translation Lookaside Buffer
Morgan Kaufmann Publishers Memory Hierarchy: Virtual Memory
CETS: Compiler-Enforced Temporal Safety for C
Translation Buffers (TLB’s)
CSC3050 – Computer Architecture
ECE 445 – Computer Organization
CSE 153 Design of Operating Systems Winter 2019
Translation Buffers (TLBs)
Virtual Memory Use main memory as a “cache” for secondary (disk) storage Managed jointly by CPU hardware and the operating system (OS) Programs share main.
Review What are the advantages/disadvantages of pages versus segments?
Presentation transcript:

LBA Reading Group Review: HeapMon: A helper-thread approach to programmable, automatic, and low- overhead memory bug detection

Software View

Hardware View

Results

Details SESC Simulator - UIUC - MIPS ISA

More…

Key Take-Aways: Strengths Heap access checking with low performance overhead Filter bits can provide enormous benefit  95% of checks eliminated But… filter bit calculation is expensive  Checks the effect of the access  Improves queue size as well as performance 64-entry request and 8-entry response Two modes: precise and imprecise Sensitivity analysis shows VFC key for some apps Cute discussion of undetected, injected bugs

Key Take-Aways: Weaknesses Hardware non-neglible (VFC, filter bits, queue) Similar MemCheck limitations  Unable to detect OOB accesses that hit an allocated area  Apps that perform special mem. management need handling  Other? What about stack accesses?  Possible by treating frame creation as malloc? No discussion of false positives No discussion of protections for checking mechanism  The “stop-monitoring” annotation could be dangerous No discussion of precisely clearing the filter bits Unclear how to generalize (eg TaintCheck) Precise mode modeled sufficiently? (single-cycle fetch)

Comparisons CMP parallel always-on bug checking SW event insertion similar to annotations Application core stalls if queue is full No discussion of multi-level state bit checking* No handling of memory ordering resolution