Archiwum kategorii technikalia

Dreamliner i obejście problemu

Niejednokrotnie w trakcie eksploatacji jakiegoś rozwiązania ujawniony zostaje bardzo poważny problem, którego wystąpienie można jednak wcześniej przewidzieć i przygotować odpowiednie programy zaradcze. W takim przypadku obejście problemu może być równie skuteczne, co jego ostateczne usunięcie.
Przykładem właśnie takiego działania jest zaproponowana przez Boeinga dyrektywa RIN 2120 – AA64 dotycząca samolotów Boeing 787 Dreamliner. Samolot ten ma skomplikowany system elektryczny (nie korzysta już z energii sprężonego powietrza bleed air pochodzącego ze sprężarek silników), a zatem posiada generatory energii elektrycznej o odpowiednio dużej mocy. Właśnie w oprogramowaniu komputerów sterujących tymi generatorami znajduje się błąd, który przypomina przepełnienie 32 bitowej zmiennej przez wartość licznika taktowanego sto razy na sekundę (przepełnienie nastąpi po 248 dniach). Skutkiem przepełnienia we wszystkich generatorach (zazwyczaj uruchamianych w krótkich odstępach czasu po sobie) jest przejście w tryb awaryjny i utrata zasilania. Taka awaria w locie prawdopodobnie skutkowałoby utratą kontroli nad maszyną. Boeing podjął zatem działanie zaradcze – proponuje wydanie dyrektywy AD (airworthiness directive), która nakazuje okresowe wyłączanie generatorów do czasu wydania nowej wersji oprogramowania. Wyłączenie można z powodzeniem wykonać na ziemi i według informacji Boeinga, we wszystkich Dreamlinerach generatory były wyłączane po 120 dniach w ramach regularnych czynności serwisowych. Czasami najprostsze sposoby są skuteczne.

Ekstremalne warunki pracy

Wykroczenie poza zakres dopuszczalnych warunków środowiskowych niesie ze sobą różne efekty – czasami awarie pojawiają się niespodziewanie i poszukiwanie przyczyny prowadzi do wykrycia zjawisk, których nikt by nie podejrzewał.
Jesienią 1986 r. jeden z programistów, pracownik radzieckiej kolei, napotkał niespodziewane błędy w działaniu niedawno zainstalowanego komputera. W budynku stacji kolejowej niedaleko Świerdłowska (obecnie Jekaterynburg, jeden z najważniejszych kolejowych węzłów komunikacyjnych ZSRR, podobnie jak Skarżysko-Kamienna w PRL) zainstalowano komputer serii SM-1800 do usprawnienia obsługi wagonów.

Komputer w architekturze КР58ОИК80А

Komputer z serii SM-1800, źródło – dorus.ru

Oprogramowanie zostało napisane, zainstalowane, przetestowane i uruchomione produkcyjnie, ale co pewien czas w nocy obserwowano załamania systemu oraz bardzo dziwne błędy. Każdego następnego dnia wszystkie dokładne testy udowadniały, że sprzęt jest sprawny. Programista podejrzewał bardzo rzadki błąd, który mógł się ujawnić w szczególnych okolicznościach, na przykład wyścig. Każde zgłoszenie awarii było udokumentowane, a zatem można było przeprowadzić ręczną analizę zgłoszeń – za pomocą kartki papieru i kalendarza.
Więcej »

Tajemnicze sygnały

Przedstawiam pierwszy odcinek serii „Technoblog na Wizji i Fonii”. W tym odcinku pokażę jak cyfrowa obróbka sygnału umożliwia odkrycie sygnałów zapisanych 40 lat temu. Omówię także jeden z problemów związany z analizą dźwięków pochodzących ze źródeł analogowych, takich jak starsze rejestratory katastroficzne CVR.

Zapomniany certyfikat

Czasami zwykłe zapomnienie może być przyczyną przerw w dostępności usług, mimo sprawnego sprzętu i aplikacji. Wystarczy, że firma zapomni zainstalować na czas nowy certyfikat bezpieczeństwa. Taka wpadka przydarzyła się w niedzielę Google – administratorzy serwisów poczty elektronicznej zapomnieli odnowić certyfikat Google Internet Authority G2 (wydany przez GeoTrust Global CA). Skutek? Problemy z wysyłaniem poczty elektronicznej.
W każdym środowisku powinna być procedura okresowego sprawdzania daty wygasania certyfikatów i podejmowane działania, by nowe certyfikaty były instalowane z odpowiednim wyprzedzeniem.
smtp.google.com_chain-expired

