Patent ID: 9274835
Filing Date: 2016-03-01
CPC Classification: G06F

Claim Text:
1. A method of orchestrated shuffling of data in a non-uniform memory access device that includes a plurality of processing nodes, the method comprising: running an application on a plurality of threads executing on the plurality of processing nodes, wherein running the application includes dividing data on each thread into partitions according to a target thread on which the data is to be processed; identifying, by the threads, data to be shuffled from source threads running on source processing nodes among the processing nodes to target threads running on target processing nodes among the processing nodes; generating a plan for orchestrating shuffling of the data among the a plurality of memory devices associated with the plurality of processing nodes, the plan including utilizing a data-shifting table to identify an order in which the data partitions are to be transferred from the source threads of the source processing nodes to the target threads of the target processing nodes; shuffling the data among the plurality of memory devices associated with the plurality of processing nodes based on the plan by transmitting data partitions from the plurality of source threads to the plurality of target threads according to the data-shifting table, wherein the data is transmitted simultaneously among the plurality of processing nodes; shifting the data-shifting table to associate each source thread with a different target thread; and transmitting another set of data partitions from the plurality of source threads to the plurality of target threads based on shifting the data-shifting table.