RRB Vector: A Practical General Purpose Immutable Sequence

被引:0
|
作者
Stucki, Nicolas [1 ]
Rompf, Tiark [2 ]
Ureche, Vlad [1 ]
Bagwell, Phil
机构
[1] Ecole Polytech Fed Lausanne, Lausanne, Switzerland
[2] Purdue Univ, W Lafayette, IN 47907 USA
关键词
Data Structures; Immutable; Sequences; Arrays; Trees; Vectors; Radix-Balanced; Relaxed-Radix-Balanced;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
State-of-the-art immutable collections have wildly differing performance characteristics across their operations, often forcing programmers to choose different collection implementations for each task. Thus, changes to the program can invalidate the choice of collections, making code evolution costly. It would be desirable to have a collection that performs well for a broad range of operations. To this end, we present the RRB-Vector, an immutable sequence collection that offers good performance across a large number of sequential and parallel operations. The underlying innovations are: (1) the Relaxed-Radix-Balanced (RRB) tree structure, which allows efficient structural reorganization, and (2) an optimization that exploits spatio-temporal locality on the RRB data structure in order to offset the cost of traversing the tree. In our benchmarks, the RRB-Vector speedup for parallel operations is lower bounded by 7 x when executing on 4 CPUs of 8 cores each. The performance for discrete operations, such as appending on either end, or updating and removing elements, is consistently good and compares favorably to the most important immutable sequence collections in the literature and in use today. The memory footprint of RRB-Vector is on par with arrays and an order of magnitude less than competing collections.
引用
收藏
页码:342 / 354
页数:13
相关论文
共 50 条
  • [1] RRB Vector: A Practical General Purpose Immutable Sequence
    Stucki, Nicolas
    Rompf, Tiark
    Ureche, Vlad
    Bagwell, Phil
    [J]. ACM SIGPLAN NOTICES, 2015, 50 (09) : 342 - 354
  • [2] Toward Practical 128-Bit General Purpose Microarchitectures
    Deshpande, Chandana S.
    Perais, Arthur
    Petrot, Frederic
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2023, 22 (02) : 81 - 84
  • [3] PRACTICAL APPLICATIONS OF A GENERAL-PURPOSE TCA CYCLE MODEL
    KELLEHER, JK
    MALLET, RT
    BRYAN, BM
    [J]. BIOPHYSICAL JOURNAL, 1985, 47 (02) : A239 - A239
  • [4] PRACTICAL APPLICATION OF PHYSICS TO DESIGN OF GENERAL PURPOSE ANGIOGRAPHIC ROOM
    WHITE, AF
    [J]. AMERICAN JOURNAL OF ROENTGENOLOGY, 1975, 125 (04) : 1003 - 1003
  • [5] Practical purpose
    Hargreaves, Ben
    [J]. PROFESSIONAL ENGINEERING, 2008, 21 (15) : 45 - 46
  • [6] A PRACTICAL APPROACH TO EVALUATION OF GERMICIDAL EFFICIENCY OF A GENERAL PURPOSE MILITARY DISINFECTANT
    ROGERS, MR
    KAPLAN, AM
    MAHER, JT
    [J]. APPLIED MICROBIOLOGY, 1961, 9 (06) : 497 - &
  • [7] Dynamic-Vector Execution on a General Purpose EDGE Chip Multiprocessor
    Duric, Milovan
    Palomar, Oscar
    Smith, Aaron
    Stanic, Milan
    Unsal, Osman
    Cristal, Adrian
    Valero, Mateo
    Burger, Doug
    Veidenbaum, Alex
    [J]. 2014 INTERNATIONAL CONFERENCE ON EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION (SAMOS XIV), 2014, : 18 - 25
  • [8] Long-term growth driven by a sequence of general purpose technologies
    Schaefer, Andreas
    Schiess, Daniel
    Wehrli, Roger
    [J]. ECONOMIC MODELLING, 2014, 37 : 23 - 31
  • [9] Towards a general-purpose sequence design system in DNA computing
    Tanaka, F
    Nakatsugawa, M
    Yamamoto, M
    Shiba, T
    Ohuchi, A
    [J]. CEC'02: PROCEEDINGS OF THE 2002 CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1 AND 2, 2002, : 73 - 78
  • [10] Parallel processing in biological sequence comparison using general purpose processors
    Sánchez, F
    Salamí, E
    Ramirez, A
    Valero, M
    [J]. IISWC - 2005: PROCEEDINGS OF THE 2005 IEEE INTERNATIONAL SYMPOSIUM ON WORKLOAD CHARACTERIZATION, 2005, : 99 - 108