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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 České vysoké učení technické v Praze Fakulta stavební Katedra mapování a kartografie Využití paralelních výpočtů v geodézii DOKTORSKÁ DISERTAČNÍ PRÁCE Ing. Martin Jeřábek Praha, září 2001 Doktorský studijní obor: Geodézie a kartografie Školitel: Doc. Ing. Aleš Čepek, CSc.

2

3 1 Obsah 1 OBSAH. 1 2 PŘEDMLUVA 5 3 ÚVOD 7 4 PARALELNÍ POČÍTAČE A PARALELNÍ VÝPOČTY Evoluce Konstrukce Flynnova taxonomie SISD. 13 John von Neumann SIMD MISD MIMD Komunikace v paralelním počítači Směrování Paměť paralelního počítače SMPC DMPC VSM Přístup do paměti u SMPC Přístup do paměti u DMPC Propojovací sítě Použité pojmy teorie grafů Požadavky na propojovací síť Typy propojovacích sítí.. 23 Hyperkrychle. 23 Hyperkubické sítě 24 N-rozměrné mřížky 25 de Bruinovy sítě 26 Stromové grafy Taxonomie paralelních počítačů Současnost a trendy Symmetric Multiprocessors (SMP) Massively Parallel Processors (MPP) Clustery.. 28 Beowulf 28 MOSIX Distribuované paralelní počítače 30 Výhody heterogenního distribuovaného výpočetního systému 30 Nevýhody heterogenního distribuovaného výpočetního systému Paralelní algoritmy Růst výkonu paralelního systému Amdahlův zákon Paralelizace Automatická paralelizace. 35 1

4 4.6.2 Ruční paralelizace Paralelní programovací jazyky Knihovny pro paralelní programování Některé možné přístupy k paralelizaci Oblasti využití paralelních systémů SYSTÉMY PRO PARALELNÍ VÝPOČTY Parallel Virtual Machine Paralelizace úloh využívajících PVM Krátce z historie Základní vlastnosti PVM Výhody PVM Platformy podporované PVM Části PVM Používané pojmy Rozhraní knihovny PVM Základní funkce Komunikace mezi procesy Obsluha paralelního počítače Odolnost proti výpadkům Skupiny paralelních procesů PVM konzole Konfigurace PVM pomocí hostfile XPVM Další balíky pro paralelní výpočty Message Passing Interface MPICH P Express Linda Stručné srovnání PVM a MPI ScaLAPACK APLIKACE PARALELNÍHO ZPRACOVÁNÍ DAT Paralelní zpracování dat v geodézii a DPZ Danish Center for Remote Sensing Univerzita v Adelaide NASA Goddard Space Flight Center Clemson Regional Data Center Paralelní výpočty na naší fakultě POUŽITÉ TECHNOLOGIE Hardware SP Heterogenní síť počítačů Homogenní síť počítačů Software Linux

5 7.2.2 GaMaLib a gmatvec Programovací jazyk 70 8 EXPERIMENTY Obrazová korelace Teoretický nástin problému Binární korelátory Smíšené korelátory Víceúrovňové korelátory Paralelní zpracování Dosažené výsledky Obrazové filtry Teoretický nástin problému Detekce hran Použité obrazové filtry Zvýraznění hran.. 85 Laplaceovský operátor Laplaceovský operátor Zaostření obrazu. 86 Sharpening operator Detekce hran. 86 Robertsův operátor. 86 Sobelův operátor.. 87 Prewittův operátor.. 88 Lineární operátor. 89 Robinsonův operátor. 89 Kirschův operátor Paralelní zpracování Dosažené výsledky Hodnocení Paralelní transformace souřadnic Nástin problému Paralelizace Varianta A - použití odkládacích souborů Varianta B - přenos výsledných dat po síti Dosažené výsledky Varianta A Varianta B Hodnocení Varianta A využití odkládacích souborů Varianta B - přenos dat po síti Závěr Řešení soustavy rovnic metodou LTS Teorie Nástin problému Metoda LTS Princip Tvorba upravené soustavy rovnic Řešení upravené soustavy rovnic Výběr prvního vzorku a LTS iterace. 129 LTS způsob hledání vzorku Průběh dalšího výpočtu Ukončení výpočtu Klady a zápory Paralelní řešení 133 3

6 Přístup k paralelnímu řešení Úpravy klasického algoritmu použité při paralelním řešení Použité objektové struktury Permutace. 134 Core. 135 Storage Databáze permutací. 137 TOP list. 137 Task worklist Klasický výběr permutačních vektorů. 137 LTS přístup. 138 Náhodný přístup Genetický výběr permutačních vektorů Genetické křížení. 139 Genetická mutace Princip práce paralelního programu Master program. 142 Slave proces Podmínky pro ukončení výpočtu Parametry paralelního programu. 145 Paralelní zpracování 145 Ukončení výpočtu 146 Průběh výpočtu. 146 Nastavení genetického algoritmu Testy Data Load balancing. 147 Zjištění teoretického výkonu Alternativy Testy výkonu Testy konvergence Dosažené výsledky a jejich hodnocení Load balancing Výkon Konvergence ZÁVĚR LITERATURA INTERNETOVÉ ZDROJE SEZNAM TABULEK SEZNAM OBRÁZKŮ SEZNAM GRAFŮ REJSTŘÍK REJSTŘÍK POUŽITÝCH ZKRATEK A POJMŮ SEZAM PŘÍLOH

7 2 Předmluva Předkládaná práce se zabývá problematikou paralelních počítačů a možnostmi využití paralelních výpočtů v geodetických vědních oborech, s ohledem na současný stupeň vývoje hardwaru a softwaru a cesty, kterými se tento vývoj ubírá. Vzhledem k rychlému rozvoji tohoto oboru a jeho rozsáhlosti nemohu v této práci (a ani to nebylo mým cílem) podat vyčerpávající obraz tohoto fenoménu. Spíše se snažím o přiblížení jeho možností s ohledem na výpočetně náročné úlohy řešené v geodézii. Ačkoliv se o počítače ve velké míře zajímám již od roku 1987, v počátcích mého studia pro mne (stejně jako pro většinu mých kolegů) paralelní počítače představovaly v podstatě velkou neznámou, o jejíž existenci jsem sice měl mlhavé tušení, ale jakékoliv podrobnější znalosti této problematiky byly zcela mimo rámec mé počítačové gramotnosti. Bohužel ani dnes nemá valná většina naší odborné veřejnosti o paralelních výpočtech žádné povědomí, a i proto je jejich současné využití v našem oboru podle mého názoru téměř nulové. Prvotním impulsem pro zaměření mého studia tímto směrem bylo absolvování semináře Paralelní systémy a algoritmy vedeného Doc. Ing. Tvrdíkem, CSc. na fakultě elektrotechnické ČVUT, na jehož existenci mě upozornil můj školitel Aleš Čepek. I přes můj počáteční znalostní handicap nejen v oblasti konstrukce počítačů oproti řádným studentům elektrotechnické fakulty, jsem byl po několika absolvovaných hodinách danou problematikou zcela pohlcen. Abych mohl pokračovat v rozvoji svých znalostí, bylo nutné nejprve nastudovat teoretické základy konstrukce počítačů z odborné literatury určené studentům inženýrského studia fakulty elektrotechnické. Byl jsem příjemně překvapen přístupem Doc. Tvrdíka k mé účasti na jeho seminářích, neboť podpořil můj zájem o tento obor a měl pochopení pro mé počáteční tápání v přednášené teorii. I v semestrální práci, která tvořila tečku za zmiňovaným seminářem, Doc. Tvrdík podporoval mou snahu o hledání aplikace paralelních výpočtů na úlohy řešené v geodézii. Tato zkušenost mě přesvědčila o tom, že směr, kterým jsem se ve svém studiu vydal, je správný. To vyústilo v mé další studium tohoto oboru a experimenty s paralelními výpočty. V době, kdy jsem se začal hlouběji zabývat paralelními počítači, u nás nebyly technické předpoklady pro mé experimenty právě na vysoké úrovni. Až komicky může v dnešní době působit skutečnost, že první platformou pro mé pokusy s paralelními výpočty byl jediný počítač s procesorem a 8 MB paměti. Tato neutěšitelná situace se však postupem času k mé velké spokojenosti zlepšila, a to především díky ochotě mých kolegů, kteří mi umožnili využívat jejich počítačů jako součást prvního skutečně paralelního počítače běžícího na naší katedře. Poté nabraly události rychlý spád a již v roce 1996 jsem dostal příležitost využívat v rámci svého výzkumného projektu masivně paralelní superpočítač IBM SP2 v tehdejším Centru intenzivních výpočtů ČVUT. K němu jsem posléze přidal i heterogenní síť počítačů s operačními systémy Linux a OSF ve svém zaměstnání a větší homogenní síť Linuxových stanic na naší katedře. Tyto paralelní počítače již disponovaly potřebným výkonem nejen pro testování ale i pro jejich případné použití v praxi. Rostoucí míra technické vyspělosti a relativní dostupnosti potřebného počítačového vybavení měla nezanedbatelný vliv na podstatné rozšíření a zkvalitnění mých výzkumů oproti mým prvotním záměrům a předpokladům. Ani v dnešní době není bohužel v uvažovaných cílových oblastech vybavenost potřebnou výpočetní technikou dostatečně příznivá. Avšak pokud uvažujeme o použití 5

