211service.com
Fajniejsze superkomputery
Dzięki postępowi w szybkości symulacji superkomputerów, skomplikowane zjawiska, takie jak systemy pogodowe, fałdowanie białek i wybuchy jądrowe, stają się łatwiejsze do modelowania i zrozumienia. Ale tylko niewielka część tego przyspieszenia wynika z szybszych procesorów. Zamiast tego najczęstszym sposobem na osiągnięcie mocy superkomputerowych jest łączenie setek lub tysięcy oddzielnych maszyn w klastry. Połączony w jarzmo, taki klaster będzie współdzielić jedną pamięć i może równolegle przeprowadzać ogromne symulacje, dzieląc pracę na wiele małych części.
Jednak nawet to podejście ma swoje ograniczenia. Po pierwsze, im większa pamięć, tym większe prawdopodobieństwo, że niektóre jej części ulegną awarii podczas obliczeń. Ponadto im więcej maszyn jest zmontowanych w klaster, tym więcej wytwarzają ciepła. Rzeczywiście, w niektórych dużych centrach obliczeniowych systemy wentylacji i klimatyzacji, wentylatory i systemy chłodzenia cieczą są mocno naciskane, aby zapobiec przegrzaniu maszyn.
Mountain View, firma Silicon Graphics z siedzibą w Kalifornii, znana również jako SGI, buduje jedne z największych na świecie klastrów superkomputerowych. Czwartym najszybszym na świecie jest na przykład system Columbia, który SGI zbudował dla NASA Ames Research Center w 2004 roku. Columbia obejmuje 20 superklastrów SGI Altix, każdy z 512 procesorami, co daje łącznie 10 240 procesorów, które współdzielą 20 -terabajt pamięci. Chłodzenie tego molocha (które NASA wykorzystuje do modelowania problemów związanych z dużymi ilościami danych, takich jak zmiany klimatu, burze magnetyczne i projekty samolotów naddźwiękowych) jest obecnie bardzo mało zaawansowane technologicznie: odbywa się to głównie poprzez dmuchanie powietrzem przez procesory na wysokich obrotach. prędkość.
Eng Lim Goh, informatyk i dyrektor techniczny w SGI, mówi, że jeden z administratorów NASA powiedział mu: „Wydałem miliony dolarów na twój superkomputer tylko po to, abyśmy mogli przeprowadzić symulacje, które zastąpią nasz tunel aerodynamiczny – a ty dałeś nam nowy tunel aerodynamiczny .
Goh jest teraz liderem Projekt Ultrafiolet , wysiłek firmy SGI na rzecz rozwoju supergromad nowej generacji. Chipy, które SGI projektuje dla ultrafioletu, będą uruchamiać aplikacje szybciej, a jednocześnie zużywają mniej energii elektrycznej i wytwarzają mniej ciepła. Technology Review przeprowadził wywiad z Gohem na temat projektu 2 lutego.
Przegląd technologii: Jakie są cele Projektu Ultraviolet?
Eng Lim Goh: Ultrafiolet to miejsce, w którym spędzałem 80 procent mojego czasu przez ostatnie trzy lata, mając na celu dostarczenie systemu do końca tej dekady. Budujemy ASIC [układy scalone specyficzne dla aplikacji], aby przyspieszyć niektóre funkcje pamięci i sprawić, by aplikacje działały chłodniej; a te mają długi cykl rozwoju, zwykle dwa i pół roku.
Zaczęliśmy od tego, co mamy – w zasadzie systemu zdolnego do ogromnej pamięci. Budujemy ogromne systemy, zarządzając nawet 512 procesorami współdzielącymi nawet kilkadziesiąt terabajtów pamięci. Zaletą takich systemów jest to, że można ładować do pamięci ogromne bazy danych bez dziesięciokrotnego spowolnienia, gdy trzeba pobrać dane z dysku. Chcesz mieć możliwość przechowywania wszystkich danych w pamięci i szybkiego zipowania, co jest ważne dla zaawansowanych analiz biznesowych i inteligencji.
Nasze układy ASIC mieszczą się poniżej procesora [Intel] Itanium, z pamięcią poniżej każdego z nich i komunikują się ze sobą, aby dać wirtualny, pojedynczy widok całej pamięci dla użytkownika i systemu operacyjnego. Dbamy o to, aby korzystać z tej niedrogiej, gotowej pamięci. Jednak wraz z tym przyszła niezawodność z półki. Tak więc w ultrafiolecie wprowadzamy funkcje zwiększające niezawodność pamięci. Na przykład w naszym chipsecie znajdują się inteligentne agenty, które mogą szorować nieużywaną pamięć, aby zmusić części, które miały się nie udać, podczas procesu czyszczenia, a nie procesu aplikacji. Agenci szybko zwalniają tę pamięć, podobnie jak uszkodzony dysk.
TR: Niektóre z tego, co robisz, kiedy mówisz o agentach, brzmi jak to, co IBM nazywa przetwarzaniem autonomicznym.
ŁOŚ: Ludzie używają różnych nazw, aby komputery były bardziej samouzdrawiające. Zastanawialiśmy się, czy powinniśmy użyć pamięci autonomicznej, czy systemów samonaprawiających się, takich jak IBM i inni dostawcy. Ale trochę się zaniepokoiliśmy, ponieważ to stawia naprawdę wysokie oczekiwania.
TR: A co z problemem ciepła? Zakładam, że systemy, które ludzie zbudują przy użyciu systemów nowej generacji, będą miały nawet więcej niż 512 procesorów, wszystko w jednym pomieszczeniu, wydzielając ogromne ilości ciepła.
ŁOŚ: Możemy wyrzucić ciepło ze stojaków za pomocą szybszych wentylatorów, ale wtedy pomieszczenie komputerowe staje się bardzo trudne do schłodzenia. Jedynym sposobem radzenia sobie z większą ilością ciepła jest szybsze przemieszczanie ciepła. Są sale komputerowe, w których, gdy otworzysz deskę podłogową, powiedzą ci „Nie wkładaj tam stopy”, ponieważ powietrze tam na dole porusza się z prędkością 100 kilometrów na godzinę.
Inną częścią tego, co chcemy zbadać w ultrafiolecie, jest to, jak zmniejszyć to ciepło i jak radzić sobie z aplikacjami, które nie skalują się [to znaczy nie działają tak szybko, jak oczekiwano, gdy działają równolegle na większej liczbie procesorów]. Te dwa są ze sobą powiązane. Załóżmy, że aplikacja działa przez 100 sekund na jednym procesorze. I powiedzmy, że na 100 procesorach działa dziesięć razy szybciej – działa przez 10 sekund. To wielka poprawa — ale aby to osiągnąć, używasz 100 razy więcej procesorów. W związku z tym jesteś tylko 10 procent wydajny; aplikacja zużywa dziesięć razy więcej energii i wydziela dziesięć razy więcej ciepła niż to konieczne.
TR: Jak więc sprawić, by aplikacje działały fajniej?
ŁOŚ: Jedną dużą częścią jest sposób, w jaki rozkładamy problemy na kawałki i sposób, w jaki przydzielamy je procesorom. Przeprowadziliśmy analizę około 50 aplikacji klientów, aby zobaczyć, co dzieje się z tymi aplikacjami, gdy działają one równolegle. Zidentyfikowaliśmy cztery lub pięć głównych obszarów.
Jednym z nich jest opóźnienie komunikacji [opóźnienia]. Problem polega na tym, że większość aplikacji wymaga ciągłej synchronizacji, aby upewnić się, że każdy proces jest gotowy przed kolejnym krokiem obliczeń. Ta synchronizacja zajmuje dużo czasu. To tak, jakby sześć osób próbowało stanąć w linii prostej – muszą się ze sobą sprawdzić. Przy 60, 600 lub 6000 osobach dotarcie do linii prostej zajmuje wykładniczo więcej czasu.
Drugim po opóźnieniu jest kwestia przepustowości komunikacji. Czasami chcesz przesłać dużo danych, a grubość połączenia między procesorami zadecyduje, ile czasu zajmie przejście tej ogromnej porcji danych. Jeśli czekasz, nie liczysz. To kolejny obszar, w którym spada wydajność.
Trzeci obszar to nierównowaga obciążenia, która jest ogromnym problemem. Załóżmy, że chcesz modelować pogodę w Twojej okolicy. Zakładasz, że objętość powietrza w twojej okolicy to ogromny sześcian i dzielisz go na osiem podkostek i rozdzielasz je do różnych procesorów. W dniu, w którym pogoda jest jednorodna na wielkim sześcianie, obciążenie tych procesorów może być zrównoważone; ale jeśli w jednej z podkostek występują lokalne turbulencje, będą procesory, które będą czekały, podczas gdy inne procesory kończą.
Czwarty obszar to sytuacja, w której aplikacja potrzebuje fragmentu danych, a dane te nie znajdują się w pamięci podręcznej procesora i muszą przejść do pamięci. Kiedy wychodzi do pamięci, ma ogromny wpływ na opóźnienie.
To byłyby założenia konstrukcji ultrafioletowej [bardziej niezawodna pamięć, mniejsze opóźnienia komunikacji, większa przepustowość komunikacji, lepsze równoważenie obciążenia i mniejsze opóźnienia pamięci]. Załóżmy, że masz aplikację, która kończy pracę na 128 procesorach, ponieważ ogranicza opóźnienia w komunikacji. Ten projektowany przez nas układ drastycznie zmniejszy opóźnienia, co pozwoli teraz tej aplikacji działać na większej liczbie procesorów. Lub, jeśli nadal używasz tej samej aplikacji na 128 procesorach, powinieneś działać lepiej i wytwarzać mniej ciepła.
Podpis do zdjęcia na stronie głównej: Widok z góry: Mosty łączą węzły 20-węzłowego superkomputera SGI Altix znajdującego się w ośrodku NASA Advanced Supercomputing.
Zdjęcie na stronie głównej dzięki uprzejmości NASA Ames Research Center/Tom Trower