Komputery

IBM pracuje nad komputerem o 67.1 milionach rdzeni

przeczytasz w 0 min.

Zdajmy się na naukowców IBMa. Myślą na wielką skalę, naprawdę wielką. Większą niż można sobie wyobrazić. W sieci pojawił się dokument prezentujący prace firmy IBM nad systemem obliczeniowym, na którym „można uruchomić cały internet jako aplikację.” Ten gigantyczny system oparty jest na trochę przerobionej wersji superkomputera IBM Blue Gene, który zdobył uwielbienie tłumu kochającego olbrzymią moc obliczeniową. Naukowcy z IBMa zaproponowali nawet dostosowanie możliwości systemów Blue Gene do najbardziej popularnych obecnie aplikacji takich jak Linux, Apache, MySQL i Ruby on Rails.

Dokumentacja IBM-a słusznie wskazuje, że oba systemy SMP (symmetric multi-processing) i klastry pokazują swoje zalety podczas wykonywania bardzo wymagających obliczeń. Jednak w ostatnim czasie, większość organizacji, które przetwarzają olbrzymie projekty wybierała klastry, które zapewniają konkretne ekonomiczne zalety. Klienci mogą kupować za stosunkowo niewielkie pieniądze sprzęt ogólnego zastosowania, a także składniki sieciowe i łączyć je w systemy, które oferują równie potężną moc obliczeniową co maszyny SMP lub nawet je przewyższają.

Sun Microsystems, Amazon.com, Google i Microsoft są przykładem tylko niektórych firm, które dzięki klastrom oferują swoim klientom oprogramowanie, możliwości przetwarzania danych i miejsce do ich przechowywania. Klienci wprowadzają dane do większych systemów, które w miarę potrzeb mogą rozrastać się za sprawą nowej, na bieżąco dołączanej, infrastruktury komputerowej.

Jednak taka technika postępowania ma również swoje wady. Przede wszystkim problem stanowi tu ilość miejsca i energii jaka jest potrzebna do stworzenia i zasilania kastrów. Dlatego też IBM chce zaangażować skrzynki Blue Gene do obsługi oprogramowania internetowego, co, jak wierzą, pozwoli na uruchamianie wielu aplikacji na jednym zestawie i obniży koszty w stosunku do klastra.

„Podejrzewamy, że w przypadku największych porcji obliczeń jakie wymagane są przez internet, platforma Blue Gene/P jest o wiele bardziej wydajna i tańsza niż obecnie wykorzystywane klastry,” poinformowali inżynierowie IBM-a.

IBM rozpoczął badania nad nowymi typami aplikacjami w ramach projektu o kodowej nazwie „Kittyhawk”. Aby porównać wydajność Blue Gene z obecnymi klastrami, przeprowadzono testy między innymi SpecJBB służące do sprawdzania wydajności oprogramowania Java i LAMP (Linux Apache MySQL Perl/Phython). Okazało się, że możliwości Blue Gene są bardzo porównywalne do klastrów.

Unikalny projekt Blue Gene IBMa wywołał spore zainteresowanie wśród wielu laboratoriów na całym świecie. Tak naprawdę, cztery z dziesięciu najszybszych komputerów na świecie oparte są właśnie na architekturze Blue Gene, w tym najszybszy obecnie komputer Blue Gene/L znajdujący się w Lawrence National Laboratory.

Starszy system Blue Gene/P składa się z setek tysięcy niskonapięciowych rdzeni połączonych w jednym wielkim pudle. Typowa konfiguracja zawiera cztery rdzenie PowerPC taktowane z częstotliwością 850MHz połączone w system w obrębie jednego układu, w który wbudowano kontrolery pamięci i łączności. Na jednej karcie można zainstalować 32 takie systemy. Następnie 16 takich kart można umieścić w midpalinie. Każda ramka serwera wyposażona jest w dwa midpaliny, co w sumie daje 1024 systemy i 2TB pamięci. Teoretycznie możliwe jest podłączenie maksymalnie 16 384 ramek, dzięki czemu można uzyskać 67.1 miliona rdzeni i 32PB pamięci. Na takim sprzęcie na pewno każda faktura w firmie zostanie obliczona migiem.

Każda ramka może pochwalić się przepustowością na poziomie 640GB/s, co sprawia, że cały system dysponuje teoretyczną przepustowością wynoszącą 10.4Pb/s.

Architektura Blue Gene pozwala IBMowi na zastosowanie tak zwanego „hybrydowego” podejścia do tematu. Jak podają inżynierowie, dzięki niej mogą oni skorzystać z tego co jest najlepsze w świecie maszyn klastrowych i SMP, czyli architekturze wieloprocesorowości symetrycznej.

„Kluczowe jest to, że same systemy wraz z procesorami, pamięciami i zewnętrznymi IO można traktować w większości przypadków jako komputery generalnego zastosowania,” napisali inżynierowie. „Jedynym ważnym wyjątkiem od tej reguły jest fakt, że rdzenie zostały rozbudowane o poszerzoną jednostkę odpowiedzialną za operacje zmiennoprzecinkowe, która pozwala na wykonywanie superobliczeń.”

Tak więc mamy tu do czynienia z systemami bardzo podobnymi do pojedynczych skrzynek x86, z których buduje się większość klastrów. Co więcej, unikalny projekt systemów Blue Gene oparty na niskonapięciowych rdzeniach pozwala IBMowi na produkcję bardziej stabilnych komputerów niż ma to miejsce w przypadku standardowych maszyn tworzących klastry, które niestety są przynajmniej dwukrotnie bardziej zawodne.