8 sítě pracovních stanic jako paralelního počítače, je tato alternativa dostupná na většině našich výzkumných pracovišť a dalších místech, kde by intenzivní výpočty mohly nalézat uplatnění. Proto se domnívám, že důvodem nevyužívání paralelních výpočtů v našem oboru není nedostatečná hardwarová základna, ale spíše absence povědomí odborné veřejnosti o existenci tohoto přístupu k řešení výpočetně složitých úloh a o možnostech, které nabízí pro zkvalitnění a zefektivnění jejich náročné vědecké práce. Při studiu problematiky paralelních výpočtů jsem vycházel především z výše uvedených přednášek Doc. Tvrdíka a z jeho skripta Parallel systems and algorithms, které pro mě představovalo neocenitelnou teoretickou základnu pro další rozvoj mých znalostí a poskytlo mi základní obraz o dané problematice. Protože odborná literatura zabývající se paralelními výpočty byla v našich knihovnách spíše vzácností, další zdroje pro mou práci tvořila zahraniční literatura získávaná v rámci grantů a z nemalé části také informace z internetových stánek výzkumných projektů zabývajících se tímto tématem. Vzhledem k tomu, že naprostá většina literatury, se kterou jsem pracoval, byla napsána v angličtině, a v podstatě i celý obor výpočetní techniky jako takový, využívá především tohoto jazyka, je terminologie, kterou ve své práci používám rovněž zpravidla anglicky. Pouze výrazy, jejichž český ekvivalent je obvyklé v praxi používat nebo jejichž překlad by mohl napomoci k pochopení výkladu, jsou uvedeny v obou jazycích. V textu mé práce jsou také ve značné míře použity všeobecně uznávané zkratky odborných výrazů, jejichž opakované vypisování by mohlo text nežádoucím způsobem roztříštit a znepřehlednit. Seznam všech použitích zkratek spolu s jejich stručným výkladem je uveden v závěru práce. Nelze samozřejmě vyloučit, že popisovaným odborným výrazům mohou být v literatuře přiřazovány i jiné zkratky, ale možné neporozumění způsobené případným nesouladem je minimalizováno jejich výkladem. Při hledání vhodných aplikací pro své experimenty s paralelními výpočty jsem byl inspirován úlohami, na jejichž řešení jsem pracoval v rámci svého studia, případně zajímavými úlohami, jejichž sekvenčním řešením se zabývali mí kolegové z katedry. Tyto úlohy skýtaly zajímavou možnost srovnání výsledků klasických sekvenčních verzí programu s mými vlastními experimentálními paralelními verzemi. V počátečních fázích mých experimentů jsem se rozhodl pro použití programovacího jazyka C, a to především z důvodu, že v tomto jazyce jsou běžně dostupné knihovny, jichž jsem využíval při paralelizaci svých programů. V pozdějších etapách experimentů jsem na doporučení svého školitele Aleše Čepka zvážil možný přechod k vývoje vyššímu stupni jazyka k objektově orientovanému programovacímu jazyku C++. Toto rozhodnutí podpořila též existence knihoven gmatvec a GaMaLib a mé předchozí zkušenosti s tímto jazykem. Použití tohoto jazyka v porovnání s jazykem C výrazně urychlilo a zefektivnilo tvorbu paralelních i sekvenčních částí mých programů. Na tomto místě bych rád poděkoval svému školiteli Doc. Ing. Aleši Čepkovi, CSc., za odborné vedení, nezměrnou trpělivost a neustálou inspiraci, kterou mi věnoval po celou dobu mého studia. Svou podporou, optimismem a humorem mi vždy dokázal vrátit chuť k práci i v dobách neúspěchů, které se zákonitě čas od času dostavovaly. Poděkování patří i mým rodičům za jejich podporu po celou dobu mého studia. 6

9 3 Úvod Tato práce pojednává o paralelních počítačích, paralelních výpočtech a možnostech jejich využití pro řešení výpočetně náročných úloh z oblasti geodézie. S nástupem stále výkonnějších počítačů se totiž začínají objevovat i stále náročnější úlohy, které je třeba řešit. Algoritmy, které byly natolik náročné na výpočet, že bylo neefektivní nebo dokonce nemožné je použít v praxi, se dostávají do popředí zájmu a objevují se i algoritmy nové, založené právě na využití masivní výpočetní síly. Současně s tím se začínají řešit úlohy, kterým teprve nové technologie daly šanci na realizaci, neboť svou komplexností či rozsáhlostí kladly přílišné nároky na existující hardware. Kromě výkonných pracovních stanic se stále výkonnějšími procesory se objevují i superpočítače označované jako masivně paralelní, které k řešení úloh používají několik (podle konstrukce i několik tisíc) spolupracujících procesorů a jejichž použitím je možno zpracování náročných úloh i řádově urychlit. Můžeme říci, že tyto počítače patří k vývojové špičce ve své evoluční řadě a tomu samozřejmě odpovídá i jejich dostupnost a cena. I přes neustávající technologický vývoj však problémem zůstává skutečnost, že i když jsou dostupné superpočítače s ohromujícím výkonem, ne každý má několik desítek či stovek milionů korun na pořízení takového zařízení, a ne vždy je daná úloha natolik kritická, aby její vyřešení vyvážilo vynaložené finanční náklady. Mnohdy lze totiž získat méně kvalitní a méně spolehlivé výsledky pomocí řádově méně náročných výpočtů a finanční stránka věci se tak často stává omezujícím faktorem při rozhodování o použití výpočetně náročných algoritmů. K řešení tohoto dilematu může napomoci použití distribuovaných paralelních počítačů, zvláště pak pokud uvážíme v poslední době stále více populární sítě pracovních stanic (Networks Of Workstations), tedy například skupiny klasických pracovních stanic propojených výkonnou propojovací sítí. I použití takovéto konfigurace se může zdát jako neřešitelný problém, ale vzpomeňme si, že na stolech našich kanceláří a laboratoří leží desítky počítačů, které v noci (a často bohužel i ve dne) mrhají svým procesorovým časem. Proč tedy nevyužít tuto výpočetní kapacitu, která už beztak existuje, pro výpočty, které bychom jinak neměli šanci řešit? V dalším textu jsou uvedeny informace o paralelních počítačích jako hardwarové platformě pro paralelní aplikace. Tyto informace nejsou a ani nemohou být úplné a vyčerpávající, ať již z důvodu nedostatku prostoru nebo díky tomu, že se tento obor neustále vyvíjí. Jako paralelní můžeme chápat systém, v němž může probíhat několik procesů současně (paralelně). Důvodem, pro použití paralelizmu v oblasti computer science byla snaha zvyšovat výkon nad hranici stanovenou současnou technologií výroby počítačů. Dalším důvodem pro paralelizaci byl i požadavek na zvýšení bezpečnosti a spolehlivosti, kterou lze s použitím paralelně pracujících jednotek zajistit. 7

10 Paralelizmus není ničím nepřirozeným. Podle [1] je mnoho numerických i nenumerických algoritmů ve své podstatě paralelních a jejich provádění na sekvenčním počítači vede nutně ke ztrátám výkonu. Bleskový růst výkonu dnešních počítačů podporovaný vývojem a aplikací nových technologií je výsledkem neustávající poptávky po stále rychlejších a výkonnějších nástrojích. Technologický pokrok však nestačí uspokojovat stále se zvyšující nároky a požadavky. Řešení tohoto problému je tedy třeba hledat v oblasti architektury počítačů. Principy paralelního zpracování v oblasti výpočetní techniky zajímaly konstruktéry už v dobách prvopočátků počítačů vůbec. Jejich aplikace zůstávala však původně pouze ve stádiu teoretickém, neboť neexistovala technologie, která by umožňovala implementaci podobných principů. Samotná paralelizace se i ve svých počátečních stádiích omezovala převážně na paralelní přístup do paměti a další méně komplexní úkony s menšími nároky na vyspělé technologie. Teprve s bleskovým rozvojem technologie výroby počítačů mohly přijít na svět první vektorové počítače, které již můžeme právem řadit mezi paralelní. Jedním z nich byl roku 1976 CRAY-1 * firmy Cray Research Inc. Paralelní výpočty se od svého vstupu na pole výpočetní techniky počátkem sedmdesátých let staly samostatnou oblastí computer science a postupem času nacházejí stále větší využití jak ve sféře vojenské, tak i v mnoha civilních oblastech. Přestože v zahraničí není pojem paralelního zpracování dat neznámý, mezi naší odbornou geodetickou veřejností si zatím stále jen hledá své příznivce. Nepochybně i z tohoto důvodu si pokud je mi známo dosud nenašel v naší geodetické praxi jediné uplatnění. Paralelní výpočty jako fenomén, který musel zákonitě vstoupit na pole masivních výpočtů, nachází své uplatnění tam, kde je zapotřebí mohutné výpočetní síly a kde je k dispozici potřebná technika. Setkáme se s nimi tedy převážně tam, kde existuje požadavek na zpracování výpočetně náročných úloh v časech, které není možno dosáhnout zpracováním klasickými počítači, nebo například v oblastech, kde je prováděno automatické zpracování velkého množství dat. V geodézii a jejích oborech existuje velké množství úloh, které jsou buď výpočetně náročné nebo zahrnují velké množství nezávisle zpracovávaných výpočetních celků. Právě tento typ úloh je předurčen k paralelnímu zpracování. Paralelizace geodetických úloh může zabezpečit jak jejich rychlejší a efektivnější vyřešení, tak i umožnit zpracování komplexnějších a rozsáhlejších výpočtů, jejichž výsledky by bez použití paralelního přístupu byly jen obtížně dosažitelné. Z geodetických vědních oborů můžeme jako vhodné pro paralelní zpracování vytipovat úlohy zpracování obrazových dat dálkového průzkumu Země, výpočetně náročné vyrovnání sítí z oblasti vyšší geodézie, hromadné zpracování dat při tvorbě digitálního modelu terénu a GIS, dávkové výpočty z oblasti nižší geodézie a další. Reprezentativním příkladem může být právě řešení velkých řídkých soustav lineárních algebraických rovnic, používaných při vyrovnání sítí, robustními metodami náročnými na výpočetní výkon, které bylo kromě jiného součástí mých stěžejních experimentů, jejichž výsledky jsou uvedeny v závěru práce. * Cray-1 [51], [50] byl prvním superpočítačem, vyvinutým v roce 1976 Cray Research pod vedením otce superpočítačů Seymoora Craye. Cray-1 byl instalován v Los Alamos National Laboratory a se svým špičkovým výkonem 133 MFLOPS, dosaženým díky své revoluční architektuře, lámal tehdejší výkonové rekordy. Kvůli extrémnímu tepelnému vyzařování musel být systém vybaven chladicím systémem využívajícím freon. 8

