In dit document is een uitgebreide samenvatting te vinden over het vak Parallel computing zoals het op de HVA wordt gegeven.
Het is dus een combinatie van de lessen, het boek en onderdelen van internet.
Kort maar krachtig! Vat alles van het vak super duidelijk samen!
Door: jespervink3 • 2 jaar geleden
clear
Door: joycevandeven • 2 jaar geleden
Thanks!
Door: tt6 • 2 jaar geleden
Door: joycevandeven • 2 jaar geleden
Hey, wat jammer om te zien dat je een lage beoordeling hebt gegeven.
Wat is hier de reden van? Misschien kan ik dan aanpassingen doen.
Antwoord: snelheid, aantal taken en schaal problemen
2.
SISD voorbeeld
Antwoord: I: snijden, D: wortel
3.
SIMD voorbeeld
Antwoord: I: snijden, D: wortel en selderij
4.
MIDS voorbeeld
Antwoord: I: snijden en schillen, D: wortel
5.
MIMD voorbeeld
Antwoord: I: schillen en snijden, D: wortel en selderij
Voorbeeld van de inhoud
Parallel computing
Parallel programming
PC verhoogt de:
- Snelheid waarmee een programma een bepaald aantal taken uitvoert
- Aantal taken dat een programma uitvoert in een bepaalde tijd
- Schaal van problemen die een programma aan kan
Flynn’s taxonomy
Single instruction, single data (SISD)
Er is één instructie en één data.
Dit is erg simple en computers van vroeger werkte zo. SIDS
Single instruction, multiple data (SIMD)
Er is één instructive en meer data. SIMD
Voorbeeld:
2 mensen snijden, 1 een wortel en de ander selderie.
Instructie: snijden
Data: wortel en selderie
Multiple instruction, single data (MISD)
Er zijn meerdere instructies en maar 1 data.
Deze versie is erg ingewikkeld en wordt daarom ook niet
vaak gebruikt.
Voorbeeld:
1 iemand snijdt en 1 iemand schilt tegelijk een wortel.
Instructie: snijden en schillen
Data: wortel
MISD
Multiple instruction, multiple data (MIMD)
Er zijn meerdere instructies en meer data. MIMD
Deze wordt het meeste gebruikt.
Voorbeeld:
1 iemand schilt een wortel en de ander snijdt een selderie.
,Instructies: schillen en snijden
Data: wortel en selderie
Single program, multiple data (SPMD)
Er is één programma, maar dat betekend
niet date r ook maar één instructie is. Een SPMD
programma kan meerdere instructies
bevatten.
Voorbeeld:
Er zijn twee mensen die hetzelfde recept
volgen. Persoon 1 schilt een wortel en persoon 2 snijdt een selderij.
Program: recept
Data: wortel en selderij
Instructie: snijden en schillen
Multiple program, multiple data
(MPMD) MPMD
Er zijn meerdere programma’s en elk
programma kan meerder instructies hebben.
Voorbeeld:
Er zijn twee mensen bezig met een verschillend
recept. Persoon 1 schilt een wortel en persoon
2 snijdt een selderij. Beide personen zijn dus
bezig met een ander recept.
Program: recepten
Data: wortel en selderij
Instructie: snijden en schillen
,Memory(geheugen)
Shared memory(gedeeld geheugen)
Alle processoren hebben toegang tot hetzelfde geheugen.
Als een processor iets veranderd in het geheugen, dan kunnen alle andere processoren die
verandering zien.
Voorbeeld:
Persoon A snijd de aardappel doormidden, persoon B ziet dat de aardappel nu doormidden is.
Processor: persoon A en persoon B
Geheugen onderdeel: aardappel
Uniform memory access (UMA)
Alle processors hebben dezelfde toegang tot het UMA
geheugen. Dit houdt ook in dat ze even snel toegang
kunnen krijgen.
Er zijn verschillende UMA architecturen en de meest
gebruikelijke is SMP.
Symmetric multiprocessing system (SMP)
Heeft twee of meer identieke processoren
gekoppeld aan een enkel gedeeld geheugen.
Een mogelijk probleem bij SMP is cache. Als twee SMP
processoren iets in hun cache hebben opgeslagen en
dit gebruiken terwijl de waarde in het geheugen
misschien al veranderd is, wordt dan dus de oude
waarde veranderd en terug gezet. Een oplossing
hiervoor is Cache coherency.
Dit zorgt ervoor dat de cache veranderd wordt als de
waarde in het geheugen veranderd wordt.
Dit is te vinden op wikipedia.
In de moderne multi core wordt dit door de processor hardware gedaan.
Non-uniform memory access (NUMA)
NUMA
Distributed memory(verdeeld
geheugen) Distributed
Elke processor heeft zijn eigen geheugen.
, Het nadeel hiervan is dat als er iets veranderd in het geheugen dat dit op een manier tegen de
andere processoren verteld moet worden.
Het voordeel is dat dit erg schaalbaar is, shared memory is minder schaalbaar. Het is makkelijk om
meer processoren met geheugen toe te voegen en hierdoor is er ook gelijk meer geheugen
beschikbaar.
Process
Een process bevat de code, data en de status informatie. Elk process is onafhankelijk en heeft zijn
eigen adresruimte(adress space) in het geheugen.
Een process kan weer bestaan uit verschillende threads.
Er zijn wel mogelijkheden om te communiceren en data te delen tussen processen, maar dit kost wel
wat moeite. Er is een inter-process communication nodig.
Het gebruiken van meerdere processen gebeurt eigenlijk alleen als erg over meerdere computers
wordt gewerkt. De voorkeur gaat naar het gebruiken van threads i.p.v. meerdere processen.
Inter-process communication (IPC)
Er zijn verschillende mogelijkheden om dit voor elkaar te krijgen:
- Sockets and pipes
- Shared memory
- Remote procedure calls
Java
Een Java applicatie die gerund wordt kan gezien worden als een process.
Thread
Een thread is onderdeel van een process, een thread is dus eigenlijk een mini process. Een thread is
een onafhankelijk pad van executies.
Threads in een process delen het adress en de data.
Voorbeeld:
Henk en Lisa koken samen in de keuken, maar doen beide hun eigen taak. Henk, Lisa en Kees gaan
een salade maken. Henk pakt de groenten, Lisa snijdt ze en Kees maakt de dressing. Als Kees klaar is
met het maken van de dressing wordt hij afgesloten en gaan de andere verder.
Process: salade maken
Threads(actief): Henk, Lisa en Kees
Threads(niet actief): Kees als die klaar is met dressing maken
Shared adress: de keuken
Shared data: ingredienten
Concurrency (structure)
De mogelijkheid om een programma op te splitsen in
delen en onafhankelijk van elkaar runnen.
De volgorde van de taken maakt niet uit.
Concurrently houdt in dat meerdere processen
overlappen in tijd, zoals in de afbeelding te zien is.
Concurrency dealt met meerdere dingen tegelijk, maar loopt niet letterlijk tegelijk.
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper joycevandeven. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €8,99. Je zit daarna nergens aan vast.