Domowe komputery służą nie tylko do przeglądania internetu i wysyłania poczty. Coraz częściej są zaprzęgane do zadań wymagających znacznej mocy obliczeniowej. Do tego typu zastosowań należy m.in. dekodowanie filmów zapisanych w wysokiej rozdzielczości Full HD (1920x1080 pikseli) czy obsługa najnowszych gier. Z takimi zadaniami nie mogły się mierzyć superkomputery sprzed 10–15 lat. A to dopiero przedsmak tego, co nas czeka w przyszłości.
Przetwarzanie danych multimedialnych czy generowanie scen w grach w czasie rzeczywistym będzie wymagało coraz większych mocy obliczeniowych oraz takich szyn systemowych, pamięci RAM, dysków twardych i innych nośników danych, które poradzą sobie z tysiącami megabajtów przepływających przez procesor. Jak sprostać tym potrzebom, zastanawiają się inżynierowie pracujący nad przyszłymi procesorami, platformami systemowymi, a nawet programiści tworzący podstawy nowych rozwiązań software’owych, które będą wykorzystywały coraz szybszy i bardziej efektywny sprzęt. Firma Intel powołała nawet do życia program Intel Tera-scale Computing Research Program.
Co oznacza Tera-scale
Głównym założeniem programu Intel Tera-scale jest opracowanie podstaw technologicznych pod przyszłe produkty, zarówno sprzętowe, jak i programowe, które poradzą sobie z przetwarzaniem ogromnych ilości danych w czasie rzeczywistym. Projekt Tera-scale skupia się m.in. na projektowaniu interfejsów komunikacyjnych, magistral systemowych, kontrolerów, nowych typów pamięci, mikroarchitektury procesorów, ale też oprogramowania, które może być wykorzystywane w przyszłości do przetwarzania danych multimedialnych. Sprzęt i aplikacje powstałe w programie Tera-scale mają dysponować mocą obliczeniową liczoną w teraflopsach (bilionach flopsów, czyli 1012 operacji na sekundę), które w umiarkowanym czasie poradzą sobie z terabajtami danych – stąd nazwa programu Tera-scale.
W projekcie Tera-scale występują trzy główne nurty prac. Pierwszy dotyczy badań nad zaawansowanymi wielordzeniowymi procesorami. Drugi obejmuje prace nad rozwojem platformy systemowej, w tym interfejsów komunikacyjnych i nowych typów pamięci RAM. Trzeci nurt jest związany z oprogramowaniem.
80-rdzeniowe monstrum
Najbardziej spektakularnym dokonaniem programu Tera-scale jest pokazywany m.in. na ostatnim forum technologicznym Intel Developer Forum (IDF) w San Francisco
80-rdzeniowy procesor o nazwie kodowej Polaris. Maksymalna moc obliczeniowa tego układu wynosi 2 teraflopsy. Dla porównania, najpotężniejszy obecnie na świecie superkomputer IBM Blue Gene/P, składający się z 294 912 procesorów, ma moc obliczeniową rzędu 1 petaflopsa (biliard, czyli 1x1015 operacji na sekundę), a jego poprzednik BlueGene/L miał wydajność 367 teraflopsów.
Polaris jest zbudowany ze 100 milionów tranzystorów. Kość zajmuje powierzchnię 275 mm2, czyli mniej więcej tyle, ile dwa wykonane w procesie technologicznym 65 nanometrów dwurdzeniowe procesory Core 2 Duo (143 mm2). Standardowo układ jest taktowany z częstotliwością 3,16 GHz, pobiera 62 W
energii i wykonuje 1,01 biliona operacji na sekundę. Po zwiększeniu prędkości pracy do 6,26 GHz zapotrzebowanie na moc wzrasta do 150 watów, a wydajność układu wynosi dokładnie dwa teraflopsy. Przy takiej prędkości pracy układ potrzebuje już solidnego chłodzenia wodnego. Niemniej przy standardowych parametrach działania wystarcza mu zwykłe chłodzenie, podobne do tego, jakie znamy z naszych pecetów.
Architektura Polarisa
Konstrukcja procesora jest nietypowa. Każdy z 80 rdzeni został podzielony na 12 niezależnych części, które można w razie potrzeby wyłączyć, jeśli dany moduł nie jest wykorzystywany. Zabieg ten ma na celu zmniejszenie zużycia energii. Kolejną ciekawostką jest sposób komunikacji między rdzeniami. Wymieniają one między sobą informacje za pośrednictwem specjalnych routerów, tak samo jak w sieci lokalnej LAN. Szybkość wymiany danych w tej „procesorowej” sieci wynosi 32 GB/s. Wbudowane w rdzenie routery komunikacyjne umożliwiają swobodne kierowanie przepływem danych i przekazywaniem obliczeń z jednego rdzenia do drugiego. Taka konstrukcja pozwala na efektywne zarządzanie mocą obliczeniową – gdy jest jednocześnie wykonywanych kilka lub kilkanaście zadań, w zależności od obciążenia można łatwo wykorzystać poszczególne rdzenie do wykonywania jednych bądź drugich obliczeń. Od routerów zależy też komunikacja z umieszczonymi bezpośrednio nad nimi modułami pamięci.
Krzemowy moduł (niczym nieosłonięty krzem), zawierający tranzystory z pamięcią RAM, jest montowany bezpośrednio na strukturze krzemowej procesora. Ta przełomowa technologia produkcji układów półprzewodnikowych (nazwana 3D Die Stacking) powoduje, że działają one znacznie szybciej. Sygnał ma do przebycia krótszą drogę. Przepływa w pionie i ma do pokonania ułamki milimetra, a nie drogę rzędu centymetrów, jak na płaskiej strukturze. Układy zajmują poza tym znacznie mniej miejsca.
Przy okazji projektowania Polarisa okazało się, że nie opłaca się produkować układów o tradycyjnej architekturze z liczbą rdzeni większą niż szesnaście. Większa ich liczba bowiem nie powoduje już liniowego wzrostu wydajności. Jest to spowodowane występującymi wówczas zatorami komunikacyjnymi, i to właśnie dlatego na potrzeby 80-rdzeniowego Polarisa opracowano wewnętrzną sieć routerów.