11 Tato práce se skládá ze dvou hlavních částí. V první části je popsána motivace pro využití paralelního přístupu, technologie paralelních počítačů a teoretické pozadí paralelních výpočtů. Druhá část pak popisuje mé experimenty, zabývající se využitím paralelních výpočtů v aplikacích, které nacházejí uplatnění v geodézii. Za nejvýznamnější z nich lze považovat experimenty s paralelizací algoritmu pro řešení soustavy lineárních algebraických rovnic metodou LTS. 9

12 4 Paralelní počítače a paralelní výpočty 4.1 Evoluce Klasické sekvenční počítače prošly během svého vývoje řadou změn, které měly za cíl jejich zrychlení nad mez dosažitelnou pomocí dostupných technologií. Mezi faktory, které omezují výkon procesorů, můžeme počítat taktovací frekvenci dosažitelnou pro procesory vyráběné současnou technologií, instruction level parallelism, který urychluje zpracování (viz dále), ale má jisté limity a samozřejmě, v konečném důsledku, je omezujícím faktorem i rychlost světla. Navíc je snaha zvýšit výkon standardního neparalelního procesoru limitována neustále se zvyšujícími se náklady na každé další vylepšení. O náznacích použití paralelního přístupu pro dosažení většího výkonu můžeme ale mluvit až od počítačů druhé generace. U počítačů následujících po první generaci se již začaly uplatňovat konstrukční změny vedoucí později až ke konstrukci paralelních počítačů, jak je známe dnes. Orientační tabulka ukazuje hlavní znaky jednotlivých generací počítačů (hodnoty jsou převzaty z [1]) Generace Rok Konstrukční prvky Paměť Kapacita paměti Výkon (MIPS) Zástupce elektronky buben 1 kb 0,01 UNIVAC tranzistory ferity 10 kb 0,1 IBM SSI ferity 1 MB 1 IBM 360 3, MSI MSI 1 MB 1 IBM LSI LSI 10 MB 10 IBM 308X tabulka 4.1: Průřez generacemi počítačů Jednou z těchto změn bylo použití instruction pipelining. Tento princip spočívá v rozdělení procesu provádění jedné instrukce programu na několik základních etap (například čtení instrukce, čtení operandů, provedení instrukce, zápis výsledku) a tyto jsou pak vykonávány nezávislými jednotkami. Zatímco tedy klasický (rozuměj nepoužívající instruction pipelining) počítač potřebuje na provedení jedné instrukce n kroků, počítač využívající instruction pipelining provede jednu instrukci v čase jednoho kroku. Dobře je tento princip patrný na příkladu montážní linky automobilů, kdy při použití principu instruction pipelining vyjíždí (po určitém počtu počátečních kroků potřebných k naplnění linky / fronty) z montážní linky jedno auto v každém dalším kroku. Bez použití tohoto principu pak z linky vyjíždí jen jedno auto po daném počtu kroků potřebných k sestavení auta (v našem případě k provedení instrukce). 10

13 Krok 1 Při použití instruction pipelining Bez pipelining Krok 2 Krok 3 Krok 4 Krok 5 tabulka 4.2: Princip instruction pipelining Tento přístup označovaný také jako Instruction Level Parallelism (ILP) tedy v závislosti na daném hardware (procesoru) umožňuje vykonávat v pipeline několik instrukcí paralelně. K tomu, aby takovýto přístup fungoval, je nutné, aby zpracovávané instrukce nebyly na sobě závislé ať již z hlediska používaných dat, nebo z hlediska větvení programu. K úspěšnému použití tohoto přístupu může napomoci jak samotný hardware, tak i překladač v čase překladu programu (pomocí technik, které se pokoušejí minimalizovat výskyt závislostí mezi jednotlivými instrukcemi). Dalším z přístupů, přibližujících technologii k paralelním počítačům, bylo použití nezávislých aritmetických jednotek pro odlišné typy operací (logické operace, sčítání, násobení). Tyto jednotky pak mohly pracovat současně na různých datech. V příznivém případě tak byly například provedeny dvě operace najednou. Další možností, jak urychlit běh programů, bylo využití technologií umožňujících zpracování více než jedné instrukce v jednom cyklu. Mezi ně se počítají například Superskalární procesory (mezi ně se řadí třeba procesor Pentium) umožňují zpracovat v optimálním případě několik nezávislých instrukcí najednou. Protože možnost využití paralelního zpracování několika instrukcí současně je u superskalárních procesorů závislá na zpracovávaných instrukcích (jejich případné závislosti), ne vždy je tato možnost využita. Very Long Instruction Word (VLIW) procesory, které mají několik nezávislých jednotek pro zpracování instrukcí. Překladač pak může specifikovat balík instrukcí, které jsou zpracovány současně. Dalším krokem směrem k paralelnímu zpracování bylo použití celých polí totožných aritmetických jednotek (processing elements), které byly centrálně řízeny a všechny prováděly současně stejnou operaci (například sčítání), ale na různých datech uložených v lokální paměti každého z nich. Posledním krokem na cestě k paralelním počítačům bylo tedy použití několika procesorů, které jsou víceméně autonomní a v závislosti na konstrukci paralelního počítače mohou pracovat nezávisle na sobě, přičemž využívají společnou paměť, nebo spolu komunikují pomocí propojovací sítě (viz dále 4.2.3). Mezi nastupující generaci patří takzvané SMP on a chip, které jsou vlastně paralelním počítačem s několika procesory umístěnými na jednom křemíkovém čipu. 11

14 Paralelizace byla tedy cestou, jak dosáhnout zvětšení výpočetního výkonu, i když tehdejší technologická úroveň už další zvyšování výkonu při použití klasické konstrukce počítačů neumožňovala. Paralelní počítač oproti počítači sekvenčnímu disponuje několika procesory, které současně pracují na různých úlohách, nebo spolupracují na řešení jedné úlohy. Těchto procesorů či processing units (elements) může být podle konstrukce paralelního počítače i několik stovek či tisíc. Zrychlení výpočtu dosažené použitím paralelního počítače (oproti klasickému sekvenčnímu počítači) může být úměrné počtu použitých procesorů. Toto zrychlení však ve velké míře závisí jak na konstrukci paralelního počítače, tak také na použitých paralelních algoritmech, na vlastní úloze a na tom jak jsme její řešení schopni paralelizovat (viz 4.5). Některé úlohy jsou totiž natolik obtížně paralelizovatelné (je obtížné nalézt algoritmus, který umožňuje jejich efektivní paralelní řešení), že zrychlení dosažené paralelním zpracováním je minimální případně tato skutečnost spolu s nevhodným paralelním algoritmem může vést i ke zpomalení výpočtu ve srovnání s použitím klasického sekvenčního počítače. 4.2 Konstrukce Jedním z klíčových parametrů paralelního počítače je jeho konstrukce. K ní je nutné přihlížet s ohledem na jeho budoucí použití, jelikož některé konstrukční prvky a principy ideální z hlediska zpracování úloh určitého typu mohou být pro ostatní úlohy méně vhodné. Ač by se konstrukce paralelního počítače mohla zdát záležitostí, která má význam pouze z pohledu jeho výroby a provozu, má nezanedbatelný význam i při návrhu a dalším vývoji paralelních programů a algoritmů. Pokud je paralelní počítač navrhován přímo pro řešení konkrétního typu úloh (například maticové operace nebo řešení diferenciálních rovnic) má tato skutečnost vliv i na jeho konstrukci. Paralelní počítače se svou konstrukcí v mnohém liší od klasického modelu sekvenčního počítače. Podle své konstrukce mohou zpracovávat několik úloh najednou, případně provádět jednu a tu samou úlohu na několika různých sadách dat. Aby bylo možno několik úloh zpracovávat skutečně paralelně, jsou paralelní počítače vybaveny více než jedním procesorem. Podle konstrukce počítače jich bývá i několik desítek či stovek. Ačkoliv tedy paralelní počítače ve svých počátcích byly vybaveny dvěma až čtyřmi procesory, najdeme dnes paralelní počítače vybavené i několika tisíci mikroprocesorů. Například počítač CM-2 firmy Thinking Machines Inc. z 80. let mohl být vybaven jednobitovými procesory a řada počítačů NCUBE 2 firmy NCUBE disponuje až 8192 třicetidvou- nebo šedesátičtyřbitovými procesory. Konstrukci paralelního počítače můžeme posuzovat především podle počtu instrukčních a datových front, dále pak podle konstrukce paměti a způsobu komunikace jednotlivých paralelně pracujících částí počítače Flynnova taxonomie Flynnova taxonomie (rozdělení) počítačových architektur třídí paralelní počítače podle počtu datových front a způsobu řízení paralelních procesorů. Rozděluje tedy počítače podle počtu instrukčních proudů (instruction stream), což jsou sekvence instrukcí prováděných počítačem, na Single a Multiple Instruction stream (Program) označované zkratkami SI / MI (případně někdy také SP / MP). Dále 12

