next up previous contents
Next: 6.2 Programski vmesnik Up: 6.1 Znacilnosti PVM Previous: 6.1 Znacilnosti PVM Vsebina: contents

6.1.1 Programski modeli PVM

Za razvoj programov PVM lahko uporabimo vecino znanih pristopov pri razvoju paralelnih algoritmov. Splosno uporabljan algoritem v sistemu PVM je model mnozice nalog (``crowd'' computation). Osnovna ideja je ta, da mnozica procesov izvaja isto nalogo na razlicnih delih podatkov celotnega problema. Model mnozice nalog je v praksi izdelan na dva razlicna nacina:

Pri zasnovi programov je potrebno upostevati pravilno razporeditev nalog na procese. Problem, ki ga resujemo na vec procesih, lahko dodelimo vnaprej za proces, glede na predvideno racunsko zmogljivost vozlisca, ki mu dodelimo delo. Tako dodeljevanje nalog je staticno (static scheduling). Problem, ki se pri tem pojavi je ta, da ni vedno znan cas, ki ga bo vozel porabil za izracun naloge in se lahko zgodi, da procesi cakajo na sinhronizacijo z nalogami, ki se vedno tecejo zaradi slabe vnaprejsnje ocene hitrosti procesa. Dinamicen pristop k delitvi dela je ta, da so naloge bolj razdrobljene in jih je obicajno vec, kot pa delavcev. Naloge se tako dinamicno dodeljujejo: proces dobi novo delo takoj, ko je koncal s prejsnjim.

Razdelitev dela v vozlih je mozna tudi po funkcijah, kar pomeni, da imamo v vozliscih razlicne programe. Primer takih programov so cevovodi. Tu se podatki pretakajo od vozlisca do vozlisca. Vsak vozel obdela prihajajoce podatke in jih posilja naprej. Ker so procesi med seboj razlicni, je predstavljena shema ustrezna modelu MPSD (Multiple Program Single Data).



Copyright © 1995 Leon Kos, Univerza v Ljubljani