Wed 15 Jun 2016 11:00 - 11:30 at Grand Ballroom Santa Ynez - Down to the Metal I Chair(s): Stephen McCamant

Dynamic probe injection is now a widely used method to debug performance in production. Current techniques for dynamic probing of native code, however, rely on an expensive stop-the-world approach: binary changes are made within a safe state of the program—typically in which all the program threads are halted—to ensure that another thread executing the modified code region doesn’t step into a partially-modified code.

Stop-the-world patching is not scalable. In contrast, low overhead, scalable probes that can be rapidly toggled on and off in-place would open up new use cases for statistical profilers and language implementations, even traditional ahead-of-time, native-code compilers. In this paper we introduce safe cross-modification protocols that mutate x86 code between threads but do not require quiescing threads, resulting in radically lower overheads than existing solutions. A key problem is handling instructions that straddle cache lines. We empirically evaluate existing x86 architectures to derive a safe policy given current processor behavior, and we argue that future architectures should clarify the semantics of instruction fetching to make cheap cross-modification easier and future proof.

Wed 15 Jun

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
Down to the Metal IResearch Papers at Grand Ballroom Santa Ynez
Chair(s): Stephen McCamant University of Minnesota
10:30
30m
Talk
Into the depths of C: elaborating the de facto standards
Research Papers
Kayvan Memarian University of Cambridge, Justus Matthiesen University of Cambridge, James Lingard University of Cambridge (when this work was done), Kyndylan Nienhuis University of Cambridge, David Chisnall University of Cambridge, Robert N. M. Watson University of Cambridge, Peter Sewell University of Cambridge
Link to publication Media Attached
11:00
30m
Talk
Living on the edge: Rapid-toggling probes with cross modification on x86
Research Papers
Buddhika Chamith , Bo Joel Svensson Indiana University, Luke Dalessandro Indiana University, Ryan R. Newton Indiana University
Pre-print Media Attached
11:30
30m
Talk
Polymorphic Type Inference for Machine Code
Research Papers
Matt Noonan GrammaTech, Inc, Alexey Loginov GrammaTech, Inc, David Cok GrammaTech, Inc
Pre-print Media Attached