15 pak zkoumá počet datových proudů (data stream) neboli sekvencí dat, která budou použita během zpracování proudu instrukcí tady je používáno označení Single/Multiple Data stream ve zkrácené podobě SD / MD. Tedy z hlediska práce paralelního počítače s daty pak můžeme rozlišovat princip, kde všechny procesory paralelního počítače pracují na totožných datech nebo je naopak každému procesoru přiřazena jeho vlastní množina dat. Z hlediska řízení chodu počítače pak odlišujeme počítače, kde jsou všechny procesory řízeny jedním programem od počítačů, kde je každý procesor řízen programem jemu příslušejícím. Flynnova taxonomie podle výše uvedeného třídění rozlišuje čtyři základní kategorie počítačů, v nichž kombinuje Single/Multiple Data stream (počítače zpracovávající jednu nebo více front dat najednou) a Single/Multiple Instruction stream (počítače, jejichž paralelně pracující procesory jsou řízeny jedním, nebo více proudy instrukcí): Single Instruction stream Single Data stream (označované jako SISD) tedy třída klasických sekvenčních počítačů, Single Instruction stream Multiple Data stream (SIMD) do níž patří některé běžně vyráběné paralelní počítače, Multiple Instruction stream Single Data stream (MISD) která je spíš pouze teoretickou třídou, Multiple Instruction stream Multiple Data stream (MIMD) další třída do níž patří dnes komerčně vyráběné paralelní počítače SISD Do rodiny SISD bychom zde zařadili klasický model sekvenčního počítače (tedy Single Instruction stream Single Data stream). V těchto počítačích je jediný proud dat zpracováván procesorem, který je řízen jedním tokem instrukcí. Můžeme tady najít instruction pipelining jako druh paralelizace, ale v jednom kroku tyto počítače provádějí pouze jednu instrukci. Můžeme také říci, že je lze zařadit mezi sekvenční počítače podle klasického von Neumannova modelu. Instrukce Procesor Data obrázek 4.1: Zjednodušený von Neumannův model sekvenčního počítače (SISD) John von Neumann Tento geniální maďarský matematik ( ) disponoval mimořádnou schopností využití tehdejších, na dnešní dobu velmi omezených, možností počítačů pro aplikovanou matematiku (spolupracoval na využití počítačů v Los Alamos pro výpočty spojené s konstrukcí první vodíkové bomby). John von Neumann je obecně považován za otce idey architektury počítačů, která víceméně úspěšně přežívá do dneška. Sama architektura je definována několika základními body, z nichž asi nejdůležitější jsou následující dva: Počítač se skládá z paměti, řadiče, aritmetické jednotky, vstupní a výstupní jednotky. Řadič zde zpracovává programové instrukce uložené v paměti a na jejich základě řídí vstupní/výstupní jednotky a práci aritmetické jednotky. 13

16 Struktura počítače je nezávislá na typu řešené úlohy, počítač se programuje obsahem paměti to byla asi nejzásadnější změna kterou von Neumannův návrh přinesl. Oproti zdlouhavému a náročnému programování první generace počítačů pomocí programovacího panelu, je princip programu uloženého v paměti počítače průlomem umožňujícím budoucí univerzální využití počítačů SIMD Další skupina je označována SIMD (Single Instruction stream Multiple Data stream). V paralelních počítačích tohoto typu pracuje několik paralelních procesorů řízených jedním programem, přičemž každý procesor pracuje na svých vlastních datech. Procesor 1 Data 1 Instrukce Procesor 2 Data 2 Procesor 3 Data 3 obrázek 4.2: Single instruction multiple data (SIMD) model Všechny procesory pracují synchronně, tedy ve všech procesorech je v tentýž okamžik prováděna stejná instrukce programu. V okamžiku, kdy dojde k větvení programu, pracuje pouze ta část procesorů, která je řízena první větví programu. Zbytek procesorů čeká na ukončení větve, kdy se jejich úlohy vymění. Tento typ je dobře použitelný pro úlohy, kde je možno zpracovávaná data rozložit na podmnožiny, jejichž zpracování lze provádět samostatně (například některé úlohy z oblasti zpracování obrazu v dálkovém průzkumu Země DPZ) Výhodou paralelních počítačů tohoto typu je jejich relativně jednoduchá konstrukce a snadná tvorba programů pro danou architekturu. V současné době je tohoto přístupu používáno v moderních procesorech osobních počítačů pro instruction level parallelism ILP (viz výše). Tato technologie označovaná někdy také jako SWAR (SIMD Within A Register) je použita například v procesorech Intel Pentium III a 4 pod názvem Streaming SIMD Extension SSE, nebo pokročilejší SSE2 viz [44]. Mezi dalšími instrukčními sadami různých procesorů využívajících principu SIMD je možno uvést například MMX, 3Dnow!, nebo AltiVec MISD Jako další architekturu paralelního počítače můžeme uvažovat MISD (Multiple Instruction stream Single Data stream), tedy počítač, kde by byl každý procesor řízen svým vlastním programem a všechny procesory by pracovaly na totožné sadě dat. Tato skupina vznikla spíše umělým vývojem jako důsledek Flynnovy klasifikace a v komerčně vyráběných paralelních počítačích nenachází uplatnění. 14

17 Instrukce 1 Procesor 1 Instrukce 2 Procesor 2 Data Instrukce 3 Procesor 3 obrázek 4.3: Multiple instruction single data (MISD) model Do této kategorie můžeme zařadit takzvané "pipelined multiprocesory". Lze si je představit jako sadu zřetězených procesorů, které provádějí různé operace na sadě dat, která jimi postupně prochází. Instrukce pro krok 1 Instrukce pro krok 2 Instrukce pro krok 3 Data Procesor 1 Procesor 2 Procesor 3 Výsledná data obrázek 4.4: Pipelined multiprocesor (aplikace MISD modelu) Ty ovšem nepředstavují univerzální model počítače, ale spíše jednoúčelové zařízení určené pro zpracování konkrétního typu dat konkrétní skupinou algoritmů. Stejně jako SIMD i architektura pipelined multiprocesorů může nalézt uplatnění v oblasti zpracování obrazu či počítačové grafiky, kde se jeví jako ideální řešení pro mnohé úlohy, které vyžadují postupnou aplikaci řady operací na zpracovávaný obraz například postupné použití řady obrazových filtrů. Klasická architektura MISD je ale v oblasti komerčně vyráběných paralelních počítačů považována za neobvyklou a není používána MIMD Poslední kategorií podle Flynnovy taxonomie je pak architektura MIMD (Multiple Instruction stream Multiple Data stream), kde každý procesor pracuje podle vlastního programu na své množině dat. Instrukce 1 Procesor 1 Data 1 Instrukce 2 Procesor 2 Data 2 Instrukce 3 Procesor 3 Data 3 obrázek 4.5: Multiple instruction multiple data (MIMD) model 15

18 Procesory mohou asynchronně pracovat na nezávislých úlohách, případně spolupracovat na řešení jedné úlohy. Jelikož každý procesor pracuje podle vlastního programu na unikátní sadě dat, je tento typ paralelního počítače (PP) velmi složitý, a to jak z hlediska konstrukce, tak s ohledem na tvorbu programů. Tato architektektura, ač konstrukčně daleko složitější než předcházející architektury, je dnes hojně používána hlavně pro svou univerzálnost Komunikace v paralelním počítači Za běhu několika paralelně probíhajících procesů je většinou nutná jejich vzájemná komunikace (výjimkou jsou algoritmy, kdy jednotlivé části úlohy mohou být řešeny samostatně a každý paralelně pracující proces má k dispozici všechna potřebná data, většinou je však stejně nutná komunikace umožňující bezchybný chod celého systému). Procesory mezi sebou mohou komunikovat a usměrňovat svou případnou spolupráci či postup dalšího výpočtu. Tato výměna dat je realizována přes společnou paměť, případně pomocí propojovací sítě (Interconnection Network - ICNW) mezi jednotlivými paralelně pracujícími procesory. Na rychlosti a efektivnosti komunikace ve velké míře závisí efektivnost paralelního zpracování. Pokud procesor přistupuje k datům uloženým v lokální paměti jiného paralelního procesoru (to se týká paralelního počítače s distribuovanou pamětí viz ), je tento přístup řádově ( krát) pomalejší než přístup k datům uloženým v lokální paměti daného procesoru. Jakákoliv rozsáhlejší výměna dat nebo komunikace mezi jednotlivými paralelně pracujícími procesory po propojovací síti může tedy způsobit výrazné zpomalení celého výpočtu. Také problémy způsobené špatným směrováním dat po ICNW mohou způsobit zpomalení, nebo i fatální konec komunikace mezi paralelně pracujícími částmi počítače Směrování Směrovací algoritmy pro přenos dat po propojovací síti jsou závislé na topologii propojovací sítě a na jejím technickém řešení (například zda síť umožňuje jedno- nebo oboustranné vysílání). Rozeznáváme čtyři základní typy vysílání v propojovacích sítích: 1. One-to-all broadcast jeden vrchol propojovací sítě posílá stejnou zprávu všem ostatním vrcholům, 2. All-to-all broadcast každý vrchol propojovací sítě provádí one-to-all broadcast, tedy posílá stejnou zprávu všem ostatním vrcholům, 3. One-to-all scatter jeden vrchol posílá rozdílné zprávy každému vrcholu ICNW, 4. All-to-all scatter všechny vrcholy v propojovací síti provádějí současně one-toall scatter, tedy každý vrchol v síti posílá různou zprávu každému dalšímu vrcholu v propojovací síti. 16

