- Stahuj zápisky z přednášek a ostatní studijní materiály
- Zapisuj si jen kvalitní vyučující (obsáhlá databáze referencí)
- Nastav si své předměty a buď stále v obraze
- Zapoj se svojí aktivitou do soutěže o ceny
- Založ si svůj profil, aby tě tví spolužáci mohli najít
- Najdi své přátele podle místa kde bydlíš nebo školy kterou studuješ
- Diskutuj ve skupinách o tématech, které tě zajímají
Studijní materiály
Hromadně přidat materiály
Skripta
IA039 - Architektura superpočítačů a intenzivní výpočty
Hodnocení materiálu:
Zjednodušená ukázka:
Stáhnout celý tento materiálHigh Performance Computingvýpočty za nejkratší dobu, cena je na druhém místěvědecké výpočtyhnací síla specializace na numerické výpočtyvznikají 2 větvepočítače pro průmysl (disk, stabilita, bezpečnost ...)počítače pro akademickou sféru (distributivita, rychlost ...)dále vznikla větev přímo pro super počítače - později.Vytažena ven od ostatních (něco jako F1 v automobilismu, cena podružná, hlavním prvkem je výkon)co nejrychlejší zpracování dat v extrémních podmínkáchrychlost dat, velikost, ...diskové subsystémy jsou podružnéjak je navrhnout – získat maximum1, hardware – propojení paměti s procesorem ...2, software – jak je a na co je použítvývoj:je rozdíl, kdo řídí superpočítač, jestli je to BFU nebo kvalifikovaný pracovníkzrychlování procesoru -> fyzikální limity. Rychlost v drátech max rychlost světla. (el. Prostředí max. 2/3 rychlosti světla – snižují se vzdálenosti)Superpočítače vedly k alternativním přístupůmvektorové počítače (jakýsi předstupeň k ostatním přístupům)matematické úlohy jsou dobře vyjádřitelné nebo jsou vyjádřené.Matice, vektorové rovnicespeciální procesor zpracovávající vektory jako jednu operaci. (třeba n procesoru synchronně provede operaci nad dílčím kusem), nejsou optimální. Pipelining – synchronní provádění funkcí tak, aby nedošlo k plýtvání.Architektura s 130000 procesory je úplně jiná než architektura s 20000 procesoryHigh Throughtut Computingmam 1M úloh a potřebuji je vypočítat za co nejmenší cenu, výkon jedné mašiny je až na druhém místě.Počítače propojeny nejlevněji s největším výkonem.Celek funguje pro mnoho úlohproblém jak sledovat a jak zjistit, že na 5000 počítačích proběhne milión úloh bez chyby nebo , že doběhne a neztratí se nějaká úloha. Roste úloha softwaru. Dovoluje sáhnout na ekvivalent úloh lidem, kteří nemají na to pořídit si superpočítač, ale mají na to koupit si mnoho slabších počítačů a propojit je. Výkon takového počítače může být větší, než nějakých superpočítačůHledáme největší výkon. Řešíme otázky, jestli řešit jednu úlohu za měsíc na jednom superpočítači nebo malé úlohy na více počítačích. Aplikace superpočítačůpředpověď počasímateriálové vědy – simulace experimentů, matematický model -> počítačový experiment (třeba není možné udělat reálný experiment), supravodivostarmádabiologie – simulace biologických procesů, nedokážeme změřit ..., výpočty počítají přesněchemie – jak se bude chovat 18 g vody – počítat jak se bude chovat 1023 buněkastronomie – žádný reálný experiment uměle námi vytvořený. Kvantová chronodynamika Nelineární fluidní dynamika – tvar karoserie, proudění vzduchu, vody, např. turbulenceDoprava – doprava ve městě.Geologický průzkum Oceánografie – proudění vody, tsunamiRozpoznávání řečiViděníData minnigProcesory a pamětiCISC procesorypaměti měli větší frekvenci než procesory, paměť byla drahá a malá. Požadavek na malé programy, aby byl prostor na data. Přímá podpora překladačů – snížení velikosti programů, relativně jednoduché, optimalizace kóduAdresování (přístup k paměti) – velice rychlé paměti, nebylo časově drahé sahat do paměti pro data. Umožňovala složité adresování. Složité instrukcemikroprogramování – počítače programovatelné na 2 úrovních, programátor pracoval na makro-instrukční úrovni, HW, který byl sám programovatelný. Makro-instrukce byly tvořeny menšími instrukcemi. Optimalizováno. Variabilita instrukcí, preferování jedné instrukce na úkor jiné. Jednodušší návrh hardwaru. Instrukce jsou emulovány. Nevýhodou je komplikace, s novými programovací jazyky roste požadavek na složitost instrukcí. Další nevýhodou byla snaha udržet kompatibilitu se staršími procesory, zpomalení za cenu kompatibility. Větší požadavky na adresační módu vzhledem k instrukcím. Zvýšení výkonurychlost hodin zvýšení rychlosti, hodně blízko HW komponent, snížení teploty, paralelizacePipeliningpřekrývání instrukcí v různých fázích zapracovanostikaždou instrukci umíme dekomponovat na několik částí, zjistit co ta instrukce dělá, jaké má operandy, jak je získat z paměti, pak se provede vlastní výpočet, výsledek nějak reprezentovat. Zvýšení rychlosti tím, že lépe využijeme HW. Pokud se provede již část instrukce v sekci 1, pak se uvolní a může ji využít k provádění jiné instrukce. Výpočty v pohyblivé řádové čárce – vlastní dedikovaný co-procesor. Oddělením celočíselné části od neceločíselné zvýšíme výkon. Rozklad instrukcíInstruction Fetch – instrukce je načtena z pamětiInstruction Decode – instrukce je rozeznána (dekódována)Operand Fetch – jsou připraveny operandy (načteny z registrů a/nebo paměti)Execute – vykonání instrukceWriteBack – výsledek je zapsán zpět (do registrů, paměti) Jednotlivé instrukce jsou zpracovány paralelně s posunem o jednu fázi. 2 přístupy k pamětiNeviditelný pipelining – aktuálně používáme, pipeline stejně dlouhéVíme, co nás zdržuje, je získávání operandů, před ni dáme instrukci tak, aby zajistila, že jsou data opravdu připravena před vlastním vykonáním instrukcePředsunutí čtení (zápisu) z (do) paměti před vlastní instrukci pracující s datyViditelný pipeliningVíme přesně jak máme rozbitou instrukci, víme, kterou část pipeliny budou zatěžovat například, aby nesoupeřili o execute.RISCReduced Instruction Set Computerredukována sada instrukcí, v programu můžeme udělat cokoliv, v HW udělejme jen to, co bude rychlé. Některé rychlé v HW neumíme, dělejme je v softwarucesta přes další zvyšování instrukcí nevede ke zvyšování výkonu.Dramatický pokles ceny, vzrůst velikosti paměti.Zavedení vyrovnávací paměti Cachepřestalo být reálné aby si procesor bral data přímo z pamětijakýsi mezistupeň mezi pamětí a procesoremjak je využívat efektivnělepší pipeliningzačíná se lépe chápatlepší instrukcekvalitně optimalizující překladačedovoluje překladačům dělat víc a lépeProblém jak rychle přistupovat k paměti, vyhýbáme se instrukcím čtení z paměti.Zanedbatelná velikost programu, nezajímá nás velikost programuproblémzadržení při čekání na výsledek předchozí instrukceje možné přepsat výsledek není potřeba složitých instrukcí, čitelnost assembleru přestává být podstatná. Roste význam kompilátorů a překladačůcharakteristikajednotná délka instrukcípečlivý výběr instrukcíjednoduché adresní módy2 instrukce na přístup do paměti (Load/Store)požadavek na počet registru, zvětšuje se jejich počet, v CISC byly 4 registry„Odložené“ skoky (delayed branches) – několik tiků pipeline je nevyužité, není optimální. Vyhazuje se menší počet instrukcí z pipeliny – lepší využití. Každá instrukce má definovanou délku vykonání – v execute. Druhy pipelinesSuperskalární můžeme dávat instrukce různým execute jednotkám (vícenásobné procesní jednotky ALU, FPU ...)musíme garantovat exkluzivity zápisu a čtení na stejné jednotce, nemůže být vykonáváno paralelněparalelismus na úrovni HW.Speciální instrukce X*Y + Z pro vědecké výpočty, nešťastná, zefektivnění. Bere výsledek z předchozího výpočtu, jde po kratší cestě než klasicky vykonávání instrukce. - komprimaceSuperpipeline -Další zjednodušení obvodůrozsáhlejší dekompozice pipelinerychlejší provádění jednotlivých částínapříklad floating point operace, První RISC neumí dělit, řešeno v SW. Lepší krmení execute jednotek, fetch děleno do několika úrovní,celkové zjemnění částí pipeline – celkové zrychlení lépe řešeny skoky v kóduVýsledek rychlejší výpočetjiná forma paralelismutéž známe jako hluboké pipelines – celkové rozložení pipelinevelmi dlouhé instrukce (VLIW – very long instruction word)obdoba superskalárních (mnoho jednotek)paralelizace pod kontrolou překladače (software)výhody:jednodušší instrukceminení potřeba složitých instrukcí řídící HW, hardware může být jednodušší -> tím pádem ho můžeme přetaktovatpotenciál pro nižší spotřebu energiepřekladač vytváří tyto dlouhé instrukce, říká že označené instrukce mohou být paralelizovány, výhoda v tom, že překladač zná celý program a ví, které části programu mohou být prováděny paralelně. Přeskládává operace tak, aby dlouhá slova dostatečně zaplnil, zvýšil výkon a rychlost vykonávání instrukcí. Další rysy RISCobcházení/přejmenování registrůsnaží se, pokud to jde, odstraní závislosti (registr nemůže být smazán dokud si jeho obsah nevyzvedne jiná instrukce) Vytváření stínových registrů R1 -> R1´, vytvoří se prostor pro paralelizaci (řešenou stínovými instrukcemi).řešení skokůskoky nevedou daleko,neprovede skok a nastaví se příznak na T1 nebo T2 podle toho jestli platí podmínka. Pokud je špatný příznak, pak se provede instrukce NO OPERATION.Vhodné při některých stavechvyhýbáme se tak vyprazdňování pipeline, které je drahépři jumpu se čte cílová adresa a hned se i předčtou data – velmi rychle se případně provedouspekulativní, hrneme data ze všech míst, i z těch míst v kterých se neprovede.Předpověď skoku (například cyklus) - jednou by měl vyjít ven z cyklu. ANDESArchitecture with Non-sequential Dynamic ExecutinSSchedulingArchitekrura Nesekvenční Dynamické Plánování Východiskaneumíme, vzít 1. a 4. instrukci, protože 4. instrukce nezávisí na 1. instrukci, kdežto 2. a 3. instrukce na ni závisí.Jak se vypořádat s instrukcemi LOAD/STOREdynamicky na velikém počtu instrukcí, fází fetch proletí 100 instrukcí, vytvoří fronty, pro každý typ instrukcí je fronta. Každá z front se obsluhuje nezávisle. Vezme se z fronty instrukce, která se může provést (jestli má data...). Najednou instrukce, které jsou závisle se stanou nezávislé. Každá fronta má vlastní pipeline. Berou se instrukce, které jsou připraveny. Instrukce se provádějí podle toho, jak sou připraveny a ne podle toho, jak byly napsány. Pak je fáze dokončení, instrukce se provede tak, jak mají být provedeny, jak byly napsány v kódu. - zrychluje – rozbíjením závislostíInstrukce, jejíž efekt není vidět, pak si můžeme dovolit spekulativní skoky – provedeme instrukci i když ji pak zahodíme.Lepší vykonat a zahodit než čekat. Cenou je třeba spotřeba energie. Neblokující Load/Store LOAD dává adresu v paměti a registr – rychlost nedefinována. (podle toho kde sou data – na disku pak dlouho čekáme)ANDES řešení – LOAD se nastartuje ve fázi ISSUE, podívá se do CACHE pokud jsou data, pokud ne, iniciuje se load a instrukce se přesune nakonec fronty a může se zase další instrukce LOAD. Přejmenování registrů je aplikováno ještě ve větší mířePaměťřádky a sloupce (matice)Adresa má dvě části Page mode – naráz čtena skupina souvisejících typůpřístupová dobavystav řádek plus vystav sloupec plus vystav datacyklus pamětiUrčuje jak často lze data čístObě závisí na typu paměti (dynamická vs. Statická)statická může být rychlejší ale dražšídynamická paměťbity se změní a potřebují čas na znovu nabití bitů (čas obnovy)potřebuje energiivirtuální paměťFyzická vs. Logická paměťlogická patří k procesuvíce adresového prostorupočítač se s tím musí vypořádat.Představa že proces pracuje sám s určitou paměti a nikdo mu na to nešaháfyzická paměť je mapována stránkamiTLBHW součást překlad adres z virtuální do fyzické adresyprovede ondemand – nezpůsobí zpožděnímožnost výpadku – podle procesu exidtuje ale v paměti neexistuje (je na disku, ještě neexistuje)má konečnou velikostpři výpadku se znovu obnoví z paměti, HW musí nahrávat novou tabulku, procesor se zablokuje.Nejsme reálně schopni udělat reálně čas instrukce. (kvůli LOAD/STORE)nejsme schopni říci kde je stránka (v cache nebo TLB missed)klasické superpočítače virtuální paměť nepoužívají, degradace superpočítačenesmíme dostat do stavu, kdy stránky jsou ve významném rozsahu ukládány a čteny z diskupoužívá se jen v ochranném módu vlastní paměti.podstata superpočítači je nedělit se o procesor s ostatními procesy – chceme pustit jednu úlohu a jen tu.Není kritická ochrana paměti více uživatelů, stačí jen pro oddělení paměti od naší úlohy a OSdata se stránkují přímo v programu, program ví, která data mohou být přímo na disku a která musí být v hlavní paměti – použito ve vektorových počítače. Občas je rychlejší spočítat data znovu než si je přečíst z disku. Program říká, kdy se může ukládat na diskVyrovnávací paměťdalší z hierarchie pamětízvýšit rychlost (simulovat rychlost registru)virtualizovat paměťhit poměř – jak často najdeme data zde místo v hlavní paměti. (chceme = 1)typymnožinově (částečně) asociativní (set-assosiative)přímo adresovatelné (direct mapped)máme statické mapování – hlavní paměť je rozdělěna do řádku, a to do vyrovnávací pamětiautomaticky se mapuje nově přidaná paměťvelice rychlá na vyhledávánínevýhoda, že není flexibilní. (jeden řádek je mapován na x řádku hlavní paměti, pak bychom měli jeden řádek vyrovnávací paměti pro naše důležitá data – ztráta efektu vyrovnávací paměti.)potenciálně velmi neefektivnívhodné pro lineární čteníplné asociativní (fully-associative)naprosto dynamická,nemá předepsané mapováníkterýkoliv řádek může držet jakýkoliv řádek hlavní paměti – nárok na složitostřádek si musí pamatovat řádek v hlavní paměti (který řádek to zrovna je)dotaz všech řádků, jestli náhod nemá potřebná data (paralelní fce), velice složitý, platíme za rychlostvyužíváme plnou kapacitu, není plýtvání, komplikace spojená s vyhledáváním obětního řádku (přepsat data) – vynucují existenci algoritmu swapování.Logika složitosti vysoká, ale pst HitRatio (data jsou v Operační paměti) je mnohem většíčástečně asociativní pamětkompromis předchozích dvou – vybereme jen to nejlepšínejčastěji se využívájakási množina přímo adresovatelných pamětípřímo adresovatelná paměť má pod sebou 2-4 bloky plně asociativní paměti.Odstraníme opakovatelnou přepisovatelnost z plně adresovatelné paměti.Jednodušší algoritmy pro plně asociativní paměti.Write-backaž se data budou mazat v cache nejdříve zapíšeme do paměti.Write-throughtKdykoliv kdy zapíšeme do cache zapíšeme i do hlavní paměti.ArchitekturyHardvard Memory Architectureoddělení paměti pro data a pro instrukceovlivňuje to chování procesoru ke každému typu pamětimůžeme fyzicky vytvořit speciální vyrovnávací paměť pro data a pro instrukceProgramově ovladatelná vyrovnáva
Vloženo: 24.04.2009
Velikost: 74,79 kB
Komentáře
Tento materiál neobsahuje žádné komentáře.
Mohlo by tě zajímat:
Skupina předmětu IA039 - Architektura superpočítačů a intenzivní výpočty
Reference vyučujících předmětu IA039 - Architektura superpočítačů a intenzivní výpočty
Podobné materiály
- IB002 - Návrh algoritmů I - Skripta Teorie_Jaz_Aut
- IB002 - Návrh algoritmů I - Skripta
- IB102 - Automaty a gramatiky - Skripta ostrava
- MA007 - Matematická logika - Skripta_18_stran
- MB000 - Matematická analýza I - Skripta_upol
- MB005 - Základy matematiky - Skripta dokonceny_niederle
- MB005 - Základy matematiky - Skripta_niederle_2002
- MB005 - Základy matematiky - Skripta_Rosicky
- MB101 - Matematika I - Skripta dvoji_pohl_svazy
- MB101 - Matematika I - Skripta ekviv
- MB101 - Matematika I - Skripta gener
- MB101 - Matematika I - Skripta grupy_polog
- MB101 - Matematika I - Skripta homomor_grup
- MB101 - Matematika I - Skripta kombin_variace
- MB101 - Matematika I - Skripta mnoziny
- MB101 - Matematika I - Skripta permut
- MB101 - Matematika I - Skripta princip_exkluze_inkluze
- MB101 - Matematika I - Skripta relace
- MB101 - Matematika I - Skripta svazy
- MB101 - Matematika I - Skripta usporadane_mny
- MB101 - Matematika I - Skripta uziti_exkluze_inkluze
- MB101 - Matematika I - Skripta zbytky
- MB101 - Matematika I - Skripta zobrazeni
- MB101 - Matematika I - Skripta Čisla_vlastnosti
- MB102 - Matematika II - Skripta koreny_polynom
- MB102 - Matematika II - Skripta okruhy_polynom
- MB102 - Matematika II - Skripta okruhy_telesa
- MB102 - Matematika II - Skripta rac_lom_fce
- MB102 - Matematika II - Skripta vlast_polynomu_delitel
- MB104 - Matematika IV - Skripta z.dosla
- PA008 - Překladače - Skripta a
- PA102 - Technologie informačních systémů I - TIS_I_skripta
- PB006 - Principy programovacích jazyků - Skriptaprincipy_programovacich_jazyku_zkusto
- PB006 - Principy programovacích jazyků - Skripta_2002
- PB007 - Analýza a návrh systémů - Skripta
- PB007 - Analýza a návrh systémů - Skripta_163_stran
- PB114 - Datové modelování I - Skripta
- PB151 - Výpočetní systémy - Skripta
- PB154 - Základy databázových systémů - Skripta complete_cz
- PB156 - Počítačové sítě - Skripta 1
- PB156 - Počítačové sítě - Skripta 2
- PV017 - Bezpečnost informačních technologií - Skripta
- PV077 - UNIX -- programování a správa systému II - Skripta
- PV058 - Informační systémy ve státní správě I - Skripta ISstatnisprava
- PV058 - Informační systémy ve státní správě I - Skripta ISstatnisprava1
Copyright 2024 unium.cz