US 12,118,226 B2
Systems, methods, and devices for shuffle acceleration
Chen Zou, Chicago, IL (US); Hui Zhang, San Jose, CA (US); Joo Hwan Lee, San Jose, CA (US); and Yang Seok Ki, Palo Alto, CA (US)
Assigned to SAMSUNG ELECTRONICS CO., LTD., (KR)
Filed by Samsung Electronics Co., Ltd., Suwon-si (KR)
Filed on Apr. 7, 2021, as Appl. No. 17/225,085.
Claims priority of provisional application 63/116,801, filed on Nov. 20, 2020.
Prior Publication US 2022/0164122 A1, May 26, 2022
Int. Cl. G06F 3/00 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0647 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method of shuffling data, the method comprising:
shuffling a first batch of data using a first memory on a first level of a memory hierarchy to generate a first batch of shuffled data;
shuffling a second batch of data using the first memory to generate a second batch of shuffled data;
storing the first batch of shuffled data and the second batch of shuffled data in a second memory on a second level of the memory hierarchy;
partitioning a portion of the first batch of data which was streamed from the first memory, wherein partitioning includes generating a partition ID for a record in the first batch of data and the partition ID is used in sorting;
grouping a portion of the second batch of data in parallel with the partitioning of the portion of the first batch of data;
fetching a key column, and streaming a key from the key column; and
partitioning the key in parallel with the fetching.