Uśpione moce

20 maj 2008
Jarosław Badurek
Imponujący rozwój informatyki budzi czasami jakościowy niedosyt. Jedną z przyczyn tego stanu rzeczy są niewykorzystane możliwości, tkwiące w środkach technicznych i ludziach.


Ilościowo mierzalny, szybki a nawet gwałtowny rozwój informatyki jest niekwestionowanym faktem. Ale pogodowy pomiar temperatury nie jest tożsamy z jej odczuwaniem jako zimno lub ciepło. Czy zatem "odczuwalne" tempo rozwoju IT jest równie wykładnicze jak empiryczne prawo Moore'a? Tu pojawiają się wątpliwości, a nawet rozczarowania.

Skoro możliwości sprzętu komputerowego zwiększają się w tak zawrotnym tempie, skoro producenci oprogramowania oferują jego coraz nowsze wersje, dlaczego mamy często wrażenie, że te moce nie są w pełni wykorzystywane? Czy nasze wymagania są zbyt wysokie, czy też mamy do czynienia z innymi, systemowymi zjawiskami, których naturę warto badać?

Przyjrzyjmy się bliżej łańcuchowi tworzenia wartości w informatyce:
sprzęt -> oprogramowanie -> aplikacja -> korzystający z niej człowiek.

Niewątpliwie, gros sprzętu komputerowego większość czasu pozostaje w uśpieniu. Skąd takie twierdzenie? Czy komputery są zbyt szybkie?

Przeciętny komputer, czy to w domu, czy to w biurze, wykorzystywany jest zaledwie przez kilka godzin na dobę. Ale nawet wtedy, gdy ktoś z nim pracuje, to nie znaczy od razu, że bezustannie zaangażowana jest pełna moc konfiguracji. Niewiele jej potrzeba, aby zapoznawać się z treścią korespondencji mejlowej w domu. Niewiele potrzebuje jej biurowy analityk, mozolnie wklepując przez pół godziny excelowe makra i formułki, aby potem w parę chwil "przepuścić" przez nie tabelaryczne dane. Oczywiście są sytuacje, gdy tej mocy jest za mało, powinniśmy dysponować także pewnymi rezerwami - nie zmienia to jednak pokazanych wcześniej typowych sytuacji. Z drugiej strony, obserwujemy pochód architektur wieloprocesorowych, i to na kilku płaszczyznach.

Po pierwsze, mamy do czynienia z klasyczną wieloprocesorowością w jednym komputerze (takowe pojawiały się już w latach 60.). W tym samym czasie funkcjonują też rozbudowane konfiguracje wielokomputerowe (amerykański system obrony rakietowej SAGE). Po drugie, mamy też przetwarzanie w konfiguracjach rozproszonych (distributed processing), np. systemy kratowe (grid computing). W ten sposób powstały systemy wielokomputerowe umożliwiające realizację takich projektów jak SETI@home (analiza kosmicznych sygnałów radiowych), Folding@home (badania struktur białkowych) czy MoneyBee (prognozowanie kursów giełdowych). I wreszcie, przechodzimy od mikroprocesorów jednordzeniowych (core) do wielordzeniowych. Czy jednak w ogóle potrzeba nam coraz wydajniejszych procesorów? Pytanie można by zbyć wzruszeniem ramion - spróbujmy jednak poważnie na nie odpowiedzieć: tak.

W informatycznym cyklu rozwojowym sprzęt pełni rolę pierwotną w relacji do oprogramowania, zaś softwarowe narzędzia muszą powstać wcześniej niż tworzona nimi aplikacja. Trudno tworzyć partytury dla orkiestr, złożonych z nieistniejących instrumentów. Podobną niemożliwością jest pisanie konkretnych programów dla komputerów przyszłości. Zatem rozwój sprzętu musi wyprzedzać rozwój informatycznego oprogramowania.

Rozwój informatyki, przebiegający właśnie wedle schematu sprzęt-oprogramowanie-zastosowania, wymaga owego "zapasu mocy". Bez niego, posługując się porównaniem motoryzacyjnym, nie da się dokonać informatycznego przyspieszenia w odpowiednim momencie. Dodajmy, że przetwarzanie klastrowe (clustering) możliwe jest zarówno w konfiguracjach internetowych, jak i lokalnych. W tym ostatnim przypadku można nawet znaleźć "uśpione moce" dosłownie na złomie.