19 obrázek 4.6: One-to-all broadcast obrázek 4.7: All-to-all broadcast obrázek 4.8: One-to-all scatter obrázek 4.9: All-to-all scatter Podle různých hledisek pak můžeme směrovací algoritmy, používané při směrování v propojovacích sítích, dělit například na: On-line / off-line podle toho, zda trasu pohybu dat určují až jednotlivé uzly paralelního počítače v okamžiku, kdy k nim data dorazí, nebo je určena předem. Deterministic / randomized podle toho, zda je trasa vypočtena vždy přesně podle nějakého vzorce, nebo je ve výpočtu uplatněn náhodný prvek. Direct / indirect podle toho, zda je vybírána nejkratší cesta, nebo je vybrána cesta delší, avšak s ohledem na menší riziko kolizí a deadlocks (stav, kdy běžící procesy (zprávy posílané po síti) čekají současně na uvolnění zdrojů, např. linky, druhým procesem, přičemž dochází ke vzniku nekonečného čekacího cyklu). Oblivious / adaptive podle toho, zda směrování nebere ohled na ostatní zprávy pohybující se po síti, nebo je bere v úvahu a přizpůsobuje jim trasu pohybu dat Paměť paralelního počítače V průběhu výpočtu jsou paralelně zpracovávaná data uložena v paměti paralelního počítače. Na rychlosti přístupu ke zpracovávaným datům do značné míry závisí rychlost provádění algoritmu. Je používáno několik principů realizace paměti paralelního počítače, podle nichž lze paralelní počítače dále rozlišovat. Různé konstrukce paměti pak ovlivňují nejen rychlost přístupu k datům, ale také složitost konstrukce a tím nepřímo i výslednou cenu daného paralelního počítače. 17

