artykuły

TILE64 - 64 procesory za 435 dolarów

58
6 września 2007, 12:43 Ryszard Sobkowski
Dla większości Czytelników kilkudziesięciordzeniowe procesory stanowią obecnie raczej konstrukcje studialne, niż rzeczywiste rozwiązania użytkowe. Tymczasem w rzeczywistości torują one sobie drogę już od co najmniej dwóch lat, przeważnie z sukcesami, a w ich konstrukcjach zaczyna się pojawiać coraz więcej wspólnych elementów. Niedawno powstała firma Tilera Corporation zaprezentowała kilkanaście dni temu, na 19. konferencji Hot Chips, 64-rdzeniowy procesor TILE64, który wyraźnie ilustruje generalny trend, panujący obecnie w konstrukcji takich układów.

Spis treści

Kafelki oplecione siecią

Tak można, w krótkich słowach, opisać makroarchitekturę układu TILE64. Popatrzmy zresztą sami, jak to wygląda, może nie w naturze, a na schemacie blokowym.

64 rdzenie obliczeniowe połączone są ze sobą siecią typu mesh, która zapewnia im dostęp do pamięci RAM, a także z urządzeniami peryferyjnymi, których dość nietypowy charakter wyjaśnimy za chwilę. Na razie popatrzmy na to, co zawiera „kafelek”.

Pomijając chwilowo jednostki obliczeniowe i system cache, zauważmy element, który Tilera nazywa po prostu "switch", a który w rzeczywistości jest zaawansowanym routerem, dzięki któremu sieć mesh w pełni zasługuje na stosowaną wobec niej przez firmę Tilera nazwę iMesh – sieci inteligentnej. Coś nam to przypomina?

No właśnie! Bardzo podobną makroarchitekturę pamiętamy z intelowskiego układu Polaris, również jej podstawą jest inteligentna sieć. Jedyną praktyczną różnicę stanowi fakt, że w TILE64 nie występuje „piąty element” w postaci łącza skierowanego „do przyszłości”.

Dlaczego przywiązujemy taką wagę do „kafelkowo-sieciowej” makroarchitektury TILE64? Przede wszystkim dlatego, że zapewnia ona znacznie większą przepływność niż stosowana dotychczas w wielordzeniowych architekturach „procesorów do zadań specjalnych” architektura szynowa. Popatrzmy na przykład na obecny już od przeszło roku na rynku 96-rdzeniowy układ CSX600 Avebury, firmy ClearSpeed.

Zarówno sieć systemowa, jak i sieć peryferiów mają w nim strukturę szynową, której przepływność stanowi ewidentną barierę skalowalności liczby rdzeni obliczeniowych. Podobnie wygląda konstrukcja innych wielordzeniowych procesorów obecnych już na rynku, jak choćby układu Vega 2 firmy Azul Systems. Na tym tle rozwiązania takie jak iMesh firmy Tilera czy sieć zastosowana przez Intela w układzie Polaris stanowią ewidentny wyznacznik nowego, bardzo obiecującego trendu.

Strona:
ext2007.09.09, 12:39
CYTAT(rs @ 8 września 2007, 21:25) <{POST_SNAPBACK}>
W istocie, jak już napisałem wcześniej, przy pracy wyłącznie strumieniowej, wspomniane podsystemy nie są niezbędne. A skoki występują dość często!


Trochę w tym robię... skoki nie są właściwie warunkowe, a więc nie ma zbyt wielu nieprzewidzianych rozgałęzień kodu. Dajmy na to taką transformatę cosinusową stosowaną chociażby przy kompresji obrazu - czyste liniowe pętle, jeden skok warunkowy przy wyjściu z pętli... jeden na np. 2048 przebiegów pętli - do przeżycia smilies/wink.gif. Swoją drogą wymarzone wręcz zastosowanie dla procesorów multicore.

P.S.
Proszę poprawić przepływności interfejsów opisywanej w artykule karty - te 12 portów to 1 GigabitEth, sam (nieprogramowalny) 12-portowy switch 10GbE kosztowałby wielokrotność wspomnianych 435USD.
*Konto usunięte*2007.09.08, 21:25
CYTAT(ext @ 8 września 2007, 17:42) <{POST_SNAPBACK}>
Wg. producenta jest to procesor specjalizowany (networking & digital video - czyli przewalanie ogromnych ilości danych przez jednostki obliczeniowe

Chyba jasno to przedstawiłem - producent chce sprzedać, więc eksponuje zastosowanie sprawdzone i pewne, czyli potężny procesor sieciowy, a na okrasę zastosowanie aktualne i "modne" - kompresję H.264.
CYTAT
(w pierwszym przypadku stało- w drugim zmienno-przecinkowe) w dodatku zawsze przewalanie kolejnych danych i kolejnych rozkazów z cache)

