Evaluating Fragment Construction Policies for SDT Systems

Abstract

Software Dynamic Translation (SDT) systems have been used for program instrumentation, dynamic optimization, security policy enforcement, intrusion detection, and many other uses. To be widely applicable, the overhead (runtime, memory usage, and power consumption) should be as low as possible. For instance, if an SDT system is protecting a web server against possible attacks, but causes 30% slowdown, a company may need 30% more machines to handle the web traffic they expect. Consequently, the causes of SDT overhead should be studied rigorously. This work evaluates many alternative policies for the creation of fragments within the Strata SDT framework. In particular, we examine the effects of ending translation at conditional branches; ending translation at unconditional branches; whether to use partial inlining for call instructions; whether to build the target of calls immediately or lazily; whether to align branch targets; and how to place code to transition back to the dynamic translator. We find that effective translation strategies are vital to program performance, improving performance from as much as 28% overhead, to as little as 3% overhead on average for the SPEC CPU2000 benchmark suite. We further demonstrate that these translation strategies are effective across several platforms, including Sun SPARC UltraSparc IIi, AMD Athlon Opteron, and Intel Pentium IV processors.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2006
Accession Number
ADA465218

Entities

People

  • Adrian Filipi
  • Bruce R. Childers
  • Daniel Williams
  • Jack W. Davidson
  • Jason D. Hiser

Organizations

  • University of Virginia

Tags

Communities of Interest

  • Cyber
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Computer Architecture
  • Computer Programming
  • Computer Science
  • Computers
  • Computing System Architectures
  • Construction
  • Energy Consumption
  • Instruction Set Architecture
  • Instrumentation
  • Intrusion Detection
  • Language
  • Microarchitecture
  • New York
  • Operating Systems
  • Programming Languages
  • Simulators
  • Translations

Fields of Study

  • Computer science

Readers

  • Aerospace logistics and air mobility.
  • Parallel and Distributed Computing.
  • Strategic Security Studies