Ilmutamata paralleelsus Bernsteini tingimused
Bernsteini tingimused määravad kindlaks, kas kahte protsessi on võimalik täita paralleelselt.
on mälupesad hulk, millede poole pöördub lugemiseks protsess .
on mälupesad hulk, millede poole pöördub kirjutamiseks protsess .
Protsesse ja saab täita paralleelselt kui
on omistamislause vasakpoolne muutuja ja parempoolne:
A := X+Y;
B := X+Z;
Neid kahte lauset saab täita paralleelselt, sest
ja seega Bersteinin tingimused on täietud.
Bersteini tingimused kehtivad ka enama kui kahe protsessi puhul. Siis
Kas neid lauseid saab täita parallellselt?
A:=X+Y;
B:=X*Y;
C:=Y-X;
Parallelismi esineb tihti kõrgkeelte tsüklilistes lausetes. Näiteks
FOR I:=1 TO 20 DO
A[i]:=B[i];
Selline tsükkel koosneb tegelikult 20st lausest:
A[1]:=B[1];
A[2]:=B[2];
A[3]:=B[3];
.
.
A[19]:=B[19];
A[20]:=B[20];
Kõik need laused saab täita paralleelselt, sest Bernsteini tingimused on täidetud.
|