Architectural Support for Software-Defined Metadata Processing
- 14 March 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM)
Abstract
Optimized hardware for propagating and checking software-programmable metadata tags can achieve low runtime overhead. We generalize prior work on hardware tagging by considering a generic architecture that supports software-defined policies over metadata of arbitrary size and complexity; we introduce several novel microarchitectural optimizations that keep the overhead of this rich processing low. Our model thus achieves the efficiency of previous hardware-based approaches with the flexibility of the software-based ones. We demonstrate this by using it to enforce four diverse safety and security policies---spatial and temporal memory safety, taint tracking, control-flow integrity, and code and data separation---plus a composite policy that enforces all of them simultaneously. Experiments on SPEC CPU2006 benchmarks with a PUMP-enhanced RISC processor show modest impact on runtime (typically under 10%) and power ceiling (less than 10%), in return for some increase in energy usage (typically under 60%) and area for on-chip memory structures (110%).Keywords
Funding Information
- DARPA CRASH through ARFL (FA8650-10-C-7090)
This publication has 58 references indexed in Scilit:
- The gem5 simulatorACM SIGARCH Computer Architecture News, 2011
- Native ClientCommunications of the ACM, 2010
- Control-flow integrity principles, implementations, and applicationsACM Transactions on Information and System Security, 2009
- Flexible Hardware Acceleration for Instruction-Grain Program MonitoringACM SIGARCH Computer Architecture News, 2008
- RakshaACM SIGARCH Computer Architecture News, 2007
- MinosACM Transactions on Architecture and Code Optimization, 2006
- SPEC CPU2006 benchmark descriptionsACM SIGARCH Computer Architecture News, 2006
- DISEACM SIGARCH Computer Architecture News, 2003
- Evaluation of the SPUR Lisp architectureACM SIGARCH Computer Architecture News, 1986
- Architecture of the Symbolics 3600ACM SIGARCH Computer Architecture News, 1985