Scalable Suffix Sorting on a Multicore Machine

被引:6
|
作者
Xie, Jing Yi [1 ]
Nong, Ge [1 ]
Lao, Bin [2 ]
Xu, Wentao [1 ]
机构
[1] Sun Yat Sen Univ, Sch Data & Comp Sci, Guangzhou 510275, Guangdong, Peoples R China
[2] Guangdong Univ Foreign Studies, Sch Informat Sci & Technol, Guangzhou 510420, Peoples R China
基金
中国国家自然科学基金;
关键词
Sorting; Random access memory; Indexes; Multicore processing; Arrays; Task analysis; Big Data; Suffix sorting; algorithm design; multicore computer; ARRAY CONSTRUCTION;
D O I
10.1109/TC.2020.2972546
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
A number of methods have been proposed for suffix sorting on internal memory of RAM and external memory of hard disks. The current best results for suffix sorting on internal or external memory are achieved by several algorithms using the induced sorting (IS) method in various ways. While these algorithms are efficient, the internal ones are much different from those external in terms of the algorithm designs. A scalable IS method that can be applied for suffix sorting on both internal and external memory is highly desired. This article proposes a blockwise IS method to facilitate pipelined access on internal memory and sequential I/Os on external memory. The detailed algorithm of using this method for a 4-stage pipeline with multiple threads is described, where multiple threads are applied to parallelize not only the pipelined stages of consecutive blocks but also the tasks within each stage wherever possible. This algorithm is evaluated by our experiments on a set of realistic and artificial datasets to achieve better overall time and space performance than the existing best results from pSACAK, pDSS and pKS. Beside sorting suffixes on internal memory in linear time, the proposed method can be ported to external memory for sorting massive suffixes in linear I/O complexity.
引用
收藏
页码:1364 / 1375
页数:12
相关论文
共 50 条
  • [31] The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
    Clements, Austin T.
    Kaashoek, M. Frans
    Kohler, Eddie
    Morris, Robert T.
    Zeldovich, Nickolai
    COMMUNICATIONS OF THE ACM, 2017, 60 (08) : 83 - 90
  • [32] On Sorting of Signed Permutations by Prefix and Suffix Reversals and Transpositions
    Lintzmayer, Carla Negri
    Dias, Zanoni
    ALGORITHMS FOR COMPUTATIONAL BIOLOGY, 2014, 8542 : 146 - 157
  • [33] Nonblocking Algorithms and Scalable Multicore Programming
    Al Bahra, Samy
    COMMUNICATIONS OF THE ACM, 2013, 56 (07) : 50 - 61
  • [34] The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
    Clements, Austin T.
    Kaashoek, M. Frans
    Zeldovich, Nickolai
    Morris, Robert T.
    Kohler, Eddie
    ACM TRANSACTIONS ON COMPUTER SYSTEMS, 2015, 32 (04):
  • [35] Nonblocking algorithms and scalable multicore programming
    Al Bahra, Samy
    Queue, 2013, 11 (05):
  • [36] Fast BWT in small space by blockwise suffix sorting
    Karkkainen, Juha
    THEORETICAL COMPUTER SCIENCE, 2007, 387 (03) : 249 - 257
  • [37] Parallel Suffix Sorting based on Bucket Pointer Refinement
    Mohamed, Hisham
    Abouelhoda, Mohamed
    2010 5TH CAIRO INTERNATIONAL BIOMEDICAL ENGINEERING CONFERENCE (CIBEC 2010), 2010, : 98 - 102
  • [38] A Scalable Ordering Primitive for Multicore Machines
    Kashyap, Sanidhya
    Min, Changwoo
    Kim, Kangnyeon
    Kim, Taesoo
    EUROSYS '18: PROCEEDINGS OF THE THIRTEENTH EUROSYS CONFERENCE, 2018,
  • [39] A Scalable Test Structure for Multicore Chip
    Das, Sukanta
    Sikdar, Biplab K.
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2010, 29 (01) : 127 - 137
  • [40] The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
    Clements, Austin T.
    Kaashoek, M. Frans
    Zeldovich, Nickolai
    Morris, Robert T.
    Kohler, Eddie
    SOSP'13: PROCEEDINGS OF THE TWENTY-FOURTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 2013, : 1 - 17