要素を持つ配列があり、1xN
4 つ以上のワーカー (コア) を使用して、この配列で並行して作業したいと考えています。各ワーカーは、その配列からいくつかの要素を取得して操作します。たとえば、worker1
3 つの要素worker2
を取得し、次の 2 つを取得するなどです。これらのワーカーは並行して動作します。
これらのワーカーを同期してうまく機能させるにはどうすればよいでしょうか? これには、複数の CPU 間で共有メモリが必要になるようです。
各ワーカーがその配列から同時に異なるサイズのデータを読み取る必要があります。たとえば、次のようになります。
arr=1:100; % the common array
serv1 = 3; % random numbers
serv2 = 2; % random numbers
serv3 = 1; % random numbers
serv4 = 1; % random numbers
同時に worker1 read array(1:serv1)
、 worker 2 read 、 array(serv1+1:serv1+serv2)
worker3 read などを必要array(serv1+serv2+1:serv1+serv2+serv3)
とし、それらの関数を操作します