Sciweavers

ASPLOS
2010
ACM

Dynamic filtering: multi-purpose architecture support for language runtime systems

14 years 7 months ago
Dynamic filtering: multi-purpose architecture support for language runtime systems
This paper introduces a new abstraction to accelerate the readbarriers and write-barriers used by language runtime systems. We exploit the fact that, dynamically, many barrier executions perform checks but no real work—e.g., in generational garbage collection (GC), frequent checks are needed to detect the creation of intergenerational references, even though such references occur rarely in many workloads. We introduce a form of dynamic filtering that identifies redundant checks by (i) recording checks that have recently been executed, and (ii) detecting when a barrier is repeating one of these checks. We show how this technique can be applied to a variety of algorithms for GC, transactional memory, and language-based security. By supporting dynamic filtering in the instruction set, we show that the fast-paths of these barriers can be streamlined, reducing the impact on the quality of surrounding code. We show how we accelerate the barriers used for generational GC and transaction...
Tim Harris, Sasa Tomic, Adrián Cristal, Osm
Added 17 May 2010
Updated 17 May 2010
Type Conference
Year 2010
Where ASPLOS
Authors Tim Harris, Sasa Tomic, Adrián Cristal, Osman S. Unsal
Comments (0)