Modelul de calcul 1

Modelul de calcul. Sistemul se bazează pe flower modelul de date de control al debitului.

În acest model, programul de calcul este prezentat sub formă de AAP. nodurile AAP corespund separarea procesului de secțiuni succesive ale programului, iar arcele definesc relația dintre ele. punctul apex, care include arc, numit portul de intrare sau de portul de intrare de import, iar punctul din care iese din portul de ieșire de export sau randament. Unele dintre porturile de intrare pot fi marcate ca obligatorii.

De-a lungul arcelor de date transferate de la un proces la altul. Ideea de bază a modelului de control al fluxului de date este că procesul este programat pentru execuție, dacă și numai dacă porturile de intrare toate datele necesare vor merge. Ie procesul poate fi început să execute, în cazul în care una dintre următoarele condiții procesul nu include în mod necesar toate intrările necesare procesului primit date și procesul sau a inceput pentru prima data vreodata finalizat executarea sa anterioară.

Introducerea de intrări opționale afișează modelul din modelul standard de control al debitului, dar oferă mai multă flexibilitate în sistem. Primul termen, într-un proces care este marcat ca fiind începutul. După aceasta se face în paralel, atât timp cât procesul este complet, marcat ca final. Programul poate include multiple de pornire și de finisare, același proces poate fi atât începutul și finisare.

Fiecare pereche proces comparat de numere care determină în mod unic proces, numărul de clasă de proces și necesitatea de a introduce un număr de două-dimensional instanță procesele de proces de numerotare va fi descris ulterior. Diferența dintre o clasă și o instanță de același proces ca și în limbaje de programare orientate-obiect.

Canalul definește un flux unidirecțional de date între procese este întotdeauna direcționată de la intrare către canalul de evacuare. Între canalele și ieșirile o corespondență reciprocă în timp ce de intrare pot fi conectate la ieșiri multiple. Fiecare canal este atribuită valoarea greutății care caracterizează cantitatea aproximativă a datelor transmise pe canal. Structura de date constând dintr-un set de porturi de intrare și ieșire nu trebuie confundat cu ieșiri. Porturi de intrare și de ieșire sunt numerotate.

parametrii șablonului sunt introduse în etapa lansator.

Acest lucru vă permite să configurați software-ul la cerințele specifice ale utilizatorului. limbaj special DGL Dataflow Graph Limba a fost conceput pentru a înregistra modelul de AAP. Pentru mai multe informații despre DGL pot fi găsite în capitolul DGL limba. VFO model este un grafic direcționat, ale căror vârfuri sunt clase de procese și canale de arce, și un set de parametri.

Fiecare clasă este mapat la numărul de proces. Variabile vectoriale Setări. Canalul specifică flux unidirecțional de date între procese, este întotdeauna direcționată departe de intrare către ieșire. Structura de date de proces de clasă care constă dintr-un set de intrări și ieșiri. Intrările și ieșirile sunt numerotate. Intrarea poate fi marcat ca fiind necesar. Vom introduce notația. TG TP, TC, Un model VFO, în care o multitudine de modele de proces TP, TC multitudine de modele de canal, un vector parametru.

Ai i-lea parametru este un număr întreg. Tpi i-lea proces. În tpi pluralitate de intrări i proces. În k-k de intrare tpi-lea al procesului i. Din tpi pluralitate de ieșire de proces i. Din k-k ieșire tpi-lea al procesului i. Fie X tpi. Apoi X.ncopies ncopies O funcție integrantă a parametrului, care specifică numărul de copii ale X. Fie X Out k tpi. Apoi p X.ncopies ncopies, O funcție integrală care stabilește numărul de X. copii de ieșire Aici, p este un număr întreg, iar parametrii.

În acest caz, N este determinată în timpul programului de pornire.

În viitor ne propunem să pună în limba de matrice multidimensionale ale proceselor, precum și a adăuga declarații condiționale și caseof ifthenelse.

Acest lucru va permite să descrie mai complexe AAP, în special zăbrele, multi-dimensionale.

