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.
Short but sweet! Summarize everything about the profession super clearly!
By: jespervink3 • 2 year ago
clear
By: joycevandeven • 2 year ago
Thanks!
By: tt6 • 2 year ago
By: joycevandeven • 2 year ago
Translated by Google
Hey, what a shame to see you gave a low rating.
What is the reason for this? Maybe then I can make adjustments.
Seller
Follow
joycevandeven
Reviews received
Available practice questions
Oefenvragen voor parallel computing tentalen (deel 1)
Flashcards25 Flashcards
$5.390 sales
Flashcards25 Flashcards
$5.390 sales
Some examples from this set of practice questions
1.
SISD (Flynn\'s taxonomy)
Answer: Single instruction, single data
2.
SIMD (Flynn\'s taxonomy)
Answer: Single instruction, multiple data
3.
MISD (Flynn\'s taxonomy)
Answer: Multiple instruction, single data
4.
MIMD (Flynn\'s taxonomy)
Answer: Multiple instruction, multiple data
5.
SPMD (Flynn\'s taxonomy)
Answer: Single program, multiple data
Oefenvragen voor parallel computing tentalen (deel 2)
Flashcards25 Flashcards
$5.390 sales
Flashcards25 Flashcards
$5.390 sales
Some examples from this set of practice questions
1.
wat is de fase van de phaser als er geen threads meer in zitten?
Answer: -1
2.
welke functie kan er gebruikt worden voor het verkrijgen van de fase van de phaser?
Answer: phaser.getPhase()
3.
welke interface wordt er gebruikt voor de connection factory van het JMS
Answer: ConnectionFactory
4.
welke interface wordt er gebruikt voor de connection van het JMS?
Answer: Connection
5.
welke interface wordt er gebruikt voor de sessie van het JMS?
Answer: Session
Oefenvragen voor parallel computing tentalen (deel 3)
Flashcards25 Flashcards
$5.390 sales
Flashcards25 Flashcards
$5.390 sales
Some examples from this set of practice questions
1.
Wat houdt SMP in?
Answer: twee of meerdere identieke processen gekoppeld aan een enkel gedeeld geheugen
2.
Wat is een probleem bij SMP?
Answer: cache wordt niet veranderd als het geheugen wordt veranderd
3.
Waar staat UMA voor
Answer: Uniform memory access
4.
Wat houdt UMA in?
Answer: alle processoren hebben dezelfde toegang tot het geheugen
5.
Waar staat NUMA voor?
Answer: voor?
Non-uniform memory access
Oefenvragen voor parallel computing tentalen (deel 4)
Flashcards25 Flashcards
$5.390 sales
Flashcards25 Flashcards
$5.390 sales
Some examples from this set of practice questions
1.
Welke functie in de Executor voert de taken uit?
Answer: Void execute(Runnable)
2.
Welke interface extend ExecutorService?
Answer: Executor
3.
Wat is het return type van invokeAll bij de ExecutorService?
Answer: <T> List<Future<T>>
4.
Wat is het return type van invokeAny bij de ExecutorService?
Answer: <T> T
5.
Wat is het return type van submit Callable bij de ExecutorService?
Answer: <T> Future<T>
Oefenvragen voor parallel computing tentalen (deel 5)
Flashcards24 Flashcards
$5.390 sales
Flashcards24 Flashcards
$5.390 sales
Some examples from this set of practice questions
1.
Wat verhoogd parallel programming
Answer: snelheid, aantal taken en schaal problemen
2.
SISD voorbeeld
Answer: I: snijden, D: wortel
3.
SIMD voorbeeld
Answer: I: snijden, D: wortel en selderij
4.
MIDS voorbeeld
Answer: I: snijden en schillen, D: wortel
5.
MIMD voorbeeld
Answer: I: schillen en snijden, D: wortel en selderij
Content preview
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.
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller joycevandeven. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $9.72. You're not tied to anything after your purchase.