• No results found

Algoritmen voor parallelle computers Samenvatting: Strategies for Dynamic Load Balancing on Highly Parallel Computers

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmen voor parallelle computers Samenvatting: Strategies for Dynamic Load Balancing on Highly Parallel Computers"

Copied!
2
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Algoritmen voor parallelle computers

Samenvatting: Strategies for Dynamic Load Balancing on Highly Parallel Computers

Pieter Wuille 30 januari 2007

1 Algemeen

Het artikel “Strategies for Dynamic Load Balancing on Highly Parallel Computers” door Marc. H.

Willebeek-LeMair, is een vergelijkende studie tussen 5 verschillende DLB (Dynamic Load Balancing) technieken. Dit zijn technieken die in het boek [Grama] onder 3.4.2 omschreven worden als “Schemes for Dynamic Mapping”.

Verder gaat het over systemen die zo gedistribueerd mogelijk zijn, teneinde de schaalbaarheid te maxi- maliseren. Technieken waarbij 1 centraal systeem alle uit te voeren taken bijhoudt, en waarbij de andere systemen taken toegewezen kregen door of taken aanvragen aan dat centraal systeem, worden al snel in performantie beperkt zodra dat ene systeem de bottleneck begint te vormen. Zulke technieken worden in het boek “Distributed Schemes” genoemd.

De beschreven technieken gaan tevens uit van de mogelijkheid tot snel wisselen van taken tussen ver- schillende processoren. Dit is erg moeilijk als er veel data door te geven zou zijn in zo’n geval (bv zoals in 3.2.2 Data Decomposition). Het is eerder geschikt voor technieken waarbij een taak niet veel invoerdata vereist (bv 3.2.3 Exploratory Decomposition, waarbij enkel een knoop in de boom als taak beschouwd kan worden).

Aangezien men er van uitgaat in het artikel dat de tijd om effectief een taak over te brengen van 1 plaats naar een andere zeer beperkt is, gaat men uit van “tightly coupled message-passing and shared memory systems”. Het zou dus niet echt van toepassing zijn op een netwerk met een ringstructuur en store-and-forward.

Bijzondere aandacht in het artikel gaat over de afweging kennis en overhead. Technieken die van globale kennis uitgaan (informatie over de load op elk systeem uit een grote deelverzameling van het hele netwerk) kunnen veel betere (doch reken-intensievere) beslissingen nemen aangaande hoe taken te verplaatsen tussen processoren. Echter het verzamelen van die informatie kan ook een tijdrovende bezigheid zijn (het kan lang duren vooraleer de informatie doorheen heel het netwerk gepropageerd is, en er kan meer rekentijd nodig zijn om ze te verwerken), wat tot gevolg kan hebben dat de informatie niet eens meer up-to-date is, als de load heel variabel zou zijn (bv. snel veel taken bijgecre¨eerd kunnen worden). In dat laatste geval is het dus beter te opteren voor systemen die minder kennis gebruiken, en misschien in theorie minder snel naar een volledig uniforme load convergeren. Het Load Balancing proces wordt in het artikel onderverdeeld in 4 fases:

1. Bepalen van de load (lokaal)

2. Bepalen van voordeel van Load Balancing (globaal)

3. Bepalen van van waar naar waar load verplaatst moet worden (globaal) 4. Effectief verplaatsen van taken (lokaal op zender/ontvanger)

Lokaal wilt hierbij zeggen: op elke processor afzonderlijk, globaal wilt zeggen: binnen het “Balancing Domain”. Dat laatste is het gebied (eventueel voor elke processor verschillende) waarbinnen taken gewisseld kunnen worden.

1

(2)

Om tot een uiteindelijke volledig uniforme verdeling te kunnen komen van de loes, moeten de Balancing Domains ofwel variabel zijn, ofwel overlappen.

2 Methodes

Ik zal nu even kort de 5 methodes bespreken die in het artikel aangehaald worden.

• GM - The Gradient Model:

Hierbij worden de nodes in 3 groepen verdeeld: onderbelast, normaal belast, en overbelast (dit bepalen ze voor zichzelf). Het algoritme gaat vervolgens informatie rondsturen waaruit elke overbe- laste node kan bepalen waar elke onderbelaste node zich bevindt. Uiteindelijk gaat elke overbelaste node een stukje van zijn werk in de richting van de kortstbijgelegen onderbelaste node sturen. Deze stukjes propageren door het netwerk tot ze bij een onderbelaste node uitkomen.

