pátek 24. února 2017

Multitasking a paralelismus na děrnoštítkových počítačích

Poznámka na úvod - tento příspěvek je částečně i recenze na audioknihu To nemyslíte vážně, pane Feynmane!, kterou jsem právě poslechl.

Část knihy se věnuje jeho práci na vývoji jaderné bomby v projektu Manhattan pod vedením Roberta Oppenheimera a právě tam mě zaujala technika, kterou se svým týmem použil pro optimalizaci práce děrnoštítkových počítačů, kterou bych v dnešním jazyku nazval multitaskingem a paralelismem a možná i superskalární architekturou. Nebudu to popisovat vlastními slovy a raději si dovolím citovat ukázky z knihy:

Jedno z našich tajemství, jak úlohy řešit, bylo tohle. Řešení problému spočívalo v tom, že balík štítků musel procházet cyklem. Nejprve sčítání, pak násobení a takhle putoval všemi stroji v místnosti, pomaloučku, protože chodil dokola znova a znova. A my jsme přišli na to, jak poslat cyklem zároveň, ale fázově posunutý, druhý balík štítků jiné barvy. Díky tomu jsme dokázali řešit dva tři problémy současně.

Tento způsob šel použít i pro efektivní opravy chyb:

Jak štítky procházejí stroji, občas stroj udělá chybu nebo je na štítku špatné číslo. Když se tohle stalo dřív, tak jsme to řešili tím, že jsme všechno vrátili a začali znova. Ale moji hoši si všimli, že chyba v určitém místě cyklu ovlivní pouze několik okolních čísel. Druhý cyklus zase ovlivní okolní čísla a tak dále. Takhle se chyba rozlézá balíčkem štítků. Když tedy zjistili, že tam mají chybu, dostali nápad: Dopočítají jenom malý balíček štítků kolem té chyby! A protože deset štítků projde strojem rychleji než balík padesáti, počítali by rychle modrý balíček a zároveň pokračovali s těmi padesáti bílými štítky, v nichž se nemoc pomalu šířila. Ale jelikož se modré štítky spočítají rychleji, vložili by je posléze do hlavního balíku, a chyba by byla opravená. Bylo to velice mazané. Takhle to ti kluci vymysleli, aby se výpočet urychlil. Jinak to nešlo: kdyby museli kvůli chybě výpočet vrátit, ztratili by spoustu času a nemohli bychom to stihnout. A když byli uprostřed práce, zjistili samozřejmě, že mají chybu i v modrém balíku. Tak se objevil žlutý balíček, který měl ještě méně štítků a obíhal ještě rychleji než modrý.

Je úžasné, jak si s tehdejšími prostředky dokázali poprat s problémy. Muselo to být velmi náročné na logistiku distribuce štítků, ale zjevně to fungovalo. Pokud vás historie děrných štítků a počítačů zaujala, tak doporučuji seriál Děrné štítky a holocaust od Lukáše Erbena, který vycházel na serveru root.cz

Nyní ale zpět k této skvělé knize, která obsahuje příhody ze života velikána teoretické fyziky 20. století Richarda P. Feynmana. Autor v ní popisuje své studium, zaměstnání, i příběhy ze svého osobního života. Mimo jiné se například dozvíte, jaký měl strach při jeho první velké přednášce, na kterou se dostavili tehdejší kapacity jako Albert Einstein nebo John von Neumann.

Richard P. Feynman byl velmi všestranně zaměřen. V knize například popisuje, jak se věnoval pro nás zdánlivým maličkostem, jako je chování mravenců a zkoumání toho, jak hledají potravu a pamatují si cestičky. Před čtením knihy jsem netušil, že se autor zabýval mimo jiné i pokusy z oblasti biologie.

Celá kniha je velmi zajímavá a moc se mi líbila. Je psána v mírně humorném duchu a mnohé historky jsou skoro až neuvěřitelné. Pokud se chcete dozvědět něco ze života Richarda P. Feynmana, trochu pochopit jak přemýšlel, uvažoval a řešil problémy, jak se seznámil s ostatními vědci, tak si knihu určitě přečtete nebo poslechněte. Opravdu za to stojí. Jedinou výtku bych měl ke kapitolám věnující se trezorům a zámkům, připadly mi zbytečně dlouhé, rozvláčné a vlastně bylo vždy jasné, jak to dopadne.

Audioknihu v české verzi namluvil Filip Švarc, jehož přednes je velmi příjemný, poutavý a perfektně mi ke knize sedl. Jednotlivé kapitoly, včetně jejich částí, jsou srozumitelně odděleny a hudba, které kapitoly odděluje, není nijak vtíravá nebo agresivní a je vhodně zvolena.

Za sebe knihu jednoznačně doporučuji a dávám jí hodnocení 5/5.