20 SMPC Je to v první řadě skupina paralelních počítačů se sdílenou pamětí (SMPC - Shared Memory Parallel Computer). Sdílená paměť (shared memory - SM) je souvislý paměťový prostor přístupný všem procesorům paralelního počítače. Paměťový adresní prostor je tedy sdílený pro všechny uzly paralelního počítače. Přístup ke sdílené paměti je realizován například přes rychlou propojovací síť (ICNW - Interconnection Network), jejíž konstrukce a tvar (topologie) je pak klíčovým atributem rychlosti komunikace mezi procesory a sdílenou pamětí, a tedy i rychlosti paralelního počítače nejčastěji jsou používány sběrnice a mřížky. Do této kategorie patří paralelní počítače s architekturou označovanou jako UMA (Uniform Memory Access) je to architektura s centrálně umístěnou sdílenou pamětí, přístup k ní je ze všech uzlů paralelního počítače totožný. Při použití cache pamětí vyvstávají problémy s koherencí konkurenčně čtených a zapisovaných dat. Pokud například jeden z procesorů zapíše do sdílené paměti data, která jsou právě v cache paměti používané druhým procesorem, narážíme na problém, která data tedy druhý procesor čte data ve sdílené paměti, která tam byla právě zapsána, nebo data ve své cache paměti, která mu byla právě připravena? Tento problém je řešen v UMA architekturách nečastěji pomocí snooping přístupu, tzn., že (každá cache paměť má informace o tom, zda blok paměti, který právě obsahuje není náhodou používán i jiným procesorem. Přístup ke sdílené paměti je většinou realizován přes sběrnici (např. snoopy bus zajišťující koherenci), mřížku (crossbar), nebo jinou rychlou ICNW. Tato architektura vyžaduje pouze minimum procesorového času na komunikaci, ale její hardware je složitější než u DMPC. Tvorba software pro tuto architekturu je však jednodušší. Procesor 2 Procesor 2 Procesor 2 Propojovací síť (ICNW) mezi procesory a pamětí Paměť 1 Paměť 2 Paměť 3 obrázek 4.10: Přístup ke sdílené paměti (SM) v SMPC DMPC Paralelní počítače bez sdílené paměti jsou označovány jako počítače s distribuovanou pamětí (distributed memory - DM). V počítači s distribuovanou pamětí (Distributed Memory Parallel Computer - DMPC) každý procesor disponuje vlastní oblastí paměti (spojení procesoru a této paměti je pak označováno jako processing element (dále v textu také jen jako PE)). Jednotlivé processing elementy pak mezi sebou komunikují po propojovací síti. Spojení processing elementu s komunikačním hardware bývá také označováno jako processing node (výpočetní uzel dále jen PN). 18

21 Processing element, který postrádá potřebná data ve své lokální paměti si je pak může vyžádat od jiného processing elementu a mohou mu být doručena po propojovací síti. Tato architektura používá pro komunikaci většinou message-passing model. Hardware je jednodušší než u SMPC, zato množství procesorového času použitého pro komunikaci je vyšší, tvorba software je mnohem složitější a vyžaduje speciální software (MPI, PVM). Procesor 1 PE1 Paměť 1 Procesor 2 PE2 Paměť 2 Procesor 3 PE3 Paměť 3 Propojovací síť (ICNW) mezi jednotlivými processing elementy (PE) Procesor 4 PE4 Paměť 4 Procesor 5 PE5 Paměť 5 Procesor 6 PE6 Paměť 6 obrázek 4.11: Přístup k distribuované paměti (DM) v DMPC VSM Virtuálně sdílená paměť (Virtual Shared Memory VSM, označovaná někdy také jako Distributed Shared Memory DSM) by se dala přirovnat k paměti sdílené. Tato paměť (ačkoliv jsou její části fyzicky uloženy na různých místech systému) představuje souvislý paměťový prostor přístupný všem procesorům paralelního počítače. Tento přístup je realizován prostřednictvím správy paměti (memory management - MM). Virtuálně sdílená paměť je ve své podstatě paměť distribuovaná, která s využitím MM simuluje paměť sdílenou za účelem usnadnění přístupu k datům, která jsou v této paměti uložena. Do této kategorie patří paralelní počítače s architekturou označovanou jako NUMA (Non-Uniform Memory Access) části sdílené paměti v nich nejsou fyzicky uloženy na jednom místě, i když paměťový prostor je stále sdílen jako u SMPC UMA. Vzhledem k tomu, že části paměti jsou uloženy na různých místech, je i čas přístupu k různým částem paměti různý. S problémem koherence uložených dat se vypořádává ccnuma (cache coherent Non-Uniform Memory Access). V této architektuře je pomocí hardwarově implementovaných pravidel zajištěna koherence dat při konkurenčním čtení a zápisu do sdílené paměti. 19

22 Virtuální sdílená paměť jeví se navenek jako sdílená paměť Procesor 1 PE1 Paměť 1 Procesor 2 PE2 Paměť 2 Správa paměti (memory management - MM) vytvářející VSM Procesor 4 PE4 Paměť 4 Procesor 5 PE5 Paměť 5 Procesor 3 PE3 Paměť 3 Procesor 6 PE6 Paměť 6 obrázek 4.12: Přístup k virtuálně sdílené paměti (VSM) Přístup do paměti u SMPC Přístup několika procesorů současně do stejných oblastí paměti SMPC s sebou však přináší jisté technické a logické problémy při pokusu o čtení či zápis do stejné buňky paměti několika procesory současně. Podle toho, jak je tato situace řešena, můžeme rozlišovat mezi čtyřmi základními modely, které nedovolují či naopak nějakým způsobem realizují současné čtení či zápis několika procesorů na stejnou adresu paměti současně. Toto modely bývají označovány jako Exclusive či Concurrent Read nebo Write. Jsou to tedy čtyři modely označené Exclusive Read Exclusive Write - EREW, Concurrent Read Exclusive Write - CREW, Exclusive Read Concurrent Write - ERCW a Concurrent Read Concurrent Write - CRCW podle modelů chování, které vykazují při současném čtení nebo zápisu více procesorů na stejnou adresu paměti. V případě současného čtení nenastávají žádné logické problémy, nepočítáme-li problémy technického (konstrukčního) rázu (o koherenci čtených dat se zmíním později). Procesorům, které chtějí číst data z dané buňky paměti jsou tato data zpřístupněna. Při pokusu o současný zápis dat více procesory do jedné buňky paměti nastává problém a situace je řešena s využitím různých principů: Jeden z principů spočívá ve stanovení priority procesorů podle předem určeného klíče. Ze skupiny procesorů je pak oprávněn zapsat ten, který má nejvyšší prioritu jedná se o takzvaný priority model. Jinou alternativou může být rozhodnutí povolit zápis pouze v tom případě, že všechny procesory, které se pokouší o zápis do paměti, se pokouší zapsat tatáž data čili takzvaný consensus model. Používaným řešením je i princip, kdy je do paměti zapsána suma všech dat, která mají být zapsána (to může být výhodné u některých paralelních algoritmů) tento princip bývá označován jako sum model. Jak již bylo zmíněno výše, problémem při konkurenčním přístupu do pamětí zůstává koherence konkurenčně čtených a zapisovaných dat, a to zvláště v případě, že jsou použity cache paměti. Tento problém je řešen pomocí různých metod directory 20

23 approach (informace o tom, která data jsou používána více procesory jsou uloženy na jednom místě v takzvané directory), snooping approach (cache paměti monitorují použitou ICNW nejčastěji sběrnici a hledají informace o tom, že část paměti, kterou cache obsahuje, je používána i jinou PN) Přístup do paměti u DMPC Na rozdíl od počítačů se sdílenou pamětí, kde je paměť společná pro všechny PE a tudíž vyvstávají problémy s konkurenčním přístupem, má u počítače s distribuovanou pamětí každý PE vlastní část paměti a starost o vyřešení konfliktů při konkurenčním přístupu k datům tak většinou zůstává na běžícím paralelním programu, potažmo na programátorovi. Konstrukce DMPC je vzhledem k odděleným lokálním pamětem jednotlivých DMPC většinou jednodušší než tomu je u SMPC, přístup k datům uloženým v paměti je však obtížnější a teoreticky i pomalejší. Pokud jsou data, která daný PE potřebuje k výpočtu, uložena v lokální paměti jiného PE, je jejich získání relativně obtížnější než u SMPC a v závislosti na konstrukci DMPC může být přístupová doba k nim i řádově delší. To se projevuje zvláště u sítí pracovních stanic (NOW viz ), kdy v závislosti na propojovací síti může přístupová doba k nelokálním datům drasticky stoupat. K tomu je třeba přihlédnout při návrhu paralelních algoritmů pro tyto typy počítačů, aby byl vhodným postupem minimalizován tento handicap. Koherence paměti je zde ponechána většinou na uživateli (nemluvíme teď o DSM ccnuma) a to vzhledem k použití message-passing přístupu k paralelnímu programování této architektury Propojovací sítě Propojovací sítě (ICNW) představují v paralelních počítačích prostředek pro komunikaci mezi jednotlivými processing elements, případně prostředek pro přístup do paměti. Jak jsem již dříve zmínil, konstrukce a topologie propojovací sítě mezi procesory a pamětí (u počítačů se sdílenou pamětí), případně mezi jednotlivými processing elementy (u počítačů s distribuovanou pamětí), je jedním z klíčových parametrů výkonu, efektivnosti a spolehlivosti paralelního počítače. V propojovací síti představují jednotlivé vrcholy grafu procesory paralelního počítače a hrany grafu zastupují komunikační kanály, kterými je vedena komunikace mezi jednotlivými processing elementy nebo mezi procesory a pamětí. Na tento graf jsou pak kladeny požadavky, jejichž alespoň částečné naplnění má za cíl zrychlení komunikace, snadnější směrování toku dat v síti, jednodušší rozšiřitelnost paralelního počítače, větší odolnost komunikace po propojovací síti proti chybám a výpadkům či jednodušší konstrukci propojovací sítě. Bez ohledu na jejich rozdílné technologické parametry a oblast použití můžeme propojovací sítě rozdělit na: sběrnice mezi procesory a pamětí používané převážně u SMCP (rychlá a snadná komunikace), propojovací sítě masivně paralelních počítačů používané u DMPC (pomalejší než sběrnice mimo jiné vzhledem ke složitější struktuře), 21

24 LAN (dnes ponejvíce Fast Ethernet (100Mbps)/optická vlákna (1Gbps)) používané pro distribuované systémy NOW a clustery, WAN například pro distribuované paralelní systémy na internetu NOW Použité pojmy teorie grafů Při hodnocení propojovací sítě jsou posuzovány jednotlivé parametry jejího grafu a podle nich se pak stanoví vhodnost či nevhodnost dané topologie pro určitou úlohu či algoritmus. Mezi základní parametry grafu patří podle [18] například: Průměr grafu maximální vzdálenost mezi dvěma vrcholy grafu. Stupeň grafu maximální počet hran vycházejících z vrcholu grafu pokud mají všechny vrcholy grafu stejný stupeň, pak má graf pevný stupeň vrcholu. Půlící šířka grafu minimální počet hran které je třeba odstranit, abychom rozdělili graf na dvě stejné množiny vrcholů (v případě sudého počtu vrcholů). Propojovací sítě se podle své topologie dělí na: Statické spojovací cesty v nich zůstávají neměnné a jejich topologie je určena předem v okamžiku jejich konstrukce, pro každý typ systému v závislosti na charakteristice převažující komunikace je pak potřeba použít jinou statickou síť. Dynamické spojovací cesty v nich dynamicky vznikají a zanikají. Mezi ně patří například křížové přepínače či sběrnicové systémy Požadavky na propojovací síť V této kapitole jsou uvedeny některé požadavky kladené na propojovací sítě a některé z topologií, které jsou vhodné pro konstrukci statických propojovacích sítí. Malý průměr tento požadavek vyplývá ze skutečnosti, že pokud bude vzdálenost mezi nejvzdálenějšími výpočetními uzly malá, potom bude komunikace mezi PN pravděpodobně probíhat rychleji. Malý a pevný stupeň vrcholu tento požadavek pokládá za ideální malý počet komunikačních cest z jednoho processing node. To zaručuje jednodušší konstrukci, vyšší spolehlivost a nezřídka také nižší cenu celého systému. Pevný stupeň vrcholu pak zaručuje nezávislost stupně vrcholu na počtu PN a tím pádem je možné daný návrh PN použít pro různé velikosti paralelních počítačů. Zvětšitelnost (škálovatelnost - scalability) nebo nastavitelnost (extendibility). Jestliže bude propojovací síť zvětšitelná, bude možné významné zvětšování počtu processing nodes bez významnějších změn v návrhu PN. Nastavitelnost pak umožňuje zvětšovat síť po předem daných přírůstcích. Jednotnost a symetrie V jednotné a symetrické síti se lze jednodušeji orientovat a tyto vlastnosti (spolu s rekurzivností) jsou výhodné při navrhování paralelních algoritmů. Jednoduché směrování a efektivní vysílání (broadcasting) propojovací síť musí být schopna zabezpečit efektivní přenos informací mezi processing nodes i v případě, že současně probíhá několik takovýchto přenosů. Síť musí také zabezpečovat efektivní směrování (pomocí komunikačního hardware), aby i v případě současné komunikace 22

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

OPS Paralelní systémy, seznam pojmů, klasifikace 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

Více

Charakteristika dalších verzí procesorů v PC

Charakteristika dalších verzí procesorů v PC Charakteristika dalších verzí procesorů v PC 1 Cíl přednášky Poukázat na principy tvorby architektur nových verzí personálních počítačů. Prezentovat aktuální pojmy. 2 Úvod Zvyšování výkonu cestou paralelizace

Více

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače. 1 Architektura počítačů Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače. Neurčuje jednoznačné definice, schémata či principy. Hovoří o tom, že počítač se skládá z měnších částí

Více

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í 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í systémy Paralelním systémem rozumíme takový systém, který paralelně zpracovává více samostatných úloh nebo zpracování určité úlohy automaticky rozdělí do menších částí a paralelně je zpracovává.

Více

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

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D. IB109 Návrh a implementace paralelních systémů Organizace kurzu a úvod RNDr. Jiří Barnat, Ph.D. Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu Organizace

Více

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200 Bc.Adam Berger Ber 208 Historie a předchůdci G200 V červnu roku 2008 spatřila světlo světa nová grafická karta od společnosti Nvidia. Tato grafická karta opět

Více

Architektura počítače

Architektura počítače Architektura počítače Výpočetní systém HIERARCHICKÁ STRUKTURA Úroveň aplikačních programů Úroveň obecných funkčních programů Úroveň vyšších programovacích jazyků a prostředí Úroveň základních programovacích

Více

SÁLOVÉ POČÍTAČE. Principy počítačů. Literatura. Harvard Mark I 1944-1959. Grace Murray Hopper ENIAC

SÁLOVÉ POČÍTAČE. Principy počítačů. Literatura. Harvard Mark I 1944-1959. Grace Murray Hopper ENIAC Principy počítačů SÁLOVÉ POČÍTAČE Literatura www.computerhistory.org C.Wurster: Computers An Ilustrated History R.Rojas, U.Hashagen: The First Computers History and Architectures Myslím, že na světě je

Více

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

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů Úvod: CHARAKTERISTIKA MODERNÍCH PENTIÍ Flynnova klasifikace paralelních systémů Paralelní systémy lze třídit z hlediska počtu toků instrukcí a počtu toků dat: SI systém s jedním tokem instrukcí (Single

Více

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

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Přednáška 1 Úvod do HW a OS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského

Více

Procesor. Procesor FPU ALU. Řadič mikrokód

Procesor. Procesor FPU ALU. Řadič mikrokód Procesor Procesor Integrovaný obvod zajišťující funkce CPU Tvoří srdce a mozek celého počítače a do značné míry ovlivňuje výkon celého počítače (čím rychlejší procesor, tím rychlejší počítač) Provádí jednotlivé

Více

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

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled paralelních architektur Přehled paralelních architektur Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur Přehled I. paralelní počítače se konstruují

Více

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

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

Technické prostředky počítačové techniky

Technické prostředky počítačové techniky Počítač - stroj, který podle předem připravených instrukcí zpracovává data Základní části: centrální procesorová jednotka (schopná řídit se posloupností instrukcí a ovládat další části počítače) zařízení

Více

Úvod do architektur personálních počítačů

Úvod do architektur personálních počítačů Úvod do architektur personálních počítačů 1 Cíl přednášky Popsat principy proudového zpracování informace. Popsat principy zřetězeného zpracování instrukcí. Zabývat se způsoby uplatnění tohoto principu

Více

PROCESOR. Typy procesorů

PROCESOR. Typy procesorů PROCESOR Procesor je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost ostatních částí počítače včetně

Více

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

Intel 80486 (2) Intel 80486 (1) Intel 80486 (3) Intel 80486 (4) Intel 80486 (6) Intel 80486 (5) Nezřetězené zpracování instrukcí: Intel 80486 (1) Vyroben v roce 1989 Prodáván pod oficiálním názvem 80486DX Plně 32bitový procesor Na svém čipu má integrován: - zmodernizovaný procesor 80386 - numerický koprocesor 80387 - L1 (interní)

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

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

Operační systémy. Přednáška 1: Úvod Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace

Více

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

Paralelní a distribuované výpočty (B4B36PDV) Paralelní a distribuované výpočty (B4B36PDV) Branislav Bošanský, Michal Jakob bosansky@fel.cvut.cz Artificial Intelligence Center Department of Computer Science Faculty of Electrical Engineering Czech

Více

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

Úvod SISD. Sekvenční výpočty SIMD MIMD Úvod SISD Single instruction single data stream Sekvenční výpočty MISD 1. Přednáška Historie Multiple instruction single data stream SIMD Single instruction multiple data stream MIMD Multiple instruction

Více

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

Představení a vývoj architektur vektorových procesorů Představení a vývoj architektur vektorových procesorů Drong Lukáš Dro098 1 Obsah Úvod 3 Historie, současnost 3 Architektura 4 - pipelining 4 - Operace scatter a gather 4 - vektorové registry 4 - Řetězení

Více

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

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informační systémy 2 Obsah: Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC ROM RAM Paměti typu CACHE IS2-4 1 Dnešní info: Informační systémy 2 03 Informační systémy

Více

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

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

Více

Principy činnosti sběrnic

Principy činnosti sběrnic Cíl přednášky: Ukázat, jak se vyvíjely architektury počítačů v souvislosti s architekturami sběrnic. Zařadit konkrétní typy sběrnic do vývojových etap výpočetních systémů. Ukázat, jak jsou tyto principy

Více

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

Úvod do problematiky návrhu počítačových systémů. INP 2008 FIT VUT v Brně Úvod do problematiky návrhu počítačových systémů INP 2008 FIT VUT v Brně Čím se budeme zabývat Budou nás zejména zajímat jednoprocesorové číslicové počítače: Funkce počítače Struktura propojení funkčních

Více

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a

V 70. letech výzkumy četnosti výskytu instrukcí ukázaly, že programátoři a 1 Počítače CISC a RISC V dnešní době se ustálilo dělení počítačů do dvou základních kategorií podle typu použitého procesoru: CISC - počítač se složitým souborem instrukcí (Complex Instruction Set Computer)

Více

Paralelní programování

Paralelní programování Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)

Více

Architektury CISC a RISC, uplatnění v personálních počítačích

Architektury CISC a RISC, uplatnění v personálních počítačích Architektury CISC a RISC, uplatnění v personálních počítačích 1 Cíl přednášky Vysvětlit, jak pracují architektury CISC a RISC, upozornit na rozdíly. Zdůraznit, jak se typické rysy obou typů architektur

Více

Základní pojmy a historie výpočetní techniky

Základní pojmy a historie výpočetní techniky Základní pojmy a historie výpočetní techniky Vaše jméno 2009 Základní pojmy a historie výpočetní techniky...1 Základní pojmy výpočetní techniky...2 Historický vývoj počítačů:...2 PRVOHORY...2 DRUHOHORY...2

Více

Martin Lísal. Úvod do MPI

Martin Lísal. Úvod do MPI Martin Lísal září 2003 PARALELNÍ POČÍTÁNÍ Úvod do MPI 1 1 Co je to paralelní počítání? Paralelní počítání je počítání na paralelních počítačích či jinak řečeno využití více než jednoho procesoru při výpočtu

Více

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

Více

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

Struktura počítačů z{kladní pojmy Struktura počítačů z{kladní pojmy Cíl kapitoly: Úkolem této kapitoly je rozšíření znalostí o skladbě počítačů a procesorů a umožnit studentům pochopit činnost počítače a procesoru během z{kladních operací

Více

Přednáška #12: Úvod do paralelních počítačů. Paralelní počítače a architektury

Přednáška #12: Úvod do paralelních počítačů. Paralelní počítače a architektury (36APS: Architektura počítačových systémů, posluchárna K1, Pon, 16/5/05, 9:15-10:45, přednáší Pavel Tvrdík) Přednáška #12: Úvod do paralelních počítačů Paralelní počítače a architektury Definice 1. (Almasi,

Více

Charakteristika dalších verzí procesorů Pentium

Charakteristika dalších verzí procesorů Pentium Charakteristika dalších verzí procesorů Pentium 1 Cíl přednášky Poukázat na principy architektur nových verzí typů Pentií. Prezentovat aktuální pojmy. 2 Úvod Paralelní systémy lze třídit z hlediska počtu

Více

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

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 Obrazová matice 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 vykonat instrukce v čase, který odpovídá

Více

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard Základní deska (1) Označována také jako mainboard, motherboard Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje: procesor (mikroprocesor) patici pro numerický koprocesor (resp. osazený

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Tutoriál 4 Superpočítače a paralelní počítání Martin Milata Dvě třídy MIMD multiprocesorů Třídy se odvíjí od počtu procesorů, který v důsledku definuje organizaci paměti

Více

Miroslav Tichý, tic136

Miroslav Tichý, tic136 Miroslav Tichý, tic136 32bitová mikroprocesorová architektura typu RISC(Reduced Instruction Set Computer) mobilním odvětví - smartphony, PDA, přenosné herní konzole, kalkulačky apod. Důvod: nízké vyzařované

Více

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru Cíl přednášky: Vysvětlit principy práce s registry v architekturách RISC a CISC, upozornit na rozdíly. Vysvětlit možnosti využívání sad registrů. Zabývat se principy využívanými v procesorech Intel. Zabývat

Více

Paralelní architektury - úvod

Paralelní architektury - úvod Paralelní architektury - úvod Úvod do paralelních architektur Příklady paralelních architektur Processor arrays Multiprocesory Multiprocesory se sdílenou pamětí Multiprocesory s distribuovanou pamětí Multipočítače

Více

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1 Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována

Více

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

Architektury paralelních počítačů I. Architektury paralelních počítačů I. Úvod, Koherence a konzistence u SMP Ing. Miloš Bečvář s použitím slajdů Prof. Ing. Pavla Tvrdíka, CSc. Osnova přednášky Typy paralelismu a jejich využití v arch. poč.

Více

Paralelní architektury - úvod

Paralelní architektury - úvod Paralelní architektury - úvod Úvod do paralelních architektur Příklady paralelních architektur Processor arrays Multiprocesory Multiprocesory se sdílenou pamětí Multiprocesory s distribuovanou pamětí Multipočítače

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 8 SÍTĚ NAČIPU (NOC) doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii ČVUT v Praze Hana

Více

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů.

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky referát do předmětu: Pokročilé architektury počítačů na téma: Intel Atom Jan Bajer; baj102 Úvod Během posledních let

Více

Úvod do informačních technologií

Úvod do informačních technologií Úvod do informačních technologií Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Úvod Jan Outrata (Univerzita Palackého v Olomouci) Úvod do informačních technologií Olomouc, září

Více

Architektura Intel Atom

Architektura Intel Atom Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí

Více

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Paměti Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry. Klíčové pojmy: paměť, RAM, rozdělení pamětí, ROM, vnitřní paměť, vnější paměť. Úvod Operační paměť

Více

Klasifikace počítačů a technologické trendy Modifikace von Neumanova schématu pro PC

Klasifikace počítačů a technologické trendy Modifikace von Neumanova schématu pro PC Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Obsah: Historie počítačů Počítačové generace Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Klasifikace počítačů

Více

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU HOST PC - TARGET PC PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ Stanislav Flígl Katedra elektrických pohonů a trakce (K13114),

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

4. Úvod do paralelismu, metody paralelizace

4. Úvod do paralelismu, metody paralelizace 4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.

Více

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA

PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA PROFIL BUDOUCÍHO ABSOLVENTA OBORU INFORMATIKA Cyril Klimeš Ostravská univerzita, katedra informatiky a počítačů, 30. dubna 22, 701 03 Ostrava, ČR, e-mail: cyril.klimes@osu.cz Abstrakt Tento příspěvek si

Více

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

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2) Procesor Intel Pentium (1) 32-bitová vnitřní architektura s 64-bitovou datovou sběrnicí Superskalární procesor: obsahuje více než jednu (dvě) frontu pro zřetězené zpracování instrukcí (značeny u, v) poskytuje

Více

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ý

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ý 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ý Bakalářská práce 2008 Poděkování Rád bych poděkoval svému vedoucímu práce

Více

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6 UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ FAKULTA APLIKOVANÉ INFORMATIKY GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6 Lubomír Vašek Zlín 2013 Obsah... 3 1. Základní pojmy... 3 2. Princip rastrové reprezentace... 3 2.1 Užívané

Více

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3) Paměti EEPROM (1) EEPROM Electrically EPROM Mají podobné chování jako paměti EPROM, tj. jedná se o statické, energeticky nezávislé paměti, které je možné naprogramovat a později z nich informace vymazat

Více

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Paměti cache. Cache může být realizována softwarově nebo hardwarově. Paměti cache Cache je označení pro vyrovnávací paměť nacházející se mezi dvěma subsystémy s rozdílnou přenosovou rychlostí, a jak již její název vypovídá, tak tuto rychlost vyrovnává. Cache může být realizována

Více

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

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

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

Úvod do GPGPU J. Sloup, I. Šimeček Úvod do GPGPU J. Sloup, I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PRC, LS2010/11, Predn.3 Příprava studijního programu

Více

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

13. Paralelní architektury SISD, SIMD, MISD, MIMD. 13. Paralelní architektury SISD, SIMD, MISD, MIMD. Obsah 13. Paralelní architektury SISD, SIMD, MISD, MIMD.... 1 13.1 Základní koncepce paralelismu... 2 13.2 Rozdělení paralelních systému... 2 13.2.1 Flynnova

Více

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

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače V roce 1945 vystoupil na přednášce v USA matematik John von Neumann a představil architekturu samočinného univerzálního počítače (von Neumannova koncepce/schéma/architektura). Základy této koncepce se

Více

Architektura procesorů PC shrnutí pojmů

Architektura procesorů PC shrnutí pojmů Architektura procesorů PC shrnutí pojmů 1 Co je to superskalární architektura? Minimálně dvě fronty instrukcí. Provádění instrukcí je možné iniciovat současně, instrukce se pak provádějí paralelně. Realizovatelné

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Architektura paměťového a periferního podsystému České vysoké učení technické, Fakulta elektrotechnická A4M36PAP Pokročílé architektury počítačů Ver.1.00 2010 1 Motivace

Více

Tvorba počítačových clusterů pomocí Linuxu. Vedoucí práce: Mgr. Jiří Pech, Ph.D. Katedra informatiky

Tvorba počítačových clusterů pomocí Linuxu. Vedoucí práce: Mgr. Jiří Pech, Ph.D. Katedra informatiky Tvorba počítačových clusterů pomocí Linuxu Řešitel: Petr Ciml Vedoucí práce: Mgr. Jiří Pech, Ph.D. Katedra informatiky ik Zásady pro vypracování Pod pojmem počítačový cluster zde rozumíme skupinu více

Více

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ 1) INFORMACE VE VÝPOČETNÍ TECHNICE 3 2) POČÍTAČOVÉ ARCHITEKTURY, POČÍTAČ JAKO ČÍSLICOVÝ STROJ 3 3) SIGNÁLY 3

