Nie tylko serwery są na świecie

Wieloprocesorowe karty produkowane przez Microwaya pozwalają na wykorzystanie komputerów klasy PC do realizacji poważnych obliczeń numerycznych. W niektórych zastosowaniach ich moc może być porównywana ze słabszymi superkomputerami.

Wieloprocesorowe karty produkowane przez Microwaya pozwalają na wykorzystanie komputerów klasy PC do realizacji poważnych obliczeń numerycznych. W niektórych zastosowaniach ich moc może być porównywana ze słabszymi superkomputerami.

Wertując omówienia kolejnych maszyn typu SMP, które znalazły się w naszym cyklu, można by nabrać mylnego wrażenia, że są to wyłącznie serwery plików i dużych baz danych. Otóż nie - takie kilkuprocesorowe komputery, w cenie rzędu kilkudziesięciu tysięcy USD, wykorzystuje się również do wykonywania potężnych obliczeń numerycznych. Jednym z pionierów w tej dziedzinie jest amerykańska korporacja Microway.

Parę lat temu skutecznie wykorzystała lukę powstającą na rynku, między zwyczajnymi komputerami i stacjami roboczymi a wielkimi i drogimi maszynami przeznaczonymi do pracochłonnych obliczeń. Użytkownicy zaczęli odczuwać potrzebę uzupełnienia swoich komputerów swego rodzaju "dopalaczami", które miałyby znacznie przyspieszyć obliczenia numeryczne (np. w , fizyce, chemii itd.). Jako pierwszy powstał Number Smasher-860, karta w standardzie , wyposażona we własną pamięć i mało znany, dla większości użytkowników komputerów osobistych, procesor Intela 80860, niezgodny binarnie z serią xx386, ale za to skonstruowany właśnie z myślą o efektywnym wykonywaniu operacji arytmetycznych (potrafi on np. przeprowadzać dwie operacje zmiennoprzecinkowe w jednym cyklu zegara, traktować pamięć podręczną jako rejestry wektorowe, a w dodatku posiada sporą liczbę rejestrów, w których można przechowywać wyniki obliczeń). Jednocześnie na rynku pojawił się QuadPuter, pierwszy system z czterema transputerami T800 produkcji Inmosa. Obecnie najważniejszym produktem korporacji został Quadputer-860. Jest to karta ze złączem w standardzie EISA, wyposażona w 4 procesory i860 i 2MB bardzo szybkiej pamięci lokalnej (o dostępie 100 MB/sek przez 64 bitową szynę). Poza pamięcią lokalną każdy z tych procesorów ma dostęp do 32 MB dzielonej pamięci z prędkością 67 MB/sek.

Dodatkowo poprzez złącze EISA zapewniono jednoczesne dla wszystkich kart procesorowych, korzystanie z pamięci głównej komputera z szybkością 16 MB/sek. Zegar sterujący całością jest stosunkowo wolny (25 MHz), ale dzięki temu układy elektroniczne grzeją się w niewielkim stopniu i zużywają mało prądu (22 W). Pozwala to na wyposażenie pojedynczego komputera (z płytą główną produkcji Microwaya) maksymalnie aż w osiem takich kart, co sumarycznie daje dostęp do 32 procesorów i860. W różnych testach numerycznych płyty Quadputer-860 osiągają znakomite rezultaty, średnio ok. 50 MFlop, co przy pełnej konfiguracji daje teoretyczną zdolność obliczeniową rzędu 1,6 GFlop (stąd w żargonie określa się te komputery Microwaya mianem "Gigabox"). Ich częstym zastosowaniem jest praca w połączeniu ze stacją roboczą Suna, wtedy spełniają one rolę maszyny "przerabiającej" złożone operacje numeryczne.

Jakie oprogramowanie?

Te wieloprocesorowe karty pracują w zasadzie zupełnie niezależnie od systemu operacyjnego. Komputer główny może pracować pod kontrolą Unixa, OS/2 lub zwyczajnego DOS-a. Posłużenie się możliwościami QuadPutera wymaga takiego skompilowania programów, by utworzony został kod wynikowy dla procesorów i860. Razem z QuadPuterem dostarczane jest niezbędne oprogramowanie w postaci kompilatorów NDP Fortranu-860, C/C++ lub Pascala działających na PC, generujących taki właśnie kod. Operacje na tych procesorach wykonywane są pod kontrolą jądra własnego systemu operacyjnego, które działa na każdej z tych kart. Może to być OS860, system jednowątkowy; wówczas jesteśmy w stanie pracować w architekturze SPMD (Single Program Multiple Data), czyli jeden wspólny program, a różne dane dla wszystkich procesorów. Wielozadaniowość z wywłaszczaniem zapewnia jądro MAX860.

Wykonywane procesy porozumiewają się za pomocą przekazywania komunikatów, jest to zresztą tutaj zasadniczy mechanizm synchronizacji. Zadania obliczeniowe mogą być kolejkowane. Będą one wówczas wykonywane jedno po drugim przez aktualnie wolne procesory i860. Możliwa jest też praca w trybie wsadowym: np. pod Unixem zadania obliczeniowe kieruje się do tych kart analogicznie jak pliki do drukarki, poprzez swego rodzaju spooler (program buforujący). QuadPuter współpracuje z macierzystym komputerem jedynie poprzez obustronne przekazywanie danych przez pamięć główną i wysyłanie przerwań.

Dodatkowo do tworzenia programów pod i860 dostępna jest szeroka gama różnorodnych narzędzi programistycznych, takich jak GREX (biblioteka procedur graficznych), VAST II (nakładka do zrównoleglenia kodu w Fortranie) i wiele innych.

Ile to jest warte

Wieloprocesorowe komputery Microwaya charakteryzują się bardzo korzystnym stosunkiem możliwości do ceny. Zwyczajne Pecety, nawet te wyposażone w Pentium, z zegarem 66 MHz, nie mogą się w żaden sposób z nimi równać w wykonywaniu operacji numerycznych. Jednak nie należy zbyt szybko popadać w entuzjazm, bo tak dobre rezultaty testów numerycznych zostały osiągnięte w specyficznych warunkach, a w codziennej pracy i normalnych zadaniach ten sprzęt z całą pewnością nie dorówna superkomputerom. Jednak cena jest na tyle atrakcyjna, a możliwości na tyle niezłe, że dla wszelkich zastosowań wymagających przeprowadzania skomplikowanych i długotrwałych obliczeń numerycznych stanowi doskonałe rozwiązanie. Droga jaką wybrał Microway jest odejściem w stronę architektur równoległych od panującego trendu stałego zwiększania prędkości i upakowania procesorów. Jego konstrukcje są ciekawe i nowatorskie, aczkolwiek ich wykorzystanie ogranicza się obecnie do dość wąskich zastosowań naukowych i inżynierskich.


IBM Think Digital Summit Poland, 16-17 września 2020
TOP 200