|
@@ -4,15 +4,18 @@
|
|
|
#include "pthread.h"
|
|
|
|
|
|
/*
|
|
|
- TightCompaction (Non-Order Preserving Tight Compaction):
|
|
|
+ TightCompaction (Order Preserving Tight Compaction):
|
|
|
|
|
|
- Non-Order Preserving TightCompaction can take an input array of blocks of
|
|
|
+ Order Preserving TightCompaction can take an input array of blocks of
|
|
|
block_size bytes each, and an array of "marked" elements with ones at the
|
|
|
indices corresponding to the blocks that need to be compacted.
|
|
|
It returns the input array TightCompact-ed, i.e. all the real blocks are
|
|
|
moved to the start of the array, or compacted to an input index
|
|
|
(with wraparound)
|
|
|
|
|
|
+ This is the Oblivious Recusrive Compaction (ORCompact) algorithm from
|
|
|
+ our CCS 2022 paper "Fast Fully Oblivious Compaction and Shuffling".
|
|
|
+
|
|
|
*/
|
|
|
|
|
|
template <OSwap_Style oswap_style>
|