Hlavní navigace

Superpočítače čelí rostoucí hrozbě nespolehlivosti

23. 11. 2012

Sdílet

 Autor: © Fernando Madeira - Fotolia.com
Tak, jak se zvětšuje počet komponent ve velkých superpočítačích, roste i pravděpodobnost selhání některé z nich.

S růstem superpočítačů roste i jejich zranitelnost vůči chybám, vlivem nezbytného množství komponent. Několik výzkumníků se na nedávné konferenci SC12 v Salt Lake City pokusilo nabídnout několik možných řešení.

Současné systémy HPC (high-performance computing) mohou mít i více než 100 000 uzlů – prvků schopných samostatné činnosti, dále se skládajících z pamětí, procesorů, sběrnic a dalších obvodů. Z hlediska statisticky, každá z těchto komponent dříve nebo později selže. Například pro superpočítač ASCI White se 600 uzly, uvedený do provozu v roce 2001, byla typická doba mezi selháním komponenty (MTBF – mean time betwen failures) pouhých 5 hodin.

Jedním ze současných přístupů k problému je technika kontrolních bodů, kdy je běžící program dočasně zastaven a jeho stav uložen na disk ve formě jakési zálohy. V případě selhaní některého uzlu je program restartován jinde z uloženého stavu. Nevýhody této metody bohužel rostou rychleji než velikost počítače. Při dosažení velikosti 100 000 uzlů se vlastní práci věnuje pouze 35 % z nich, zbytek je ztracen na režii vytváření kontrolních bodů a případném obnovování. Odborníci odhadují, že pro následující generaci superpočítačů založených na milionech prvků by se spolehlivost musela zlepšit 100x, aby se podařilo udržet současnou dobu mezi chybami.

Na konferenci SC12 prezentovaná a diskutovaná metoda je založena na paralelním běhu několika kopií program a průběžném porovnáváním jejich mezivýsledků. Pokud se některý z klonů odliší, je poslední výpočet opakován, aniž by bylo třeba program spouštět zcela od začátku. Tato technika původně řešila problém s tzv. tichým narušením dat, kdy systém nezachytí poškození dat ukládaných na disk a další výpočty již probíhají se špatnými daty.

Implementace podobné redundance není složitá, zvyšuje sice počet jednotek nezbytných pro výpočet, ale z hlediska dlouhých intervalů převáží úspora času proti systému restartů programů od okamžiku uložení kontrolního bodu z pomalých diskových pamětí. Nevýhodou je zvyšování zatížení na propojovacích sběrnicích, které si vyžádá porovnávání výsledků, to je ale do jisté míry odstranitelné držením klonů programů v sousedících uzlech superpočítače.

Dalším nástrojem pro posilování spolehlivosti je predikce okamžiku selhání systému na základě vyhodnocení provozních záznamů. Jak ukazují zkušeností, vícenásobná selhání bývají spolu svázána, například selhání jedné technologie způsobí kaskádové selhání těch navazujících. Dle další z prezentací na SC12 70 % svázaných selhání poskytuje 10vteřinové okno na preventivní akci. Jinými slovy, pokud je detekován první příznak selhání, má systém až 10 sekund na uložení dat nebo přesun programu do jiného uzlu, než nastane další, kritičtější chyba.

Všechny tyto systémy mohou být navzájem kombinovány a měly by umožnit vytvoření nové generace tzv. exascale počítačů (s výkonem v řádu exaflops – trilionů operací v plovoucí řádové čárce za sekundu), která se nyní očekává v letech 2020-2022, o několik let později proti dřívějším optimistickým předpokladům.

Byl pro vás článek přínosný?