Více

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC HISTORIE VÝPOČETNÍ TECHNIKY Od abakusu k PC Předchůdci počítačů abakus - nejstarší předek počítačů, počítací pomůcka založená na principu posuvných korálků. V Číně byl abakus používán od 13. století, v

Více

Architektura procesoru Athlon 64 X2

Architektura procesoru Athlon 64 X2 Architektura procesoru Athlon 64 X2 Athlon 64 X2 je prvním dvoujádrovým procesorem od firmy AMD, určeným pro domácí využití. Tento procesor byl papírově oznámen 21.dubna 2005. V tento den byly oficiálně

Více

CHARAKTERISTIKY MODELŮ PC

CHARAKTERISTIKY MODELŮ PC CHARAKTERISTIKY MODELŮ PC Historie: červenec 1980 skupina 12 pracovníků firmy IBM byla pověřena vývojem osobního počítače 12. srpna 1981 byl počítač veřejně prezentován do konce r. 1983 400 000 prodaných

Více

Cell broadband engine architecture

Cell broadband engine architecture Cell broadband engine architecture Semestrální práce z předmětu 31SCS Martin Černý Abstrakt Specifikace procesoru ukazují při zachování nízké pořizovací ceny na velké výpočetní kapacity. Procesor kombinuje

Více

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY Jiří Šebesta Ústav radioelektroniky, Fakulta elektroniky a komunikačních technologií Vysoké učení technické v Brně