Przy pracy strumieniowej - rzeczywiście.
CYTAT
Podejrzewam, że w innych zastosowaniach byłaby to straszna marność. W przypadku networking czy digital video można zapomnieć o czymś takim jak przewidywanie skoków, podsystemy dbające o spójność cache itp. itd. ... gdyż zastosowania te pozwalają na równoległe wykonywanie/obrabianie fragmentu całości.

W istocie, jak już napisałem wcześniej, przy pracy wyłącznie strumieniowej, wspomniane podsystemy nie są niezbędne. A skoki występują dość często!

CYTAT
Odpalony na takim CPU system operacyjny chodziłby porównywalnie do i386 SX 20MHz.
Ja bym obstawiał, że raczej jak Transmeta Crusoe I generacji.

CYTAT
Nie mamy też żadnych informacji dot. długości potoku wykonawczego dla każdego rdzenia (w założonych zastosowaniach nie istnieje coś takiego jak wycofywanie rozkazów z kolejki w przypadku gdy następuje skok, więc można podejrzewać, że jest koszmarnie dłuuugiii).

Hmmm... najbardziej złożony VLIW w historii czyli pierwsze Itanium, miał tych faz siedem. W TILE podejrzewam cztery, co najwyżej pięć..
CYTAT
Stworzenie n rdzeniowego procesora do specjalizowanych zastosowań nie jest wielką filozofią (ATi, nVidia, Broadcom, Altera, Xilinx...), stworzenie tych wszystkich wyszukanych mechanizmów towarzyszacych współczesnym i nadchodzącym procesorom ogólnego przeznaczenia (intel, amd) to już (naj)wyższa szkoła jazdy.

To ja dodam od siebie tylko tyle, że jeden z chyba wciąż liczących się na procesorowym rynku graczy, IBM, już jakiś czas temu (na oko ze dwa lata) zrezygnował z tych wszystkich "wyszukanych mechanizmów" i obecnie stosowane w wielu bardzo różnych układach IBM jądro pracuje w trybie "In Order Execution".

CYTAT
Inna sprawa, że general purpose CPU wyposażone w taki silnik do przelicznia strumieniowego byłby fajną zabawką.


Do "pomocniczej" strumieniówki wolałbym zdecydowanie coś ze stajni ATI czy NVIDII.

A w ogóle, to poprosiłem ich o trochę informacji dodatkowych - może coś przyślą w przyszłym tygodniu, będzie można zweryfikować poglądy.
anemusZobacz profil
Poziom ostrzeżenia: 0%
anemus2007.09.08, 20:50
Fajny koprocesor dla którego można znaleźć więcej zastosowań niż tylko networking & digital video. Wspomaganie grafiki i fizyki? Czemu nie w połączeniu z uniwersalnością CPU?
A tak swoją drogą to ciekawe co jest korzystniejsze: przewidywanie skoków czy po prostu obliczenie wszystkich możliwych wariantów na bardzo dużej ilości CPU smilies/wink.gif ?
DziubekR1Zobacz profil
Poziom ostrzeżenia: 0%
DziubekR12007.09.08, 20:07
Nareszcie sie doczekalem artykulu w starym, dobrym stylu.
xxxqqqcccZobacz profil
Poziom ostrzeżenia: 0%
xxxqqqccc2007.09.08, 19:12
CYTAT(max-bit @ 6 września 2007, 21:38) <{POST_SNAPBACK}>
ta karta 10 Ethernet to jakaś fikikacja
10 Gb Eternet ~ 1000MB/s PCIe x4 daje wąłsnie gdzieś taką przepustowość to jakim cudem to ma 10 takich gniazdek ?
Było by to rozsądne na zwykłym 1 GB ethernecie

No, widze że co niektórzy w 100% rozumieją do czego służy ta karta smilies/lol2.gif

CYTAT(Pan Adaś @ 7 września 2007, 09:36) <{POST_SNAPBACK}>
"Nie wiem czy zastosowane jednostki obliczeniowe nadają się do liczenia shaderów"

To tak samo jak ja skończmy więc wreszcie tą żałosną teoretyzacje..

CYTAT(ext @ 8 września 2007, 16:42) <{POST_SNAPBACK}>
Wg. producenta jest to procesor specjalizowany (networking & digital video - czyli przewalanie ogromnych ilości danych przez jednostki obliczeniowe (w pierwszym przypadku stało- w drugim zmienno-przecinkowe) w dodatku zawsze przewalanie kolejnych danych i kolejnych rozkazów z cache) podejrzewam, że w innych zastosowaniach byłaby to straszna marność. W przypadku networking czy digital video można zapomnieć o czymś takim jak przewidywanie skoków, podsystemy dbające o spójność cache itp. itd. ... gdyż zastosowania te pozwalają na równoległe wykonywanie/obrabianie fragmentu całości. Odpalony na takim CPU system operacyjny chodziłby porównywalnie do i386 SX 20MHz. Nie mamy też żadnych informacji dot. długości potoku wykonawczego dla każdego rdzenia (w założonych zastosowaniach nie istnieje coś takiego jak wycofywanie rozkazów z kolejki w przypadku gdy następuje skok, więc można podejrzewać, że jest koszmarnie dłuuugiii). Stworzenie n rdzeniowego procesora do specjalizowanych zastosowań nie jest wielką filozofią (ATi, nVidia, Broadcom, Altera, Xilinx...), stworzenie tych wszystkich wyszukanych mechanizmów towarzyszacych współczesnym i nadchodzącym procesorom ogólnego przeznaczenia (intel, amd) to już (naj)wyższa szkoła jazdy.
Inna sprawa, że general purpose CPU wyposażone w taki silnik do przelicznia strumieniowego byłby fajną zabawką.

