Odporne na błędy aplikacje będą działały mimo sprzętowych zakłóceń

Odporne na błędy aplikacje będą działały mimo sprzętowych zakłóceń

Odporne na błędy aplikacje będą działały mimo sprzętowych zakłóceń
09.10.2015 12:21

Stabilność oprogramowania wciąż pozostawia wiele do życzenia.Jasne, zapomnieliśmy już o czasach pozbawionych ochrony pamięcisystemów operacyjnych komputerów 16-bitowych, ale z drugiej stronynawet oprogramowanie budowane zgodnie z wytycznymi nowoczesnejinżynierii jest wciąż podatne na problemy natury sprzętowej. Aproblemów tych, wraz z postępującą miniaturyzacją, będzie tylkoprzybywać – uważają informatycy z University of Chicago.Litografia układów scalonych już zaczyna przekraczać symbolicznąbarierę 10 nm, a to oznacza narażenie na niechciane zakłóceniakwantowej natury. Gdzieś jeden bit zmieni wartość, gdzieśzawiedzie komórka pamięci – by poradzić sobie z tymi problemami,potrzebny jest nowy paradygmat programowania. Uratować ma nas GVR,Global View Resilience, technika dzięki której sprzętowe błędyprzestaną zagrażać aplikacjom.

Andrew Chien, profesor informatyki z Centrum Badań KomputerowychUniversity of Chicago, zaangażowany jest w kilka projektów, któremiałyby uodpornić komputery na sprzętowe błędy. Jeden z nich jużwydał pierwsze owoce, znajdując zastosowanie w działającymklastrze superkomputerowym. Wspomniany GlobalView Resilience jest krokiem naprzód w porównaniu dostosowanego dotychczas mechanizmu punktów kontrolnych (checkpoints).

Zanim zaczęto stosować mechanizm punktów kontrolnych, każdasprzętowa usterka oznaczała konieczność wznowienia pracyaplikacji od samego początku. W wypadku prostego desktopowegooprogramowania to nie problem, ale jeśli ktoś wykorzystuje mocobliczeniową superkomputera do wielodniowych obliczeń, taka awariaoznacza poważne koszty. Metod implementacji pomysłu na punktykontrolne jest wiele, podstawową z nich jest zatrzymywanie w pewnymmomencie aplikacji, kopiowanie wszystkich potrzebnych danych naniezawodną pamięć masową i wznawianie pracy. Jeśli dojdzie doawarii, zawsze można wrócić do punktu kontrolnego. Sęk w tym, żedopiero po ukończeniu obliczeń można się dowiedzieć, że doszłogdzieś do błędu.

Rozwinięto więc wyrafinowane metody automatyzacji tych procesów,monitorujące stany procesów i ich potomków, obsługujące nietylko pliki, ale też rozmaite abstrakcje systemowe, takie jakgniazdka czy potoki. Praktycznie każde profesjonalne oprogramowaniedla uniksopodobnych systemów może być takim nadzorem objęte. Gdybłędów było mało, stosowanie punktów kontrolnych sięsprawdzało. Dzisiaj sprawdza się coraz mniej. Profesor Chienzauważa, że w dzisiejszym sprzęcie w ciągu kilku sekund możepojawić się wiele błędów różnego rodzaju – i jeśli chce sięukończyć obliczenia, trzeba znaleźć sposób na to, by można byłoocalić dane jak i poprawić, co się dało.

Obraz

Global View Resilience wykorzystuje globalny model widoku danych,obejmujący ich nazwy, spójność i rozpraszanie. Aplikacje mogą wnim wskazywać na swoje priorytety niezawodności, tj. określać,które obszary danych są najważniejsze i wymagają szczególnejochrony. W ten sposób programiści mogą dosłownie zarządzaćniezawodnością, dostosowując ją do konkretnych potrzebobliczeniowych. Jak wyjaśnia Chien, takie podejście jest całkowicieotwarte, aplikacje mogą definiować swoje własne metody wykrywaniabłędów i odzyskiwania stanu, współdziałające z całym stosemGVR. Architektura ta łączy więc rozwiązania software'owe, w tymskrojone pod daną aplikację, z rozwiązaniami sprzętowymi, takiminp. jak szybka korekcja błędów w pamięci.

Zespół GVR, w którego skład oprócz prof. Chiena wchodzą inniamerykańscy naukowcy – Nan Dun, Hajime Fujita, oraz Aiman Fang –testuje swoje rozwiązania na uniwersyteckim superkomputerowymklastrze Midway i z doświadczeń wynika, że już dziś możepochwalić się bardzo wysoką niezawodnością. Zapewne jest tomożliwe dzięki uprzejmości władz uczelni, która naukowcom oddałacały Midway, by mogli prowadzić swoje eksperymenty. Jak zauważaChien, informatycy rzadko kiedy dostają do dyspozycji całe klastryobliczeniowe, tradycyjnie zagarniają je sobie fizycy i chemicy.

Co warte podkreślenia, z GVR zaczynają korzystać też innecentra superkomputerowe, ale na nich się nie skończy. Badaczeprzekonani są, że ich osiągnięcia znajdą zastosowanie zarównona zwykłych serwerach hostujących usługi internetowe, jak i wurządzeniach mobilnych, które wraz z postępem miniaturyzacji iniewdzięcznymi przecież warunkami użytkowania są coraz bardziejpodatne na sprzętowe błędy.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (7)