Zupa na gwoździu

Dowiedli tego pracownicy wydziału Computational Physics and Engineering w National Laboratory Tennessee (USA), w którym w połowie lat 90. potrzebny był superkomputer do badań klimatycznych. Cena urządzenia przekraczała ramy budżetowe przedsięwzięcia, więc uczeni wykorzystali kilkadziesiąt wycofywanych z eksploatacji PC-tów 486. Uzupełniono je o grupę szybszych procesorów Pentium i kilka stacji roboczych Alpha (DEC/Compaq). W ten sposób, w ciągu kilku lat rozwijał się superklaster składający się z ponad 130 węzłów i osiągający wydajność porównywalną z posiadanym wówczas w laboratorium superkomputerem Intel Paragon o mocy 150 gigaflopów. Konfiguracji nadano wymowną nazwę StoneSouperComputer, nawiązując do opowieści o zupie na gwoździu, która w różnych wariantach przytaczana jest także w kontekście biznesowym.

W wersji znanej twórcom omawianego superkomputera, w biednej wiosce pojawia się zgłodniały wędrowiec, obiecując jej mieszkańcom ugotowanie smacznej zupy tylko przy użyciu wody i kamieni. Ci zgadzają się bez wahania, a przybysz przystępuje do dzieła, dodając mimochodem, że zupa będzie lepiej smakować, jeśli dodać do niej kapusty. W ten sposób w potrawie pojawiają się kolejne warzywa i przyprawy, a w efekcie zarówno wieśniacy, jak i pomysłowy kucharz najadają się do syta. Potwierdzony powstaniem "komputera z zupy na gwoździu" morał bajeczki jest taki, że kooperacja prowadzi do efektów wykraczających poza możliwości pozornie skromnych i rozproszonych środków. W opisywanym przypadku dotyczy to zarówno sprzętowego wymiaru poszczególnych składników klastra, jak i współpracy twórców superkomputera z ich przełożonymi (uzupełnienie konfiguracji o zakupione stacje robocze).

Dotykamy tu jednak kolejnego składnika rozważanego łańcucha rozwojowego: oprogramowania. Czy mamy go "za dużo"? Wcześniejszy przykład pracownika z arkuszem kalkulacyjnym nie daje jednoznacznej odpowiedzi, ale sugeruje wykorzystywanie bardziej zaawansowanych możliwości tkwiących w pakietach softwarowych. Z kolei twórcy superkomputera "ze złomu" potrzebowali specjalnego oprogramowania dla obliczeń współbieżnych i na szczęście byli w stanie napisać taki algorytm. Często jednak w przeciętnej sytuacji moce softwaru pozostają w uśpieniu. Z reguły oprogramowanie potrafi znacznie więcej niż nam potrzeba, względnie nie jesteśmy w stanie skorzystać z wielu jego przydatnych funkcji, z uwagi na niewystarczającą wiedzę.

Oceń artykuł

średnio: liczba ocen:

Komentarze

Redakcja Computerworld.pl nie ponosi odpowiedzialności za wypowiedzi Internautów opublikowane na stronach serwisu oraz zastrzega sobie prawo do redagowania, skracania bądź usuwania komentarzy zawierających treści zabronione przez prawo, uznawane za obraźliwie lub naruszające zasady współżycia społecznego. Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną.

Champi

  • ocena: 5
  • IP: 198.180.131.16
  • 23-05-2008, 20:27

Artykuł na 5. Ciekaw jestem ilu decydentów go przeczyta i... zrozumie.

reklama

Webcast

Euro 2008 w Internecie

W 2008 roku można było po raz pierwszy oglądać na żywo w Internecie Mistrzostwa Europy w Piłce Nożnej - całkowicie za darmo. W ciągu zaledwie 3 miesięcy udało się przygotować platformę i uruchomić ją dla użytkowników.
Obejrzyj film

Whitepaper Connect

Warunki obsługi - Kontakt - Redakcja - Regulamin - Dołącz do nas! - Polityka prywatności - Serwis zgodny z ASME - Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2008 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88