Research Article

Locality-Aware Task Scheduling and Data Distribution for OpenMP Programs on NUMA Systems and Manycore Processors

Algorithm 3

Work-dealing algorithm for TILEPro64.
(1)Procedure  deal-work(task T, queues , current home cache n,
 current data distribution policy p, access-intensive dependence index a)
(2)if    then
(3)  if  exists a  then
(4)     find  containing T.depend_list[];
(5)     enqueue(, T);
(6)  else
(7)     Populate with bytes in T.depend_list;
(8)     if    then
(9)      find with least home cache latency cost to ;
(10)      enqueue(, T);
(11)        else
(12)       enqueue(, T);
(13)        end
(14)   end
(15)    else
(16)    enqueue(, T);
(17)    end
(18) end