Hlavní navigace

Povídky paralelistické: vytváření souběžnosti

Michal Burda 23. 7. 2003

O fyzikálních limitech, lovcích mamutů a nějakém tom škatulkování do tří kategorií. Dnešní úvodní díl nového miniseriálu o paralelismu vás stručně uvede do problematiky "vytváření souběžnosti". Podíváme se na to, proč nemusíme čekat na kvantové počítače a co pro zrychlení našich mašin můžeme udělat už dnes.

Vážení čtenáři, na vašem (doufám) oblíbeném elektronickém časopisu Root.cz právě začíná nová telenovela. Už se jistě stejně jako já nemůžete dočkat, co vám o tématu blyštícím se nad těmito řádky napovídám, takže nechme planých řečí zatěžujících spojovací linky a pusťme se do toho.

My všichni, kdo s počítači něco děláme, jsme neustále svědky různých technologických zázraků. Jejich zrod je doprovázen superlativy, aby za několik málo let zmizel v žumpě dějin. Rychlost našich křemíkových koní se neustále (geometrickou řadou!) zvyšuje, ale jen tehdy, když občas sáhneme hluboko do kapsy, nahmatáme tučný svazek bankovek a koupí dalšího kusu šrotu trochu zrychlíme.

Někomu takové neustálé krví naší práce vykoupené inovování vyhovuje: vývoj jde kupředu a on (ona) si pořád může spouštět ty stále úžasnější textové editory. Jsou však mezi námi lidé, kterým to prostě nestačí. Zatěžují své mašiny nevídaným množstvím dat a chtějí po nich různé složité výpočty. Přitom koho vlastně nějaké data-miningové aplikace, expertní systémy, rozpoznávání řeči nebo předpovědi počasí a jiné matematické výpočty a simulace vlastně zajímají?

Situaci na trhu procesorů výstižně předpověděl vizionář Intelu Gordon Moore, jehož dnes už otřepaný výrok je znám jako tzv. Moorův zákon. Ten pán kdysi v polovině šedesátých let řekl, že:

„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.“

Je zajímavé, že tento smělý odhad vývoje výpočetní techniky platí již bezmála čtyřicet let.

V dnešní době můžeme ze všech stran slyšet, že technologie současných kompjútrů se blíží ke svým fyzikálním hranicím, že zkrátka i atom má svou velikost a světlo bohužel omezenou rychlost a tyto hodnoty nejdou snížit/zvýšit tak, jak by se nám zrovna hodilo do krámu. Není proto divu, ze chytří pánové a dámy vymýšlejí různé zběsilosti jako kvantové, chemické nebo snad i biologické (jestli to nejsou fámy) počítače. Kdo totiž první vymyslí slušnou alternativu k dnešním zastarávajícím technologiím, napakuje se penězi a vyhraje. (Tím samozřejmě nechci říct, že vědci vymýšlejí jen kvůli penězům – ale to jsem už pořádně off-topic.)

Je zde však něco (a konečně se dostáváme k tématu), co pro zrychlení našich mašin můžeme udělat už dnes. Ano, správně, je to paralelismus.

Myšlenka paralelizace, čili vytváření souběžnosti (Akadem. slovník cizích slov, Academia Praha 2001), neboli organizace práce tak, aby se při provádění něčeho současně mohlo dělat i něco jiného, je stará jako lidstvo samo. Už první lovci a sběrači typu Mamutík či Kopčem (asi 30000 př. Kr.) pochopili, že se uživí pouze, budou-li lovit všichni spolu (pravda, tehdy tomu asi zrovna „paralelnost“ neříkali, ale princip byl stejný), a že pyramidy (někdy mezi 2500 až 2100 př. Kr.) si faraón taky sám nepostaví a že, aby se jich vůbec dožil, budou potřeba jedni otroci, kteří by mlátili do kamene a dělali z něj kvádry, zatímco další by je souběžně s těmi prvními tahali a kupili na sebe.