Více

Grafické adaptéry a monitory

Grafické adaptéry a monitory Grafické adaptéry a monitory 1 Obsah přednášky Generace grafických adaptérů. Principy AGP. Rozhraní monitorů. Principy tvorby barev. Organizace video paměti. Nově technologie výroby monitorů. 2 Vývojové

Více

HW počítače co se nalézá uvnitř počítačové skříně

HW počítače co se nalézá uvnitř počítačové skříně ZVT HW počítače co se nalézá uvnitř počítačové skříně HW vybavení PC Hardware Vnitřní (uvnitř počítačové skříně) Vnější ( ) Základní HW základní jednotka + zobrazovací zařízení + klávesnice + (myš) Vnější

Více

Zřízení studijního oboru HPC (High performance computing)

Zřízení studijního oboru HPC (High performance computing) Zřízení studijního oboru HPC (High performance computing) Návrh oboru je koncipován tak, aby byl zajímavý pro široký okruh zájemců, kteří pak mohou později pracovat při využití HPC v projekčních a výzkumných

Více

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247

Inovace bakalářského studijního oboru Aplikovaná chemie. Reg. č.: CZ.1.07/2.2.00/15.0247 Inovace bakalářského studijního oboru Aplikovaná chemie Reg. č.: CZ.1.07/2.2.00/15.0247 APLIKACE POČÍTAČŮ V MĚŘÍCÍCH SYSTÉMECH PRO CHEMIKY s využitím LabView 2. Číslicové počítače a jejich využití pro

Více

Konfigurace řídicího systému technikou Hardware In The Loop

Konfigurace řídicího systému technikou Hardware In The Loop 1 Portál pre odborné publikovanie ISSN 1338-0087 Konfigurace řídicího systému technikou Hardware In The Loop Szymeczek Michal Elektrotechnika, Študentské práce 20.10.2010 Bakalářská práce se zabývá konfigurací

Více

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

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 Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín

Více

Neuropočítače. podnět. vnímání (senzory)

Neuropočítače. podnět. vnímání (senzory) Neuropočítače Princip inteligentního systému vnímání (senzory) podnět akce (efektory) poznání plánování usuzování komunikace Typické vlastnosti inteligentního systému: schopnost vnímat podněty z okolního

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů Přednáška 8 Multiprocesory vláknový paralelismus Martin Milata Obsah Paralelní architektury MIMD model Multi-jádrové a multi-vláknové procesory Klasterové řešení Sdílení

Více

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

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/ Střední odborná škola elektrotechnická, Centrum odborné přípravy Zvolenovská 537, Hluboká nad Vltavou Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/34.0448 CZ.1.07/1.5.00/34.0448 1 Číslo projektu

Více

Architektury VLIW M. Skrbek a I. Šimeček

Architektury VLIW M. Skrbek a I. Šimeček Architektury VLIW M. Skrbek a I. Šimeček xsimecek@fit.cvut.cz Katedra počítačových systémů FIT České vysoké učení technické v Praze Ivan Šimeček, 2011 MI-PAP, LS2010/11, Predn.3 Příprava studijního programu

Více

Von Neumannovo schema počítače

Von Neumannovo schema počítače Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_10_NEUMANN_S1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

Cache paměť - mezipaměť

Cache paměť - mezipaměť Cache paměť - mezipaměť 10.přednáška Urychlení přenosu mezi procesorem a hlavní pamětí Hlavní paměť procesoru je typu DRAM a je pomalá. Proto se mezi pomalou hlavní paměť a procesor vkládá menší, ale rychlá

Více

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

Profilová část maturitní zkoušky 2015/2016 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

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

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Jan Nekvapil jan.nekvapil@tiscali.cz ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Motivace MMX, EMMX, MMX+ 3DNow!, 3DNow!+ SSE SSE2 SSE3 SSSE3 SSE4.2 Závěr 2 Efektivní práce s vektory

Více

Operační systémy. Přednáška 8: Správa paměti II

Operační systémy. Přednáška 8: Správa paměti II Operační systémy Přednáška 8: Správa paměti II 1 Jednoduché stránkování Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné

Více

Metody připojování periferií BI-MPP Přednáška 1

Metody připojování periferií BI-MPP Přednáška 1 Metody připojování periferií BI-MPP Přednáška 1 Ing. Miroslav Skrbek, Ph.D. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze Miroslav Skrbek 2010,2011

Více

Pokročilá architektura počítačů

Pokročilá architektura počítačů Pokročilá architektura počítačů Technologie PhysX Jan Lukáč LUK145 Sony PlayStation 2 Emotion Engine První krok do světa akcelerované fyziky učinily pro mnohé velmi překvapivě herní konzole. Sony Playstation

Více

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ Procesy, paralelní procesy, souběžné zpracování Ing. Ivo Špička, Ph.D. Ostrava 2013 Ing. Ivo Špička, Ph.D.

Více

ARCHITEKTURA AMD PUMA

ARCHITEKTURA AMD PUMA VŠB-TU Ostrava Fakulta elektrotechniky a informatiky Katedra informačných technológií ARCHITEKTURA AMD PUMA Martin Raichl, RAI033 21. listopadu 2009 Ján Podracký, POD123 Obsah Architektura AMD PUMA nová

Více

PROCESORY. Typy procesorů

PROCESORY. Typy procesorů PROCESORY Procesor (CPU Central Processing Unit) je ústřední výkonnou jednotkou počítače, která čte z paměti instrukce a na jejich základě vykonává program. Primárním úkolem procesoru je řídit činnost

Více

Výstavba PC. Vývoj trhu osobních počítačů

Výstavba PC. Vývoj trhu osobních počítačů Výstavba PC Vývoj trhu osobních počítačů Osobní počítač? Sálový počítač (Mainframe) IBM System/370 model 168 (1972) Minipočítač DEC PDP-11/70 (1975) Od 60. let počítač byl buď velký sálový nebo mini, stroj,

Více

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE

ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií ROZPOZNÁVÁNÍ AKUSTICKÉHO SIGNÁLU ŘEČI S PODPOROU VIZUÁLNÍ INFORMACE AUTOREFERÁT DISERTAČNÍ PRÁCE 2005 JOSEF CHALOUPKA

Více

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry.

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry. Paměti Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností, budoucností a hlavními parametry. Klíčové pojmy: paměť, RAM, rozdělení pamětí, ROM, vnitřní paměť, vnější paměť. Úvod

Více

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

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC Informatika 2 Technické prostředky počítačové techniky - 2 Přednáší: doc. Ing. Jan Skrbek, Dr. - KIN Přednášky: středa 14 20 15 55 Spojení: e-mail: jan.skrbek@tul.cz 16 10 17 45 tel.: 48 535 2442 Obsah:

Více

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR EVOLUČNÍ NÁVRH A OPTIMALIZACE APLIKAČNĚ SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR Miloš Minařík DVI4, 2. ročník, prezenční studium Školitel: Lukáš Sekanina Fakulta informačních technologií, Vysoké učení

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Pokročilé architektury počítačů

Pokročilé architektury počítačů Pokročilé architektury počítačů 01 Úvodní přednáška České vysoké učení technické, Fakulta elektrotechnická Autor materiálu: Michal Štepanovský Přednášející: Pavel Píša Ver.1.10 1 Abstraction Layers in

Více

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Petr

Více