Widze że kolega uderzył w sedno sprawy smilies/thumbup.gif smilies/thumbup.gif smilies/thumbup.gif
ext2007.09.08, 17:42
CYTAT(Lupierz @ 8 września 2007, 10:00) <{POST_SNAPBACK}>
Qrde ale to ma moc obliczeniowa porownywalna z 8800. Jakby z tego zrobic procesor, a jzu nie mowi ze powinno sie calkiem latwo klastrowac, to mozna by bylo bardzo fajne maszynki wieloprocesorowe zrobic. a jakby weszli na rynek tanich superkomputerow i wsadzili dajmy na to 6 takich to masz 2 TFlopy wydajnosci i mozesz sobei zrobic uniwersytecki server do badan... no coz
dobrze trzeba wymyslac nowe smilies/bigsmile.gif


Wg. producenta jest to procesor specjalizowany (networking & digital video - czyli przewalanie ogromnych ilości danych przez jednostki obliczeniowe (w pierwszym przypadku stało- w drugim zmienno-przecinkowe) w dodatku zawsze przewalanie kolejnych danych i kolejnych rozkazów z cache) podejrzewam, że w innych zastosowaniach byłaby to straszna marność. W przypadku networking czy digital video można zapomnieć o czymś takim jak przewidywanie skoków, podsystemy dbające o spójność cache itp. itd. ... gdyż zastosowania te pozwalają na równoległe wykonywanie/obrabianie fragmentu całości. Odpalony na takim CPU system operacyjny chodziłby porównywalnie do i386 SX 20MHz. Nie mamy też żadnych informacji dot. długości potoku wykonawczego dla każdego rdzenia (w założonych zastosowaniach nie istnieje coś takiego jak wycofywanie rozkazów z kolejki w przypadku gdy następuje skok, więc można podejrzewać, że jest koszmarnie dłuuugiii). Stworzenie n rdzeniowego procesora do specjalizowanych zastosowań nie jest wielką filozofią (ATi, nVidia, Broadcom, Altera, Xilinx...), stworzenie tych wszystkich wyszukanych mechanizmów towarzyszacych współczesnym i nadchodzącym procesorom ogólnego przeznaczenia (intel, amd) to już (naj)wyższa szkoła jazdy.
Inna sprawa, że general purpose CPU wyposażone w taki silnik do przelicznia strumieniowego byłby fajną zabawką.
LupierzZobacz profil
Poziom ostrzeżenia: 0%
Lupierz2007.09.08, 10:00
Qrde ale to ma moc obliczeniowa porownywalna z 8800. Jakby z tego zrobic procesor, a jzu nie mowi ze powinno sie calkiem latwo klastrowac, to mozna by bylo bardzo fajne maszynki wieloprocesorowe zrobic. a jakby weszli na rynek tanich superkomputerow i wsadzili dajmy na to 6 takich to masz 2 TFlopy wydajnosci i mozesz sobei zrobic uniwersytecki server do badan... no coz
dobrze trzeba wymyslac nowe smilies/bigsmile.gif
Pan AdaśZobacz profil
Poziom ostrzeżenia: 0%
Pan Adaś2007.09.08, 09:43
CYTAT(mas1o @ 8 września 2007, 09:37) <{POST_SNAPBACK}>
a ten Polaris jakie mial ten 5 element - lacze do przyszlosci? Co to bylo?


Łącze do pamięci która ma się znaleźć nad elementami logicznymi, kiedy Intel dopracuje technologie pozwalające na budowanie chipów z większej ilości warstw.
mas1oZobacz profil
Poziom ostrzeżenia: 0%
mas1o2007.09.08, 09:37
a ten Polaris jakie mial ten 5 element - lacze do przyszlosci? Co to bylo?
DaRkstaR2111Zobacz profil
Poziom ostrzeżenia: 0%
DaRkstaR21112007.09.07, 22:34
CYTAT(max-bit @ 6 września 2007, 23:01) <{POST_SNAPBACK}>
a widziales ty kiedys serwerowa karte sieciowa prucz swego wypasionego gigabitowego realteka ?


smilies/poke.gif

Nie pisz takich komentarzy, serio, psujesz sobie opinię.
Funkcja komentowania została wyłączona. Do dyskusji zapraszamy na forum.
1