Karty graficzne

Tesla w superkomputerach

przeczytasz w 3 min.

Taka konstrukcja obliczeniowych układów Kepler pozwoliła na wykorzystanie akceleratorów obliczeniowych w budowie najszybszych obecnie na świecie superkomputerów. Oczywiście, akceleratory z serii Tesla były już wcześniej stosowane w budowie superkomputerów, niemniej teraz ich implementacja w architekturze superkomputerowej stała się po prostu łatwiejsza. Co ciekawe pierwszy superkomputer wykorzystujący do obliczeń akceleratory Tesla powstał już w 2008 roku (obecnie na świecie jest już 50 takich superkomputerów). Jest to japoński superkomputer TSUBAME będący hybrydowym klastrem składającym się z 655 serwerów Sun x4600 oraz 170 serwerów Tesla S1070. W momencie oddania do użytku w 2008 roku zajmował on 29 miejsce na liście TOP500 najszybszych komputerów świata.

W tym miejscu warto przypomnieć co to były serwery obliczeniowe Tesla S1070. Otóż w skład pierwszej edycji platformy Tesla z 2006 roku wchodził, oprócz akceleratorów obliczeniowych w formie kart rozszerzeń, również system Tesla S1070 1U, złożony z czterech układów Tesla T10P o łącznej mocy obliczeniowej 4 TFLOPS-ów. Tesla S1070 1U stanowił jedną niezależną całość montowaną w obudowie stelażowej 1U przeznaczonej do montażu w szafach rackowych. Urządzenie przeznaczone było do współpracy z większymi maszynami obliczeniowymi takimi jak superkomputery, obliczeniowe stacje robocze, klastry lub po prostu serwery. Komunikacja między Teslą a np. serwerem odbywa się tutaj bezpośrednio za pomocą interfejsu FiberChannel lub gigabitowego ethernetu. Podczas pracy, serwer przekazuje do systemu Tesla dane do obliczeń, a po ich wykonaniu otrzymuje gotowe wyniki. Dostęp do mocy obliczeniowej Nvidia Tesla S1070 uzyskuje się dzięki specjalnemu oprogramowaniu, które instaluje się na współpracującym z systemem Tesla komputerze. Obecnie firma Nvidia zaprzestała produkcji takich zewnętrznych modułów akceleratorowych, pozostawiając konstruowanie tego typu systemów w gestii firm zajmujących się dostarczaniem sprzętu do obliczeń HPC.

W 2010 roku powstał superkomputer Tianhe-1A, który również wykorzystuje procesory Tesla. Jego oddanie do użytku w National Supercomputing Center in Tianjin w Chinach było o tyle istotne, że był to pierwszy w historii superkomputer wykorzystujący do obliczeń architekturę integrującą tradycyjne procesory z rdzeniami GPU, który jednocześnie znalazł się na pierwszym miejscu na liście TOP500. Obecnie komputer ten zajmuje ósmą pozycję na tej liście. Superkomputer Tianhe-1A zbudowany został na bazie 7168 procesorów Nvidia Tesla M2050 oraz 14336 procesorów Intel Xeon X5670 2,93 GHz. Jego łączna moc obliczeniowa to 2,507 petaflopsa.

Obecnie pierwsze miejsce na liście TOP500 (ranking jest aktualizowany dwa razy w roku i prezentowany na dwóch konferencjach naukowych: w czerwcu na International Supercomputing Conference i w listopadzie na ACM/IEEE Supercomputing Conference) ogłoszonej w listopadzie 2012 zajmuje superkomputer XK7 o nazwie Titan, który zbudowany został przez firmę Cray. Maszyna ta składa się z 18 688 16-rdzeniowych procesorów AMD Opteron 6274 oraz 18 688 układów Tesla K20X. Łączna moc obliczeniowa znajdującego się w Oak Ridge National Laboratory w USA Titana to 17,59 petaflopsów. Co ciekawe, jest to pierwszy na świecie superkomputer wykorzystujący GPU, którego moc obliczeniowa przekroczyła 10 PFLOPS-ów. W tego typu systemach 80-90% obciążenia obliczeniowego przypada na jednostki GPU, zwykłe procesory odpowiadają przede wszystkim za przydzielanie zadań dla GPU.

Ciekawa jest historia Titana. Powstał on w wyniku dwuetapowej rozbudowy pracującego w Oak Ridge National Laboratory superkomputera Jaguar. Pierwszy etap tej łącznie kosztującej 97 milionów dolarów rozbudowy polegał na zastąpieniu w każdym z 18 688 węzłów systemu sześciordzeniowych procesorów AMD Opteron, których było po dwa na węźle przez procesory szesnastordzeniowe – po jednym na węzeł superkomputera (pojedynczy węzeł to po prostu przystosowany do pracy w klastrze serwer). Dzięki tej rozbudowie zwiększono liczbę rdzeni z 224 256 do 299 008. Podwojono też pojemność pamięci RAM z 300 do 600 TB. W pierwszym etapie do 960 węzłów dodano akceleratory Tesla M2090, tworząc prototypowy układ TitanDev. Posłużył on do przetestowania oprogramowania dla pełnej wersji Titana. Ta faza rozbudowy zwiększyła moc obliczeniową Jaguara z 2,3 do 3,3 PFLOPS-ów. Dalsza rozbudowa uzależniona już była od chwili, w której na rynku pojawią się docelowe dla budowy Titana, oraz notabene specjalnie dla niego zaprojektowane 2688 rdzeniowe układy Kepler – a więc karty Tesla K20X.

W drugiej fazie rozbudowy Jaguara każdy z 18 688 węzłów, które fizycznie były kasetowym serwerami Cray XT5 zastąpiono serwerami XK7, przenosząc do nich 16-rdzeniowe procesory oraz wyposażając każdy z nich w akceleratory obliczeniowe Tesla K20X. Dzięki temu Titan stał się pierwszym system zawierającym ponad 50 mln (dokładnie 50 233 344 rdzenie) obliczeniowych rdzeni CUDA. Superkomputer Titan zajmuje powierzchnię 404 m² i zużywa łącznie 8,2 MW mocy. Procesory Titana są chłodzone są w standardowy sposób powietrzem, niemniej powietrze to zanim trafi na radiatory układów schładzane jest uprzednio wodą do temperatury 5,5°C.