Dynamic Filtering: Multi-Purpose Architecture Support for Language Runtime Systems

被引:0
|
作者
Harris, Tim
Tomic, Sasa
Cristal, Adrian
Unsal, Osman
机构
关键词
Languages; Performance;
D O I
10.1145/1735971.1736027
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper introduces a new abstraction to accelerate the read-barriers 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 inter-generational 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 transactional memory in the Bartok research compiler. With a 2048-entry filter, dynamic filtering eliminates almost all the overhead of the GC write-barriers. Dynamic filtering eliminates around half the overhead of STM over a non-synchronized baseline-even when used with an STM that is already designed for low overhead, and which employs static analyses to avoid redundant operations.
引用
收藏
页码:39 / 51
页数:13
相关论文
共 50 条
  • [1] Dynamic filtering: Multi-purpose architecture support for language runtime systems
    Harris, Tim
    Tomić, Saša
    Cristal, Adrián
    Unsal, Osman
    [J]. ACM SIGPLAN Notices, 2010, 45 (03): : 39 - 51
  • [2] Dynamic Filtering: Multi-Purpose Architecture Support for Language Runtime Systems
    Harris, Tim
    Tomic, Sasa
    Cristal, Adrian
    Unsal, Osman
    [J]. ASPLOS XV: FIFTEENTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS, 2010, : 39 - 51
  • [3] TEAR: a Multi-purpose Formal Language Specification for TEsting At Runtime
    Lopez, Jorge
    Maag, Stephane
    Morales, Gerardo
    [J]. PROCEEDINGS 10TH INTERNATIONAL CONFERENCE ON AVAILABILITY, RELIABILITY AND SECURITY ARES 2015, 2015, : 727 - 734
  • [4] Development of an interactive multi-purpose group support systems facility
    Wood, J
    Berry, R
    Rettenmayer, J
    [J]. WORLD MULTICONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL 1, PROCEEDINGS: ISAS '98, 1998, : 195 - 198
  • [5] A MULTI-PURPOSE PROGRAMMING LANGUAGE FOR PSYCHOLOGY
    GREEN, TRG
    ARBLASTER, AT
    MCCLUSKEY, T
    CORNAH, AJ
    [J]. BULLETIN OF THE BRITISH PSYCHOLOGICAL SOCIETY, 1984, 37 (FEB): : A12 - A12
  • [6] Multi-purpose control of dynamic system
    Ashimov, AA
    Borovskiy, YV
    Ashimov, AA
    [J]. 2005 INTERNATIONAL CONFERENCE ON PHYSICS AND CONTROL (PHYSCON), 2005, : 672 - 676
  • [7] Decision support model for operation of multi-purpose water resources systems
    Dölling, OR
    Varas, EA
    [J]. JOURNAL OF HYDRAULIC RESEARCH, 2005, 43 (02) : 115 - 124
  • [8] Multi-purpose HealthCare Telemedicine Systems with mobile communication link support
    Kyriacou, E.
    Pavlopoulos, S.
    Berler, A.
    Neophytou, M.
    Bourka, A.
    Georgoulas, A.
    Anagnostaki, A.
    Karayiannis, D.
    Schizas, C.
    Pattichis, C.
    Andreou, A.
    Koutsouris, D.
    [J]. BIOMEDICAL ENGINEERING ONLINE, 2003, 2 (1)
  • [9] A multi-purpose architecture for Collaborative Web Labs
    Bochicchio, Mario A.
    Longo, Antonella
    [J]. ICALT: 2009 IEEE INTERNATIONAL CONFERENCE ON ADVANCED LEARNING TECHNOLOGIES, 2009, : 70 - 74
  • [10] Multi-purpose HealthCare Telemedicine Systems with mobile communication link support
    E Kyriacou
    S Pavlopoulos
    A Berler
    M Neophytou
    A Bourka
    A Georgoulas
    A Anagnostaki
    D Karayiannis
    C Schizas
    C Pattichis
    A Andreou
    D Koutsouris
    [J]. BioMedical Engineering OnLine, 2