Logo

Výpočty a výsledky

Doménový rozklad

Get the Flash Player to see this player.

Příklad použití metody rozložení oblasti pro konečněprvkové výpočty.

S rostoucím výpočetním výkonem počítačů rostou i požadavky řešit stále rozsáhlejší úlohy. Bohužel samotné zvýšení výkonu počítače nemusí být postačující neboť výpočetní náročnost rozsáhlých úloh bez využití efektivních algoritmů může růst rychleji nežli samotný výkon počítače. Jako zásadní se v řešeních velmi rozsáhlých úloh jeví využití počítačů s více procesory. Algoritmy, které optimálně využívají paralelní počítače se nazývají paralelně škálovatelné. Máme-li tedy paralelně škálovatelný algoritmus, který pro řešení nějaké úlohy potřebuje dvojnásobek operací nežli algoritmus neškálovatelný, tak při využití sta procesorů bude škálovatelný algoritmus již padesátkrát rychlejší. Složitější požadavek, který na moderní metody klademe, je jejich numerická škálovatelnost. Pod numerickou škálovatelností si představme vlastnost, kdy chceme aby bylo možno větší úlohu stejného typu vyřešit za stejnou dobu přímo úměrným zvýšením počtu procesorů. Typickým příkladem numericky neškálovatelného algoritmu je Gaussova eleminace, standardně používaná na řešení lineárních problémů. Ta totiž na řešení dvojnásobné úlohy potřebuje osminásobný počet operací, a to zřejmě nelze vyřešit ve stejném čase pouhým zdvojnásobením počtu procesorů. Typicky jsou škálovatelné metody založeny na tzv. metodách rozložení oblasti, které převádí původní rozsáhlou úlohu na posloupnost menších úloh, které lze řešit odděleně a tak využít možnosti moderních paralelních počítačů. Příklad rozložení oblasti je zobrazen na vpravo, kde původní součást převodové skříně byla rozložena na 20 podoblastí.

Příklad výpočtu napětí na ložisku
Příklad výpočtu napětí na ložisku

Ukázka rozložení různých součástek a objektů
Ukázka rozložení různých součástek a objektů

Na katedře aplikované matematiky byly v rámci výzkumného projektu ministerstva školství a tělovýchovy s názvem Výpočetně náročné simulace a optimalizace vyvinuty algoritmy, které se vyznačují jak paralelní, tak numerickou škálovatelností. Z prostředků tohoto projektu byl pořízen i výpočetní cluster, na kterém jsou uvedené algoritmy testovány. Jedná se o cluster, jehož jednotlivé uzly tvoří "žiletky" (blades) v Blade systému firmy Hewlett-Packard, model BLc7000 (c-class). Blade system je osazen osmi vypočetními uzly, jedním řídícím uzlem, jedním datovým uzlem, dvěma síťovými switchi pro komunikaci s "okolním světem" a Infiniband ("IB") sběrnicí, která slouží pro rychlé spojení mezi uzly při paralelních výpočtech. Každý výpočetní uzel obsahuje 2x CPU AMD Opteron 2210 HE (dvoujádrový procesor s nízkým příkonem - 68W), 8GB ECC DDR2 667MHz RAM, systémový disk (pro OS) - 72 GB 10krpm 2.5", scratch disk (pro lokální uložení dat při výpočtu) - 72 GB 15krpm 2.5", infiniband kartu 4X DDR - rychlost 20Gb/s na L1 (drat), na L2 (data), 16Gb/s full duplex a 4x 1Gb/s ethernet. Konfigurace řídícího uzlu: 2x CPU AMD Opteron 2210 HE, 13GB ECC DDR2 667MHz RAM, 2x systémový disk (RAID 1 - mirror) - 72 GB 15 krpm 2.5", RAID řadič s 64 MB vyrovnávací pamětí a záložní baterií, infiniband kartu 4X DDR a 4x 1Gb/s ethernet. Společného diskového prostoru (storage blade) je pak tvořen 6x disk 146GB 10krpm 2.5", RAID 5 řadič s 256 MB vyrovnávací pamětí a záložní baterií. Celkově tedy výpočetní cluster čítá 36 jader AMD Opteron 2210 HE, 77GB operační paměti a 2TB diskové kapacity. Tato konfigurace již vystačuje na testování nově vyvinutých algoritmů, případně řešení i poměrně rozsáhlých úloh jako je úloha na prvním obrázku. Ta obsahuje přibližně 1.5 miliónu neznámých napětí. Úloha byla rozložena na 10, 20, 40 a 80 podoblastí. Pokles času řešení (červená čára) je patrný z následujícího obrázky. Pokles při rozložení na 10 a 20 podoblastí je dvojnásobný, neboť bylo zapojeno dvojnásobné množství procesorů. Další pokles již není takto úměrný neboť současná konfigurace je postavena na 32 výpočetních jádrech což při rozložení na 40 oblastí již nestačí.

Graf