Póki co, systemy Blue Gene IBMa, które oczywiście mogą działać na niewyobrażalną skalę, były nastawione na wykonywanie pojedynczych zadań. Takie zadania dla tych superkomputerów odchodzą jednak powoli w przeszłość.

Teraz celem inżynierów IBMa, jest… uruchomienie na Blue Gene całego internetu. Do tego jednak będą potrzebne jeszcze spore udoskonalenia. Aby tego dokonać, inżynierowie zaprezentowali oprogramowanie, dzięki któremu superkomputer jest w stanie dzielić zadania programowe. Zastosowali oni również namierzalne narzędzia administracyjne, zaawansowane sprawdzanie błędów i oprogramowanie do uruchamiania aplikacji w sieci.

Zainteresowani na pewno namierzą w sieci dokumenty szczegółowo opisujące projekt, ale podsumujemy go pisząc, że IBM bardzo intensywnie wykorzysta mikrokernel Linuxa, oparte na sieci zarządzanie, narzędzia programowe i podejście typu „bezstanowego”.

Po przeanalizowaniu wyników przykładowych zadań, ekipa IBMa jest bardzo zadowolona z poczynań nowego superkomputera.

Jak czytamy w raporcie, inżynierowie eksperymentowali z aplikacjami Web 2.0, które z reguły tworzone są dzięki LAMP, czyli oprogramowaniu Linux, Apache, MySQL i PHP. Umieścili logikę PHP i webserwer Apache w 20MB narzędziu. Dzięki odseparowaniu bazy danych od pozostałych aplikacji systemy rdzeni pozostały bezstanowe. Warto zauważyć, że gdy zostaną poniesione koszty związane z równoległym podziałem obliczeń, wydajność poszczególnych systemów rdzeni nie ma znaczenia w porównaniu do całkowitej wydajności systemu.

W związku z tym, że programiści sieciowi zmuszeni są do rozdzielania swoich programów, porcje obliczeń mogą z powodzeniem zostać przetworzone za pomocą bardzo wydajnych maszyn takich jak Blue Gene. Takie rozwiązanie jest również bardzo ważne dla firm internetowych, które nagle zyskują olbrzymią popularność i potrzebują szybko zwiększyć swoje zasoby. Takie skalowanie możliwości jest raczej trudne w przypadku normalnych systemów i wymaga czasami całych tygodni zanim w ramach integracji systemów wprowadzi się kolejne jednostki obliczeniowe. Dla porównania, ramka składająca się z 1024 systemów rdzeni jest traktowana w fazie produkcyjnej jako pojedynczy system.

Naukowcy w swoich pomiarach wykorzystali także SPECjbb2005, czyli program testujący Javę, który mierzy liczbę operacji jaką jest w stanie utrzymać system. Program ten wyposażony jest także w tryb JVM (Wirtualnych Maszyn Java) dzięki czemu jest w stanie testować nieskalowalne JVMy. Inżynierowie skorzystali z tego trybu i byli w stanie podzielić materiał pomiędzy 256 systemów rdzeni Blue Gene dzięki narzędziu, które bardzo przejrzyście informuje o każdorazowym dostępie dowolnego użytkownika do sieci i systemu plików.

Udało się uruchomić program testujący na 256 systemach rdzeni i osiągnąć wynik równy 9565 Business Operations per second, czyli BOPS. W sumie uzyskano 2.4 miliona BOPS. Niestety nie byli oni w stanie przedstawić wyników prac na tym etapie, ponieważ zasady oprogramowania testującego wymagają użycia SOSI (single operating system image). Jednak początkowe testy wykazują olbrzymi potencjał Blue Gene/P jako platformy przeznaczonej do przetwarzania obszernych porcji danych.

Czy zatem przyszłość jest niebieska? Wszystko to brzmi świetnie, ale rzeczywistość jest trochę inna. Przede wszystkim dlatego, że IBM polega na układach PowerPC. Wprawdzie na takich procesorach można uruchamiać Linuxa, ale ilu z programistów piszących oprogramowanie open source będzie tworzyć kod dla architektury Power?

IBM oferuje obecnie narzędzia pozwalające na przeniesienie kodu Linux/x86 do Power, ale wiąże się to z pewnymi kompromisami. A jak wiadomo kompromisy na linii wydajności nie sprawdzają się na większą skalę.

Co więcej, PowerPC po prostu walczy z rynkiem x86. Mając właśnie to na uwadze, IBM zaprezentował nowe podejście do przetwarzania danych i problemu olbrzymich porcji obliczeń. Pokazał także rywalom na rynku na razie mgliste, ale wyraźne intencje rozwiązania tych problemów dzięki systemom, które wciąż wymagają niewyobrażalnych inwestycji i talentów.

Mimo wszystko wydaje się, że IBM i jemu podobni podążają właściwym tropem badając hybrydowe modele, które stawiają przede wszystkim na niskonapięciowe układy i zwartą budowę przypominającą symetryczną wieloprocesorowość. Możliwe, że już za kilka lat będziemy śmiać się spoglądając na projekty klastrów.

Komentarze

0
Zaloguj się, aby skomentować
avatar
Komentowanie dostępne jest tylko dla zarejestrowanych użytkowników serwisu.

    Nie dodano jeszcze komentarzy. Bądź pierwszy!