Procesory

48 procesorów Pentium

Wróćmy jednak do układu SCC, który znany jest też pod nazwą Rock Creek. Intel zaprezentował go po raz pierwszy w 2009 roku, a w połowie tego roku na konferencji [email protected] Day 2011 zobaczyć można było jego usprawnioną wersję. Zwiększono w niej m.in. pamięć cache L1 rdzeni z 8 KB do 16 KB oraz jej drożność – z dwudrożnej na czterodrożną, oraz poprawiono wykorzystywany przez routery, o których za chwilę, protokół wymiany informacji (ang. message passing protocol).

Układ SCC drugiej generacji
Układ SCC drugiej generacji

Układ SCC składa się z 24 dwurdzeniowych dobrze znanych procesorów Pentium (rdzeń P54C), a więc takich samych jak w projekcie Knights Ferry. Rdzeń klasy Pentium, pochodzący jeszcze z 1995 roku wybrano w projekcie SCC ze względu na prosta budowę. Dwurdzeniowy procesor Pentium tworzy jeden węzeł klastra, nazywanego tutaj kafelkiem (ang. tile). Każdy z procesorowych rdzeni ma własną 16-kilobajtową pamięć podręczną cache L1 i 256-kilobajtową pamięć L2. W kafelku znalazł się jeden wspólny dla obu rdzeni bufor wiadomości (16 KB) oraz jeden router zapewniający komunikację z pozostałymi dwurdzeniowymi kafelkami. Układ SCC wyposażony został w cztery kontrolery pamięci DDR3 (maksymalna pojemność to 64 GB), z których korzystają wszystkie rdzenie.

Budowa 48-rdzeniowego procesora Intel SCC
Budowa 48-rdzeniowego procesora Intel SCC (Single-chip Cloud Computer)

Architektura procesora Intel SCC
Architektura procesora Intel SCC

Kafelki połączone są ze sobą w większe grupy nazywane bankami. W wypadku kości SCC jest tych banków sześć – każdy złożony z czterech kafelków. Całość tworzy siatkę (ang. mesh), w której każdy z banków jest bezpośrednio połączony z innymi bankami w siatce. Dzięki takiej architekturze połączeń zwiększono przepustowość i niezawodność systemu. Dodatkowo zmniejszono również liczbę kolizji przesyłanych pakietów. Wynika to z tego, że dzięki niezależności połączeń sygnał może wędrować różnymi drogami, a obciążony bank może zostać po prostu ominięty.

Budowa kafelka w procesorze SCC
Budowa kafelka w procesorze SCC

Dzięki strukturze siatki złożonej z banków łatwiej jest też zarządzać dostarczaną do rdzeni energią elektryczną i rozkładem częstotliwości pracy dla poszczególnych układów. Każdy bank jest bowiem niezależnie zasilany i może być również sterowany własnym sygnałem zegarowym. Sterując dwoma parametrami można zatem dobrać optymalne warunki pracy i rozkładu temperatury układu. Na przykład dla mniej obciążonych części procesora SCC można zmniejszyć napięcie zasilania lub nawet całkowicie wyłączyć nieużywany bank, co wpływa na zmniejszenie zużycia energii i ilość wydzielanego ciepła, a pracujące "pełną parą" banki "podkręcić", podobnie jak w wypadku znanej z układów Core i3, i5 i i7 technologii Turbo Boost.

Ciekawostką jest, że w układzie SCC zastosowano mechanizm niezależnego taktowania zegarami o różnej częstotliwości także wewnątrz banków – dzięki temu każdy z kafelków może być taktowany niezależnie. Taki system zarządzania energii sprawia, że złożony z 48 rdzeni procesor Intel SCC pobiera zaledwie od 25 do 125 watów.

Podział wielordzeniowego procesora SCC na banki
Podział wielordzeniowego procesora SCC na banki

Podział procesora SCC na strefy
Podział procesora SCC na strefy, w których można regulować napięcie i i częstotliwość zegara

Istotne w konstrukcji układu SCC jest też to, że poszczególne kafelki mogą zajmować się zupełnie różnymi, niezależnymi od siebie zadaniami, a nawet na każdym z nich może być uruchomiony inny system operacyjny. Kafelki mogą być też dynamicznie przydzielane do różnych zadań. Na przykład jeżeli jakaś grupa rdzeni zajmuje się bardzo skomplikowanymi obliczeniami, a inne nie są aż tak bardzo obciążone, to można inaczej rozłożyć siły i do najtrudniejszego zadania przydzielić w razie potrzeby więcej rdzeni. Po wykonaniu zadania rdzenie mogą bez problemu zostać oddelegowane do kolejnych obliczeń, zgodnie z aktualnym zapotrzebowaniem na moc obliczeniową.