Źródło – securityweek.com

Łubudubuntu

Zgodnie z obietnicą biorę na warsztat system, z którym borykam się przez ponad 10 lat. Ogólne wrażenie jest pozytywne, ale…
Więcej »

Hydrofobia w datacenter

Niestety mimo postępów techniki, nadal budowniczy centrów przetwarzania danych mają opory przed doprowadzaniem cieczy do pomieszczenia datacenter. W ankiecie przeprowadzonej przez Uptime Institute zaledwie 11% operatorów datacenter korzysta z chłodzenia wodnego. Wynika to także stąd, że chociaż dzisiejsze serwery kasetowe mogą dysponować gęstością mocy nawet rzędu 30kW na szafę (i więcej!), operatorzy rzadko pracują przy takiej gęstości upakowania serwerów (a zatem doprowadzonej mocy). Zazwyczaj wystarcza im 5-7 kW na szafę, a z taką gęstością radzą sobie bez problemu typowe systemy chłodzenia powietrzem z chłodnymi i gorącymi korytarzami. Być może jednak w niedalekiej przyszłości konkurencja między dostawcami chmury obliczeniowej sprawi, że ciecz chłodząca stanie się standardem – jest po prostu bardzo sprawna i umożliwia odprowadzenie mocy rzędu kilkudziesięciu kilowatów z pojedynczej szafy.

Woda chłodzi lepiej
Chłodzenie wodne nie oznacza jednak za każdym razem tego samego rozwiązania i podejścia. Obecnie woda lodowa z powodzeniem służy do chłodzenia powietrza za pomocą wymienników w pomieszczeniu, w rzędach szaf, a nawet nad nimi. Nadal jednak między mikroprocesorem a cieczą występuje bariera powietrza. Prawdziwy przełom sprawią dopiero projekty, w których woda lodowa zostanie doprowadzona wprost do chłodzenia układów scalonych i innych komponentów. Można to osiągnąć za pomocą odpowiednio przygotowanych płytek i rurek albo przez zanurzenie elementów w odpowiedniej cieczy. Pierwsze takie systemy już się pojawiają.

Wodne chłodzenie kontaktowe
Przykładem firmy, która wprowadza systemy chłodzenia cieczą z bezpośrednim kontaktem wymiennika ciepła z cieczą (bez konieczności używania radiatorów i wentylatorów) jest Cool IT Systems. Sektorem, w którym odnotowuje największy wzrost sprzedaży, są komputery dedykowane do wyliczania wirtualnej waluty bitcoin, korzystające ze specjalnych procesorów ASIC, które generują dużo ciepła w niewielkiej objętości.
system chlodzenia wodnego Cool IT systems
W ten sposób można chłodzić także GPU, za pomocą systemów kontaktowych:
chlodzenie gpu

Inną firmą promującą chłodzenie cieczą jest Asetek. Jest ona partnerem firmy Cray i opracowuje rozwiązania także na potrzeby sektora obronnego w USA. Na zdjęciu poniżej znajduje się serwer kasetowy z systemem chłodzenia firmy Asetek.
Serwer kasetowy z chlodzeniem Asetek

Do wanny z płynem
Chłodzenie przez zanurzenie w cieczy opanowuje firma Green Revolution Cooling, która tę technologię wprowadza do najsprawniejszego energetycznie superkomputera na świecie – Tsubame-KFC. Technologia tej firmy służy do chłodzenia komputerów o mocy liczonej w megawatach, w tym na przykład aplikację obrazowania sejsmicznego w CGG w Houston. Inne podejście, określane jako zanurzenie w otwartej kąpieli prezentuje firma 3M, która tę technologię monetyzuje w sektorze obliczeń elektronicznej waluty, takiej jak bitcoin. Wykorzystywany przy tym płyn Novec chłodzi instalacje o wysokiej gęstości przeznaczone do obliczeń bitcoinów w Hong-Kongu, moc sięga 100kW per rack.
chlodzenie zanurzeniowe

