9

Click here to load reader

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

Embed Size (px)

DESCRIPTION

Hardware View

Citation preview

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

LBA Reading Group Review:

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

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

Software View

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

Hardware View

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

Results

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

Details

SESC Simulator - UIUC - MIPS ISA

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

More…

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

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

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

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)

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

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