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.

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
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.
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.
Przy pracy strumieniowej - rzeczywiście.
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!
Hmmm... najbardziej złożony VLIW w historii czyli pierwsze Itanium, miał tych faz siedem. W TILE podejrzewam cztery, co najwyżej pięć..
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".
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.
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
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
To tak samo jak ja skończmy więc wreszcie tą żałosną teoretyzacje..
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
dobrze trzeba wymyslac nowe
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ą.
dobrze trzeba wymyslac nowe
Łą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.
Nie pisz takich komentarzy, serio, psujesz sobie opinię.