Sintaxa DGL dataflow PROGRAM numberofinstances nume nume nume EXTERN întreg Denumire CONST proces expresie proces PROCES Directiva processattr IMPORT EXPORT export directivă import LOCAL START REZILIERE integer greutate processattr nume import importattr importattr nume export numberofinstances processname processindex importname exportattr exportattr numberofinstances expresie processindex ARGUMENTU importattr expresie exportattr DATASIZE întreg CAPITOLUL 4 exemplu de program paralel, de exemplu, considerăm calculul aproximativ al Pi folosind reguli dreptunghiuri pentru a calcula în funcție integrala definită pentru a se pronunța în cazul în care dreptunghiurile, în care, o. Trebuie remarcat faptul că acest program de procesor.

Ea nu afectează multe dintre problemele de programare paralelă, cum ar fi impactul critic al proceselor de intrare-ieșire. Cu toate acestea, această problemă se va familiariza cu principiile de bază ale programelor de construcție, care funcționează în conformitate cu metoda de control al debitului.

Există mai multe abordări pentru rezolvarea sarcinii de control. Decizia prezentată mai jos ilustrează toate etapele majore ale dezvoltării programului. 4.1. Construirea de programe GAP în cadrul programului dezvoltat pot fi create într-un singur proces, dar se pierde paralelism. Este posibil să se creeze o multitudine de procese mici, cum ar fi o declarație, sau chiar o operație aritmetică, ceea ce va duce la o creștere bruscă a costurilor asociate cu lansarea fiecărui proces și de date între acestea schimb. Trebuie remarcat faptul că problema trebuie rezolvată structura de multe ori duce la o bună primă aproximare.

Pentru calcularea Pi utilizează mai multe fluxuri de lucru, care calcula o parte integrantă a ei, și procesul de expediere rezultat însumarea. Fluxuri de lucru se aplică pentru un loc de muncă regulat pentru procesul de distribuire a muncii. Toate lucrările nu este distribuit uniform în prealabil între procesele de un singur proces de lucrător, în cazul în care se execută pe o mașină mai rapid se poate realiza partea leului a lucrării. 4.2. Înregistrare GPA pe limba DGL După graficul de date este desenată, fiecare proces, începutul și sfârșitul fiecărui arc marcat cu un nume alfanumeric, care este utilizat în limbajul DGL. Contele de traducere limba fluxului de date DGL efectuate fără ambiguități.

Fiecare nod corespunde procesului GPA DGL cu același nume. Acum, trage programul GAP folosind Rose și scrie pe disc într-un format DGL. Dataflow PROGRAM PI EXTERN NProcs 5 CONST nw MAX 1, NProcs - 2 PROCESUL vară 1 LOCAL IMPORT NumIter PartSum PROCES Worker nw EXPORT PartSum 1 sumator 0 PartSum DATASIZE 0 Cererea 1 Manager de 0 DemandList DATASIZE 0 IMPORT Arg Process Manager 1 LOCAL START REZILIEREA EXPORT neefectuat 1 sumator DoneSignal DATASIZE 0 0 Worker nw Worker c Arg DATASIZE 0 IMPORT DemandList 4.3. procesele Compilarea După AAP înregistrate în limba DGL, este necesar pentru a procesa traducător DGLC. Ca urmare a activității traducătorului pe disc PI.dpr următoarele fișiere trebuie să apară, Manager.pas, ManagerBody.pas, Worker.pas, WorkerBody.pas, Summator.pas, SummatorBody.pas. Apoi, programatorul scrie cod pentru fiecare proces în fișiere SummatorBody.pas, WorkerBody.pas, ManagerBody.pas, și apoi compila fișierul proiect PI.dpr. W A S T L 2 REALIZARE A UNOR ALGORITMI VLA SISTEMUL FLOWER În această parte, considerăm realizarea programării sistemului FLOWER unor algoritmi VLA, care includ matrice de multiplicare, soluție LU-descompunere triunghiular LES, QR-descompunere, metode iterative de rezolvare a LES. Pentru fiecare algoritm de estimare sunt accelerare teoretice, descrierea algoritmului paralel, datele experimentale.

Pentru experimentele utilizate LAN FastEthernet, format din 4 calculatoare Pentium II 333MHz. CAPITOLUL 1 O matrice de multiplicare Luați în considerare problema produselor de calcul Ax și AB, în care A și B sunt matrice și vectorul x.

Acesta va fi examinat separat și matricea bloc diagonal bandă. 1.1.

articole similare