OPS Paralelní systémy, seznam pojmů, klasifikace



Podobné dokumenty
Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Paralelní programování

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Operační systémy. Přednáška 1: Úvod

Představení a vývoj architektur vektorových procesorů

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Struktura počítačů z{kladní pojmy

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Charakteristika dalších verzí procesorů v PC

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Úvod SISD. Sekvenční výpočty SIMD MIMD

Architektura počítačů

Pohled do nitra mikroprocesoru Josef Horálek

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Architektura počítače

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Charakteristika dalších verzí procesorů Pentium

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Profilová část maturitní zkoušky 2014/2015

Architektura Intel Atom

Využití paralelních výpočtů v geodézii

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Integrovaná střední škola, Sokolnice 496

Paralelní a distribuované výpočty (B4B36PDV)

Paralelní architektury se sdílenou pamětí typu NUMA. NUMA architektury

4. Úvod do paralelismu, metody paralelizace

13. Paralelní architektury SISD, SIMD, MISD, MIMD.

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Počítač jako elektronické, Číslicové zařízení

Počítač jako prostředek řízení. Struktura a organizace počítače

Univerzita Pardubice Fakulta ekonomicko-správní. Vytvoření podpůrných nástrojů pro výuku předmětu Operační systémy. Michal Bělský

Logická organizace paměti Josef Horálek

PB002 Základy informačních technologií

Profilová část maturitní zkoušky 2015/2016

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Pokročilé architektury počítačů

PRINCIPY POČÍTAČŮ Metodický list číslo 1

C2115 Praktický úvod do superpočítání

PRINCIPY POČÍTAČŮ. Schopnost logického uvažování a rešeršní práce v prostředí Internetu.

Historie počítačů. 0.generace. (prototypy)

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Pro úlohy digitálního zpracování obrazu je příznačný velký objem dat. Doposud ani rychlé počítače s konvenční sériovou architekturou nejsou schopny

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Architektury počítačů a procesorů

PB002 Základy informačních technologií

Disková pole (RAID) 1

Roman Výtisk, VYT027

Procesy a vlákna (Processes and Threads)

Práce v textovém editoru

Paralelní architektury - úvod

Úvod do GPGPU J. Sloup, I. Šimeček

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Architektury paralelních počítačů I.

Historie výpočetní techniky. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1121_Histrorie výpočetní techniky_pwp

Paralelní programování

Vstupně - výstupní moduly

Systém adresace paměti

Distribuovaný systém je takový systém propojení množiny nezávislých počítačů, který poskytuje uživateli dojem jednotného systému.

Úvod do OpenMP. Jiří Fürst

Xbox 360 Cpu = IBM Xenon

Paralelní architektury - úvod

ZČU/FAV/KIV/PPR 1 Architektury paralelních počítačů, modely dekompozice výpočtu, interakce a výkonnost

Princip funkce počítače

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Pokročilé architektury počítačů

Představení procesorů od firmy Tilera a jejich architektura

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Z{kladní struktura počítače

Cache paměť - mezipaměť

PRINCIPY OPERAČNÍCH SYSTÉMŮ

ARCHITEKTURA PROCESORŮ

Sběrnicová architektura POT POT. Jednotlivé subsystémy počítače jsou propojeny sběrnicí, po které se přenáší data oběma směry.

Disková pole (RAID) 1

Blue Gene Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P.

Cell broadband engine architecture

Hlavní využití počítačů

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Management procesu I Mgr. Josef Horálek

Paralelní programování

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Architektura procesorů PC shrnutí pojmů

Principy počítačů. Optimalizace. Martin Urza

Transkript:

Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus Skutečný paralelismus = vytváření souběžnosti = pro každý proces je k dispozici vlastní CPU Pseudoparalelismus Několik procesů se vzájemně dělí o časové kvanta na jednom CPU Operační systém by měl umožnit uživatelům spustit několik programů současně a přepínat mezi nimi. Případně i umožnit, aby tyto programy běžely současně. Moderní počítače v některých ohledech porušují von-neumann schéma počítače. Jsou schopné současně provádět program a vstupní nebo výstupní operace, ale obvykle mají pouze jeden procesor. OS umožní uživateli spustit více programu. Každý program bude umístěn v jiné části paměti. OS přepíná rychle mezi jednotlivými procesy, takže se zdá, že všechny procesy běží současně. Pokud program požádá OS o I/O operaci, kterou není možné ihned dokončit, OS mu odebere procesor a přidělí jej jinému procesu.

Pseudoparalelismus - procesy a vlákna Proces je aplikace nebo program, který OS zavedl do operační paměti ( spustil ). OS pro každou spuštěnou aplikaci (tedy pro každý proces) vytváří tzv. virtuální adresní prostor, tedy paměťový prostor, ve kterém se aplikace v paměti nachází. Vlákno je naproti tomu objektem OS (např. Win32), ve kterém běží programový kód. Je to tedy objekt, který skutečně provádí nějakou operaci; je to objekt, ve kterém probíhá strojový kód vzniklý překladem zdrojového kódu některým překladačem. Vlákno je skutečnou pracovní jednotkou. Při každém vytvoření nového procesu (tedy při každém spuštění aplikace) vzniká proces a jeho adresní prostor a vytvoří se vlákno, ze kterého se aplikace opravdu spustí. Toto vlákno se vytvoří zcela automaticky (postará se o to OS) a vývojář pro to nemusí učinit zhola nic. Vlákno se nazývá primární vlákno. Všechny aplikace tedy běží v nějakém vláknu. Primární vlákno může ovšem vytvořit další vlákna a to je již úkol pro nás. Pokud někde uvnitř kódu aplikace napíšeme příkaz pro vytvoření vlákna, dojde k tomu, že primární vlákno naší aplikace vytvoří další vlákno. Naše aplikace (proces) se tedy v tomto okamžiku skládá ze dvou pracovních vláken. Je zřejmé, že nemusíme vytvářet jen jedno další vlákno, ale libovolné množství; stejně tak každé z námi vytvořených vláken může vytvořit další vlákno (vlákna). Všechna vlákna vytvořená v rámci jednoho procesu (v rámci jedné aplikace) využívají tentýž, společný virtuální adresní prostor tohoto procesu! Adresní prostor je definován procesem, nikoliv vláknem proto je možné sdílet data procesu více vlákny.

Paralelní systémy Flynnova klasifikace Nejznámější klasifikace paralelních systémů z roku 1966. Její nevýhodou je velká hrubost - definuje jen dvě prakticky použitelné kategorie PS. Podle této klasifikace se systémy třídí podle toku instrukcí: Systémy s jedním tokem instrukcí - SI (Single Instruction Stream) Systémy s vícenásobným tokem instrukcí - MI (Multiple Instruction Stream) Analogicky dle toku dat : Systémy s jedním tokem dat - SD (Single Data Stream) Systémy s vícenásobným tokem dat - MD (Multiple Data Stream) Kombinaci jednotlivých systémů dostáváme čtyři kategorie paralelních systémů. SISD Počítač zpracovávající data sériově podle jednoho programu. Příkladem je počítač von Neumannova typu. SIMD Počítač používající větší množství stejných jednotek (procesorů) řízených společným programem. Přitom data zpracovávána jednotlivými procesory jsou různá, takže každý procesor zpracovává jinou hodnotu, ale všechny procesory provádějí současně stejnou instrukci. Jedná se o tzv. vektorové počítače MISD Kategorie počítačů, která vznikla uměle na základě této klasifikace a rozhodně není běžná v praxi. Vyžaduje serii procesorů, které postupně zpracovávají společná data podle vlastních programů. MIMD Multiprocesorový systém, v němž je každý procesor řízen samostatným programem a pracující na samostatných datech.

Paralelní systémy Flynnova klasifikace SIMD - Vektorové počítače Vektorové počítače pomáhají urychlit výpočet tím, že dovolují provádět instrukce na řadě (vektoru) hodnot najednou. Vektorové počítače obvykle obsahují jednu řídící a několik výkonných jednotek, přičemž každá výkonná jednotka je schopna zároveň s ostatními provádět stejnou instrukci na "svých" datech. Tím, že procesor nepracuje se skalárními veličinami, ale rovnou s vektory, se ve speciálních aplikacích dosahuje výrazného zrychlení. Tak například součet dvou vektorů B a C se na sekvenčním stroji musí provádět takto: for (int i = 0; i <= n; i++) { A[i] = B[i] + C[i]; }...zatímco vektorový procesor může vykonat uvedený kus kódu jako jedinou vektorovou instrukci: A[0:n] = B[0:n] + C[0:n] Příklady strojů: Cray, NEC SX-4 Za zmínku stojí, že i obyčejná Pentia mají několik vektorových instrukcí. Jsou jimi instrukce MMX (Multimedia Extensions -- Pentium, Pentium II) a SSE (Streaming SIMD Extensions -- Pentium III) určené pro zrychlení práce s multimédii, audio/video a ve 3D oblasti.

Paralelní systémy MIMD MIMD - Symetrické multiprocesory Symetrické multiprocesory jsou charakteristické tím, že se skládají z několika (obvykle do desítek) procesorů a hlavně sdílené paměti. Vše je propojeno komunikačním subsystémem (sběrnicí). Každý procesor má svůj vlastní proud instrukcí a dat, někdy mohou mít i trochu své lokální paměti (cache), jednotlivé procesory spolu mohou přes sdílenou paměť komunikovat. Z ostatních zástupců symetrických multiprocesorů zmiňme alespoň SGI Power Challenge. MIMD - Masivně paralelní počítače Masivně paralelní počítače se skládají z relativně samostatných uzlů, kterých může být dohromady propojeno až na tisícovky. Každý uzel má svůj procesor a vlastní paměť; na každém běží jeho vlastní kopie operačního systému. Úlohy běžící na procesech spolu komunikují předáváním zpráv po meziuzlových linkách. Komunikace je tady na rozdíl od symetrických multiprocesorů pomalejší, ale zase je možno využít řádově vyššího počtu procesorů. Příklad: IBM SP MIMD - cluster pracovních stanic, počítačové clustery Tento typ paralelní architektury je občas označován jako distribuovaný systém. V podstatě jde o řadu počítačů propojených sítí (LAN/WAN) tak, aby na nich mohla běžet paralelní úloha (n * PC + síť + software pro komunikaci mezi procesy). Na clusterech pracovních stanic je typické právě to, že jsou často tvořeny obyčejnými ("pomalými") počítači propojenými ultrarychlou sítí (Fast/Giga Ethernet).