Daje się tu zauważyć pewna prawidłowość – rozwiązania zanurzeniowe wykorzystuje się w nowych inwestycjach, a kontaktowe – w istniejących centrach.

Procesory, dyski…
Obecnie sprzedawane procesory Intela (szczególnie te najmocniejsze, które wydzielają sporo ciepła) z powodzeniem mogą być chłodzone cieczą – rozwiązania do kontaktowego chłodzenia procesorów z serii Xeon są dostępne na rynku i z powodzeniem sprawdzają się w środowiskach serwerowych, chociaż jest to nadal produkt niszowy. Z kolei w środowisku overclockerów (specjalistów zajmujących się pozyskiwaniem większych mocy obliczeniowych niż przewidział to producent dzięki podwyższaniu częstotliwości taktowania zegara) chłodzenie wodne jest bardzo popularne.
Osobnym problemem są dyski mechaniczne i półprzewodnikowe, gdyż w odróżnieniu od procesorów rzadko są projektowane pod kątem chłodzenia z pojedynczego obszaru obudowy. Prawdziwa rewolucja jest jeszcze przed nami.

Czy czeka nas chłodzenie cieczą?

Odprowadzanie ciepła za pomocą cieczy chłodzącej jest powszechnie stosowane w przemyśle, energetyce czy motoryzacji. Ma wiele zalet, między innymi umożliwia szybkie odprowadzenie dużych ilości energii cieplnej ze stosunkowo małej powierzchni urządzeń. Inżynierowie projektujący komputery nadal jednak wybierają chłodzenie powietrzem – poza niektórymi niszami. Taką niszą są specjalne zestawy do overclockingu, a także komputery o dużej mocy obliczeniowej. Wzrost zapotrzebowania na moc obliczeniową do celów badań naukowych, chmury i przetwarzania dużych zasobów danych sprawia, że powstają komputery, które połączą dużą wydajność procesorów z niewielką objętością. A to oznacza wytwarzanie znacznej ilości ciepła w małym urządzeniu – odpowiedzią na potrzeby zakresie chłodzenia może być użycie cieczy chłodzącej. Na to wskazują między innymi raporty takie jak 451 Group – chłodzenie wodne powraca, także poza maszynami eksperymentalnymi dla celów naukowych.
Paul Arts, CTO firmy Eurotech mówi: „W świecie komputerów dużej mocy, wszystko będzie chłodzone cieczą. Uważamy, że jest to jedyny sposób, by uzyskać potrzebną skalę. To jest dopiero początek rewolucji, powstaną nowe komputery dużej mocy, dysponujące nadzwyczajnymi możliwościami”.
Należy przy tym pamiętać, że problemy nie dotyczą samej technologii, gdyż jest ona dopracowana od lat w rozwiązaniach przemysłowych. Wprowadzenie chłodzenia wodnego w datacenter wymaga nieco większych inwestycji, gdyż obecne centra przetwarzania danych są dostosowane do odprowadzania ciepła wydzielanego przez maszyny w formie gorącego powietrza. Należy zatem albo wprowadzić kolejny wymiennik ciepła (być może w urządzeniu lub szafie), albo dostosować istniejącą infrastrukturę. Będzie to jednak niezbędne w miarę wzrostu mocy obliczeniowej.
Na konferencji SC14 w Nowym Orleanie podczas dyskusji panelowej Nicolas Dube, specjalista do spraw technologii datacenter w firmie HP powiedział: „W roku 2020 gęstość i ilość wydzielanego ciepła będzie tak duża, że będziemy musieli korzystać z chłodzenia cieczą. Musimy tę technologię wdrażać już teraz”.
Jest to korzystne już teraz, choćby dlatego, że przy chłodzeniu cieczą procesor pracuje przy niższym obciążeniu termicznym i ogólnie w lepszych warunkach. Michael Patterson, architekt zajmujący się zagadnieniami energii i ciepła w firmie Intel wyjaśnia: „W niemal każdej konstrukcji chłodzenia cieczą procesor pracuje przy niższej temperaturze i charakteryzuje się większą niezawodnością. Przy takiej metodzie chłodzenia zawsze będą mniejsze fluktuacje temperatury, niż przy chłodzeniu powietrzem. To przekłada się na niezawodność”.

