Oczywiście układ SCC jest obecnie procesorem w całości eksperymentalnym. Nie ma wyśrubowanej wydajności – rdzenie pracują z częstotliwością 533 MHz, routery z szybkością 800 MHz, a pamięć DDR3 z prędkością 800 MHz. Ze względu na prostą architekturę, wybrano też do projektu leciwe już rdzenie procesorów Pentium, gdyż właśnie nie o wydajność tu chodziło, ale sprawdzenie w praktyce możliwości współpracy wielu standardowych rdzeni procesorowych. W przyszłości będzie możliwe np. zastąpienie jąder Pentium jądrami Core i7. Obecny układ SCC ma 48 rdzeni, w tej architekturze możliwe jest jednak połączenie ze sobą 100 czy nawet 1000 rdzeni. Jak zatem konstruktorom Intela udało się rozwiązać problem spójności danych, możliwość projektowania procesorów wielordzeniowych o więcej niż kilkunastu jądrach?
Po prostu zrezygnowano z uzyskiwania spójności danych, wykorzystując model pamięci wirtualnej oraz model oparty na protokole komunikacyjnym MPI (Message Passing Interface, z ang. interfejs transmisji wiadomości/komunikatów), tak jak ma to miejsce w klastrach komputerowych. Trudno więc mówić o spójności danych, gdyż pamięć operacyjna klastra jest rozproszona między poszczególne komputery – dokładnie tak, jak fizycznie, w sprzęcie. Dlatego jeden z komputerów jest komputerem nadrzędnym (tzw. węzeł-serwer) i to on za pośrednictwem protokołu MPI, który służy do przesyłania komunikatów pomiędzy procesami programów równoległych działających na kilku komputerach, rozdziela zadania i dane między pozostałe komputery (węzły-klienty). Węzeł-serwer kontroluje cały klaster i udostępnia pliki klientom. Pełni on także funkcję konsoli dla całego klastra i to przez niego przechodzą wszystkie informacje "z zewnętrznego świata".
W klastrach wykorzystuje się również pamięć wspólną. Obraz pamięci operacyjnej jest w nim widziany przez każdy komputer jako całość, czyli mamy do czynienia z tzw. ciągłą przestrzenią adresową. Oczywiście ta ciągła przestrzeń adresowa ma się nijak do fizycznego rozmieszczenia pamięci RAM, dlatego w klastrach stosuje się oprogramowanie ukrywające fizyczne rozproszenie pamięci. W ten sposób powstaje środowisko określane jako wirtualna (Virtual Shared Memory) lub rozproszona pamięć wspólna DSM (Distributed Shared Memory). Pamięcią wirtualną w klastrach też zarządza węzeł-serwer.
Krzemowa struktura procesora Intel Single-chip Cloud Computer (SCC)
Jak widać, w klastrach komputerowych bardzo ważna jest szybkość wymiany danych, która wpływa na ogólną wydajność systemu. Komunikacja odbywa się za pomocą przełączników lub routerów. Z tego modelu z zastosowaniem routerów komunikacyjnych też skorzystano w procesorze SCC. Intel określił tą architekturę nazwą RIB (Router Interface Block). Przepływność sieci routerowej w układzie Rock Creek wynosi 32 GB/s. Routery w kości SCC są sterowane programowo, przez co udało się osiągnąć dużą elastyczność w przekazywaniu zadań obliczeniowych z kafelka do kafelka oraz w dostępie do wirtualnej pamięci RAM, co jest szczególnie ważne, gdy jednocześnie przetwarzane są różnorodne zadania.
Zmiany w architekturze
Architektura procesorów wielordzeniowych będzie się w najbliższej przyszłości bardzo zmieniać. Najprawdopodobniej w czasie 4-5 lat w naszych domowych komputerach powoli zaczną pojawiać się wielordzeniowe procesory wywodzące się z architektury kart graficznych. Są one bowiem nie tylko łatwiejsze do zaprojektowania, ale również tańsze w produkcji i w zasadzie gotowe do wdrożenia. Układ taki jak SCC Intela raczej nie pojawi się na rynku szybciej niż za 10 lat. Problemem może być tutaj wyprodukowanie na jednej krzemowej płytce względnie taniego procesora zawierającego kilkanaście rdzeni. Co gorsza, jeśli uda się taką kość bez problemu wyprodukować, to mimo wszystko będzie ona wyjątkowo duża, co może stwarzać problemy z jej poprawnym zasilaniem i chłodzeniem.
Przeczytaj także: | ||
Intel WiDi - przesyła obraz bez kabli | OLED - ekrany przyszłości | Nvidia 3D Vision Surround - 3D na trzech monitorach |
Komentarze
81PS. A wszystkim polecam pobawić się z programowaniem CUDA - też daje do myślenia...
Ogółem poszerza horyzonty :-) POLECAM !!!
zgadnijcie kogo
Liczę na więcej publikacji tego typu , podnosi to prestiż BENCHMARKA .
Mam już dosyc głupawych recenzji typu "najlepszy,najpiękniejszy dla każdego tablet firmy XXX i w dodatku niedrogi ,tylko klawierki w nim brak , ale to nieistotny szczegół ".
Pozdro ALL.
Wnoszę o premię dla autora! Albo przynajmniej mu polejcie ;>
"...każdy z rdzeni jest w stanie przetwarzać do 128 wątków jednocześnie – po cztery watki na rdzeń..."
ale artykuł na 5 :D brawo dla autora.
Można?
Co do CUDA to należy pamiętać że te wszystkie CUDA to są tylko i wyłącznie koprocesory wspomagające obliczenia pewnego rodzaju.
Kiedyś CPU nie miały wbudowanej jednostki zmiennoprzecinkowej, obliczenia te były wykonywane przez osobny układ scalony zwany koprocesorem arytmetycznym.
ps.pozdrowienia dla autora
Takie tekst powinny być umieszczane zamiast recenzji laptopów, które zniechęcają do tego serwisu.
PS. Możnaby się pokusić o dalsze poszerzenie o informacje spoza stajni AMD i Intela:
>seryjnie produkowane najszybsze układy pracują z częstotliwością ok. 3,6–3,7 GHz (np. AMD Phenom II X4 980 Black Edition – 3,7 GHz, czy Intel Core i7 3820 pracujący standardowo z częstotliwością 3,6 GHz, a w trybie Turbo 3,9 GHz).
Dla przykładu:
IBM z10: 4.4 GHz
IBM z196: 5.2 GHz
IBM POWER6: 5.0 GHz
IBM POWER7: 4.25 GHz
Aż się łezka zakręciła jak pomyślę, że zaczynałem od 4,7 Mhz, a potem zrobiłem przesiadkę na znacznie szybszy 0,9 i 1,79 Mhz :))
Jedna mała dygresja co do komentarzy typy 100-200 GHz. Co innego jest częstotliwość pracy bramki czy tranzystora, a co innego procesora, proszę się tak nie zagalopowywać ^^
Pozdrawiam
Artykuł ciekawy.
http://www.google.com/patents?id=DjyeAAAAEBAJ&printsec=abstract&zoom=4#v=onepage&q&f=false
O kim z IBM mówisz?
Po za tym nie wiem skąd masz info, że SPU są pochodną PowerPC (http://sites.google.com/site/konsolki/sonyplaystation32 - tutaj pisze, że to całkiem inne rdzenie - widać to nawet na zdjęciach).
Rejestry są prawdopodobnie pochodną rejestrów Toshiby (SONY EE) ponieważ EmotionEngine posiadał także 128-bitowe rejestry, podobnie do Cell szynę (BUS) pomiędzy 2-ma jednostkami wektorowymi (http://www2.cs.ucy.ac.cy/~epl605/readings/00809374.pdf) taktowane połową częstotliwości rdzenia (podobnie jak Cell). Cell ma ich trochę więcej bo 128 rejestrów na rdzeń. Oczywiście trzeba było wszystko przekonstruować aby każda ze stron mogła wykorzystać procesor do swoich celów (Superkomputer, konsola, TV).
Opieram się głównie na wnioskach patentowych. Podejrzewam, że ten wniosek tak że ma podłoże w Cellu z 1998roku (opisuje połączenie dwóch CPU do dwóch różnych szyn [BUS]; zauważ Data Train 16B - dokładnie tyle ile leci z rdzenia w Cellu):
http://www.google.com/patents?id=8asIAAAAEBAJ&pg=PA3&dq=Data+transfer+method+and+device+yamamoto&source=gbs_selected_pages&cad=4#v=onepage&q&f=false
Odnośnik to tej publikacji można także znaleźć na stronie IBM.
Oczywiście nie stwierdzam wprost czegoś, zostawiam sobie margines błędu. Nie twierdze, że też nie masz ra
Jeśli wspomniałem o rejestrach to nie bez powodu. Pierwszym procesorem z 128-bit Multimedia Extesion był:
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=799870
Rejestr ma długość 128-bit i tyle każdy rdzeń SPU wysyła po EIB w jednym cyklu (768-bit/cykl; czyli np. do drugiego SPU które pracę może wstrzymać, pauzować, a nawet wznawiać). W EE każdy z dwóch Vector Unit (a były tam 2 sztuki) też wysyłał 128-bit po wewnętrznej szynie i też był rdzeń kontrolny. Chodzi mi tylko o podobieństwo działania.
Inną rzeczą jest (choć nie jestem żadnym ekspertem) to, że koncepcja jest tak naprawdę najważniejsza. Projektując BUS, czy też jakieś nietypowe połączenie (a EIB jet takim) musisz najpierw się zastanowić jak ma wyglądać operacja obliczeń, ich transportowania i przechowywania. Według ciebie gość sobie siada i wymyśla - OK to połączę z tym, to tak sobie narysuję i jakoś będzie działać?
Można budować system pod hardware lub hardware pod system.
Tak przynajmniej mi sie wydaje.
Pzdr.
Ten opis (wypunktowany z miejscu "Claims" i "Description" jest dość szczegółowy - ma łącznie 190 podpunktów):
http://www.freepatentsonline.com/y2002/0138637.html
Podobnie ten opis nie jest pozbawiony schematu jak ma wyglądać realizacja instrukcji:
http://www.google.com/patents?id=DjyeAAAAEBAJ&printsec=abstract&zoom=4#v=onepage&q&f=false
http://en.wikipedia.org/wiki/SpursEngine
Drugi przykład to najnowszy CPU Toshiby (3xARM+3GPU+Edram) wyposażony w pochodną SPU (co-processor):
http://nl.hardware.info/reviews/2081/5/toshiba-cevo-tvs-met-7-core-arm-processor-cevo-engine
Bardzo możliwe że PS4 będzie miało podobną budowę.
Poza tym co tak niesłychanego jest np. instrukcjach przekształcających macierz? Zwykła matematyka.
Znalazłem też wpis na jednym z forum (nie wiem czy prawdziwy - choć na temat architektury napisano książkę), w którym to można sie dowiedzieć że w koncepcji Toshiba chciała same SPE a IBM PPE. Kompromis był taki, że zrobiono PPE+SPE:
http://www.psu.com/forums/threads/2252-The-history-of-the-CELL?s=295fe5ad908ad50ef7bc616bfe049673
Polecam !