Single-Pass List Partitioning
暂无分享,去创建一个
Parallel algorithms divide computation among several threads. In many cases, the input must also be divided. Consider an input consisting of a linear sequence of elements whose length is unknown a priori. We can evenly divide it naively by either traversing it twice (first determine length, then divide) or by using linear additional memory to hold an array of pointers to the elements. Instead, we propose an algorithm that divides a linear sequence into p parts of similar length traversing the sequence only once, and using sub-linear additional space. The experiments show that our list partitioning algorithm is effective and fast in practice.
[1] Peter Sanders,et al. MCSTL: the multi-core standard template library , 2007, PPOPP.
[2] Johannes Singler,et al. The libstdc++ parallel mode: software engineering considerations , 2008, ICSE 2008.
[3] Walter F. Tichy,et al. International workshop on multicore software engineering (IWMSE 2008) , 2008, ICSE Companion '08.