r   e   k   l   a   m   a
r   e   k   l   a   m   a

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

Strona główna AktualnościOPROGRAMOWANIE

Stabilność oprogramowania wciąż pozostawia wiele do życzenia. Jasne, zapomnieliśmy już o czasach pozbawionych ochrony pamięci systemów operacyjnych komputerów 16-bitowych, ale z drugiej strony nawet oprogramowanie budowane zgodnie z wytycznymi nowoczesnej inżynierii jest wciąż podatne na problemy natury sprzętowej. A problemów tych, wraz z postępującą miniaturyzacją, będzie tylko przybywać – 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łócenia kwantowej 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łędy przestaną zagrażać aplikacjom.

Andrew Chien, profesor informatyki z Centrum Badań Komputerowych University of Chicago, zaangażowany jest w kilka projektów, które miałyby uodpornić komputery na sprzętowe błędy. Jeden z nich już wydał pierwsze owoce, znajdując zastosowanie w działającym klastrze superkomputerowym. Wspomniany Global View Resilience jest krokiem naprzód w porównaniu do stosowanego dotychczas mechanizmu punktów kontrolnych (checkpoints).

Zanim zaczęto stosować mechanizm punktów kontrolnych, każda sprzętowa usterka oznaczała konieczność wznowienia pracy aplikacji od samego początku. W wypadku prostego desktopowego oprogramowania to nie problem, ale jeśli ktoś wykorzystuje moc obliczeniową superkomputera do wielodniowych obliczeń, taka awaria oznacza poważne koszty. Metod implementacji pomysłu na punkty kontrolne jest wiele, podstawową z nich jest zatrzymywanie w pewnym momencie aplikacji, kopiowanie wszystkich potrzebnych danych na niezawodną pamięć masową i wznawianie pracy. Jeśli dojdzie do awarii, zawsze można wrócić do punktu kontrolnego. Sęk w tym, że dopiero po ukończeniu obliczeń można się dowiedzieć, że doszło gdzieś do błędu.

r   e   k   l   a   m   a

Rozwinięto więc wyrafinowane metody automatyzacji tych procesów, monitorujące stany procesów i ich potomków, obsługujące nie tylko pliki, ale też rozmaite abstrakcje systemowe, takie jak gniazdka czy potoki. Praktycznie każde profesjonalne oprogramowanie dla uniksopodobnych systemów może być takim nadzorem objęte. Gdy błędów było mało, stosowanie punktów kontrolnych się sprawdzało. Dzisiaj sprawdza się coraz mniej. Profesor Chien zauważa, że w dzisiejszym sprzęcie w ciągu kilku sekund może pojawić 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ło ocalić dane jak i poprawić, co się dało.

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

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

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

© dobreprogramy

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.