Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdMichiel Martens Laatst gewijzigd meer dan 9 jaar geleden
1
Gedistribueerde Systemen Inleiding
2
Grand Challenge Problems Bron: NSF Grand Challenges final reportNSF Grand Challenges final report
3
Grand Challenge Problems Bron: NSF Grand Challenges final reportNSF Grand Challenges final report
4
Grand Challenge Problems Bron: NSF Grand Challenges final reportNSF Grand Challenges final report
5
Grand Challenge Problems (vanaf 36’)
6
“Third Pillar of Science”
7
Von Neumann architectuur Historiek “Stored Program Computer”
8
Shared-memory multi-processors Historiek
9
Multi-processors met lokaal geheugen In 1 “doos” Communicatie via “netwerk” Historiek
10
Transputers
11
Parsytec x’plore (16 transputers met 4 MB RAM)
13
Historiek Interconnectie-netwerken
14
Distributed shared memory Historiek NUMA
15
Computer clusters Verbonden via LAN “Distributed computing” Historiek
16
Internet-based collaborative computing Lange-afstand Historiek Internet client-server Internet client-server Cloud computing Cloud computing Grid Computing Grid Computing
17
Flynn’s taxonomy MMX SSE GPU
18
PDC architectuurklassen Data- parallellisme SuperscalairPipelineStreamVectorDataflow Controle- parallellisme MultithreadingMultiprocessingMulticoreClusterGrid/Cloud Cray GPU ILP Intel Core, Cell SMT
19
Dual core processor architectuur
20
PDC architectuurklassen Communicatie via geheugen / netwerk Shared vs. distributed memory
21
Versnelling/verbetering Parallel computing maakt oplossen grand challenge problemen mogelijk Maar ook Oplossen van “groter” probleem (bv extra factoren beschouwen bij num simulatie) Meer precieze oplossing (bv weersvoor-spelling: # beschouwde cellen verhogen) Zelfde probleem meermaals oplossen met verschillende input waarden Toepassing in Internet (bv webservers)
22
Speedup Factor Snelheidswinst parallel systeem? Noem p het # CPUs Speedup factor S(p) = Toename in snelheid door gebruik te maken multiprocessor
23
Speedup Factor Max mogelijke speedup met p CPUs is in theorie p Lineaire versnelling Wordt behaald als Computatie opgedeeld kan worden in problemen met gelijke lengte Geen overhead in parallelle oplossing Superlineaire versnelling als S(p) > p Occasioneel mogelijk (seq alg niet optimaal, eigenschappen probleem – bv zoekopdracht, extra geheugen, …)
24
Speedup Factor Efficiency E = Hoe continu worden CPUs van multiprocessor benut? Bv E = 50% CPUs worden gemiddeld helft van de tijd gebruikt voor effectieve computatie 100% efficiency bij linear speedup
25
Maximale Speedup Parallellisatie resulteert in overhead CPU is bepaalde tijd idle/taakloos Introduceert extra berekeningen (komen niet voor in sequentiele oplossing) Communicatie tussen CPUs Deel van probleem kan mogelijk niet geparallelliseerd worden en moet sequentieel uitgevoerd worden Bv initialisatie-stap Slechts 1 CPU doet zinvol werk; rest idle
26
Maximale Speedup Noem seriële gedeelte f Parallelle oplossing kost tijd Amdahl’s Law (1967)
27
Maximale Speedup Speedup factor wordt dan Staat bekend als Amdahl’s law Hoe groter f, hoe kleiner speedup Parallel gedeelte moet een substantieel deel zijn van totale berekening om significante speedup te bekomen Max speedup (oneindig # CPUs) is 1/f: Amdahl’s Law (1967)
28
Maximale Speedup Amdahl’s Law Speedup versus # CPUs Speedup versus serieel deel f
29
Amdahl’s Law
30
Scalability: Vrij onnauwkeurige term Hardware scalability: Uitbouwen systeem verhoogt performantie Uitbouwen systeem = CPUs toevoegen Algorithmic scalability: Verhogen # data items resulteert in lage en begrensde toename in # computationele stappen Noem n het # input data items Gebruikt in Gustafson’s law Maximale Speedup Schaalbaarheid
31
Maximale Speedup Gustafson’s Law Amdahl’s law: cte n (en dus ook ) Gustafson’s law: alternatief op basis van cte (parallelle uitvoeringstijd) Als p toeneemt, dan ook n Scaled speedup factor is een lineaire functie met neg helling ipv snelle reductie bij Amdahl Speedup Amdahl en Gustafson erg ≠ Gustafson stelt dat grotere speedup mogelijk is dan aangegeven door Amdahl Geef resultaten dicht bij lineaire speedup
32
Maximale Speedup Communicatie Overhead Tot nu toe geen rekening gehouden met message passing Data uitwisseling en synchronisatie Niet aanwezig in sequentiële oplossing Belangrijke overhead in parallel systeem! Parallelle uitvoeringstijd
33
Maximale Speedup Communicatie Overhead Probleem opsplitsen in meer delen Parallelle comp tijd daalt (kleinere delen), maar comm tijd stijgt Comm tijd kan overheersen! Ondanks verhoogde parallellisatie stijgt Daarom zo hoog mogelijk houden
34
TOP500 supercomputers www.top500.org UGent supercomputer op 118!
35
TOP500 supercomputers
36
Heel veel uitdagingen! Effectiviteit Alle cores/processoren/computers zo nuttig mogelijk bezig houden Deadlocks en starvation voorkomen Efficiëntie Memory access overhead beperken Communicatieoverhead beperken Synchronisatie Inherent parallel programmeren … Programmeren van PDC
37
2 categorieën Parallel algorithm strategy patterns (hi-level) Task parallelism Data parallelism Divide and conquer Pipeline Geometric decomposition… Implementation strategy patterns (low-level) SPMD (single program multiple data) SIMD (single instruction multiple data) Loop-level parallelism Fork-join Master-worker… Design Patterns
38
Recente ontwikkelingen (vanaf 25’)
39
PDC heeft veel toepassingen Verscheidene architecturen Van zeer nauw gekoppeld tot wereldwijd verspreid Beste architectuur hangt af van probleem en constraints Nieuwe manier van programmeren nodig Nieuwe design patterns Optimalisatie is grote uitdaging Automatische parallellisatie komt op Boost via recente ontwikkelingen Conclusie
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.