Zájem o paralelní zpracovávání není žádnou novinkou ani v informačních technologiích. První pokusy v této oblasti se datují už do prenatálního období počítačového průmyslu: například stroj ILLIAC IV z roku 1967 měl 64 procesorů.

Rozsáhlá paralelizace může být jednou z cest, jak zajistit další růst výpočetního výkonu hned teď. Použít lze dnešní „domácí“ procesory, které jsou relativně levné, a spolu s moderními síťovými technologiemi vytvořit vhodné prostředí pro distribuované výpočty. Můžete si být jisti, že svět nečeká, až mu to na Rootu poradíme, protože přesně takhle se to děje dnes a denně.

Stejně jako každá věc má i paralelní zpracování problémů svá výrazná „ale“ – ty však v našem vyprávění vyplavou na povrch jako bubliny zapáchajícího plynu, teprve až se někdy v průběhu dalších dílů ponoříme hlouběji do bažiny paralelnosti.

Úrovně paralelizace

Principy paralelismu můžeme do světa počítačů zavádět v několika rovinách. Tou nejnižší (englicky fine grained) je paralelizace pomocí „velmi malých“, dá se říci elementárních podprográmků, které mohou běžet najednou. Tento stupeň je obrazně řečeno cítit cínem a kalafunou, protože se často řeší už na úrovni hardwaru a strojových instrukcí. Dnešní procesory své instrukce zpracovávají zřetězeně (jinými slovy v řetězu, v rourách, jako na běžícím pásu, pipelined) tak, že jeden kus křemíku je předzpracovává, několik dalších jednotek souběžně vykonává a další se stará o to, aby celý ten cirkus dohromady dával smysl. Nebo: Jestliže často pracujete s grafikou, koupíte si grafický akcelerátor a tak ulehčíte samotnému procesoru, který se místo vypočítávání obrazu může zabývat něčím rozumnějším… Příkladů paralelizace na úrovni hardwaru by se jistě dalo najít mnoho a v některém z dalších dílů tohoto seriálu se jimi ještě budeme zabývat.

Trochu vyšším stupněm (middle grained) je paralelizace na úrovni procesorů, kde už je zapotřebí trochu intelektu samotných programátorů vyvíjejích aplikace. Výpočet se musí rozdělit do několika spolupracujících úloh a musí se to udělat natolik chytře, aby mohly běžet pokud možno současně na několika procesorech.

Nejvyšší (coarse grained) úrovní paralelizace se rozumí architektura s řadou procesorů, na kterých simultánně běží několik vzájemně nezávislých úloh. Díky násobnosti procesorů se propustnost systému zvýší, teoretická doba běhu algoritmů se však nezkrátí. Jednotlivé programy se píšou pořád stejně sekvenčně („jakoby pro jeden procesor“), vtip je však v tom, že když takových úloh běží v systému více, jejich zpracování se rozdělí na všechny dostupné procesory, a tak všechno chodí v konečném důsledku o poznání rychleji.

A to by mohlo být, milí čtenáři, pro dnešek vše. Paralelistické povídky budou pokračovat tím, jak princip paralelismu využívají u Intelu v návrzích svých procesorů – a to je dlouhé povídání, které si necháme na samostatný díl.

Našli jste v článku chybu?

27. 7. 2003 22:21

Pepa (neregistrovaný)

No, myslim, ze existuje este takova ta skupina "je mi to fuk"

Jinak bylo to moc hezky psany, ale pomer text/informace nic moc...



26. 7. 2003 8:12

Twinsen (neregistrovaný)

Asi bych ocenil vice informaci, ale jelikoz me toto tema docela zajima tak asi nebudu objektivni. Jinak je clanek fajn, tesim se na pokracovani, doufam ze bude uz brzy :)

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

DigiZone.cz: Sat novinky: Fransat UHD Demo

Sat novinky: Fransat UHD Demo

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Měšec.cz: Golfové pojištění: kde si jej můžete sjednat?

Golfové pojištění: kde si jej můžete sjednat?

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?