Dit is een methode die behoorlijk traag is (propagatie van load map doorheen netwerk), en uiteinde- lijk toch geen heel accurate berekening kan doen van hoe de load te berekenen (en ze is afhankelijk van vele parameters: vanaf waar onder/overbelast, hoeveel % load sturen). Het balancing domain kan gezien worden als de verzameling nodes die 1 bepaalde kortstbijgelegen onderbelaste node gemeen hebben. Dit is een variabel domein.

• SID - Sender Initiated Diffusion:

Bij deze techniek kent elke processor de load van al zijn buren (die er dan samen mee zijn Balancing Domain vormt). Als een processor merkt dat zijn load een bepaalde drempelwaarde (overeenkom- stig de kost voro het overbrengen van een taak) hoger ligt dan de gemiddelde load in zijn domein, verdeelt hij zijn load evenredig met het gebrek dat zijn buren hebben.

Dit algoritme gebruikt slechts kleine balancing domains, en heeft daardoor weinig overhead. De domeinen zijn overlappend.

• RID - Receiver Initiated Diffusion:

Deze techniek is sterk gelijkend op SID, behalve dat er een vraag moet komen van een onderbelaste processor (minder dan een vooropgestelde load). Verder wordt nooit meer dan de helft van een processor’s load overgedragen (teneinde de kwalijke gevolgen van verouderde data te verminderen).

• HBM - Hierarchical Balancing Method:

Hierbij worden de nodes geordend in een vooropgestelde boomstructuur (elke node kan op ver- schillende niveau’s meespelen). Elke node krijgt load-informatie van zijn 2 “kinderen”, en indien noodzakelijk, kan die parent zijn 2 deeltakken vragen een bepaalde hoeveelheid taken te verplaat- sen. Het algoritme begint steeds onderaan de boom, en werkt richting de top. Elke iteratie kan er op die manier van uitgaan dat de aparte deelbomen op zich (min of meer, er is veroudering) een uniforme load hebben. Daarmee kan een hoge node die inuniformiteit vaststelt vragen al zijn kinderen apart taken te verschuiven, ipv dat recursief doorheen de boom te moeten doen.

Het jammere hieraan is de niet-uniforme verdeling van het balanceer-werk over de verschillende nodes. De top heeft bv. log(N ) keer zoveel werk als de “leafs”. Dit is hetzelfde probleem als bv.

bij “Hierarchical Mappings” in punt 3.4.1, waarbij voorgesteld wordt het werk van de top nog te verdelen over verschillende nodes.

• DEM - Dimension Exchange Method:

In de DEM techniek, worden de systemen in een hyperkubus structuur geordend (niet noodzakelijk fysisch). Het is een gesynchroniseerd proces (wordt globaal aangevraagd door een onderbelast proces). Het werkt met opeenvolgende iteraties, 1 volgens elke dimensie van de hyperkubus, waarbij telkens 2 aangrenzende processen in die richting taken uitwisselen. Deze methode zou volgens een (artificieel) experiment de beste resultaten opleveren.

2

Referenties

GERELATEERDE DOCUMENTEN

Er zijn eigenlijk nog steeds geen IT- systemen waarmee gericht de problemen van wetgeving worden aangepakt, zoals te veel wetgeving, het onberaden en lichtvaardige gebruik van

The long (27-item) and short (9-item) versions of the SMD scale both showed large positive correlations with compulsive Internet use (r > 0.50) and medium to large correlations

In this paper, we describe a rendering method that uses principles of analytical cubism when generating images from synthetic 3D content (Fig. 1) by defining a flexible camera

A separate independent samples t-test was run to assess the effect of group on total reading time of explanations and total response time of questions in the game-like

If one wants to make computational models with even younger pupils - say 8 to 12 years - then it would seem to be a good idea to model not variables but objects and

De oplossing en zeer veel andere werkbladen om gratis te

Ook in dit geval spelen computers een cruciale rol, niet voor het controleren van een groot aantal gevallen, maar voor het vinden van een goede kandidaat voor een

Docenten Nederlands moeten goed voorbereid zijn voor de discussie over deze constructie Moet de docent ‘echter is het’. wel