Keylogger wbudowany w OS X

Razem z aktualizacją do najnowszego Firefoksa i Thunderbirda Mozilla wydała bardzo ważne ostrzeżenie związane z funkcjonowaniem mechanizmu CoreGraphics w systemie Apple OS X w wersji Yosemite (10.10). Niektóre aplikacje, w tym takie, które korzystają z własnego mechanizmu zarządzania pamięcią (takiego jak jmemalloc), ze względu na błąd frameworku Apple’a mogą trafić na swoistą „czarną listę” i uruchomić mechanizm keyloggera wbudowany w ten system. Skutkuje to zapisywaniem wszystkich wciskanych klawiszy przy pracy z tym programem do specjalnego pliku /tmp/CGLog_<nazwa procesu>. Właśnie to zdarzyło się Firefoksowi w wersji niższej niż 34. Chociaż jest to błąd programistyczny, niestety źle świadczy o frameworku i o samym systemie operacyjnym.
W każdym przypadku należy sprawdzić obecność podobnych plików w katalogu /tmp i wyczyścić wszystkie pliki

/tmp/CGLog_*

gdyż zawierają one zapis wszystkich wciskanych klawiszy, włącznie z ewentualnymi hasłami, numerami kart kredytowych i innymi poufnymi informacjami.
Yosemite (10.10) jest pierwszym wydaniem OSX, w którym ta funkcja jest domyślnie włączona (kod był obecny także w poprzednich wersjach, wystarczyło ustawić odpowiednio zmienną kCGSDebugOptionVerboseLoggingAllApps). Jeśli korzystasz z backupu, na przykład za pomocą Time Machine, należy usunąć te pliki z backupu, a na przyszłość usunąć /tmp z szablonu kopii bezpieczeństwa.

Czy zawsze AJAX jest dobry?

Aplikacje webowe wykorzystujące technologię AJAX mogą zaoferować całkiem ciekawe możliwości swoim użytkownikom. Mogą być wyposażone w dynamiczne formularze, aktywne obiekty, ciekawe elementy graficzne i tekstowe, mogą działać interaktywnie. Niestety zapewnienie spójnego odbioru pracy takiej aplikacji wcale nie jest proste. Wystarczy drobny problem z komunikacją, opóźnienie lub zatrzymanie ładowania jednego ze składników, błąd w jednym z wielu skryptów albo nieprzewidziane przez autorów działania użytkownika, by w stronie mogły pojawiać się błędy. Pół biedy, gdy dotyczy to stron informacyjnych. Niestety ten sam problem dotyczy także niektórych stron transakcyjnych, przykładem może być nowy serwis mBanku.
Więcej »

Apple OS X Yosemite i dyski SSD

Jeśli korzystasz z ogryzka z systemem Mavericks i używasz dysków SSD innej firmy niż Apple, to nie aktualizuj systemu do Yosemite.
Apple w systemie Yosemite wprowadza obowiązek podpisywania sterowników (kext signing), a zatem dyski SSD firm trzecich nie będą działać – nie da się z nich nawet podnieść systemu jeśli zainstalowałeś narzędzia do obsługi opcji Trim (usprawnia ona pracę dysków SSD przy zapisie). Niestety nie da się zaimplementować obsługi Trim inaczej, niż przez kext, gdyż sterownik AHCI SATA napisany przez Apple jest zamknięty i nieudokumentowany. Żaden z producentów nie może zatem dostarczyć dobrze napisanych i podpisanych sterowników do dysków SSD, gdyż Apple na to nie pozwala.
Problem obsługi dysków SSD szczególnie mocno dotyczy profesjonalistów zajmujących się edycją wideo w programie Final Cut Pro.

W świecie Windows podpisywanie sterowników miała Vista 64 bit (styczeń 2007r, a jeszcze w październiku 2006r. osobiście testowałem RC) i mają do dziś wszystkie wydania Windows 64 bit. Apple wprowadza to zabezpieczenie dopiero teraz.