r   e   k   l   a   m   a
r   e   k   l   a   m   a

VISC to tyle wirtualnych rdzeni w procesorze, ile akurat potrzeba

Strona główna AktualnościSPRZĘT

Producenci mikroprocesorów już od dawna nie pokazali nam niczego naprawdę przełomowego. Kolejne generacje CPU przynoszą wzrosty wydajności na poziomie kilkunastu procent (i to w najlepszym razie). Intel swoje sukcesy zawdzięcza przede wszystkim miniaturyzacji, AMD szuka szczęścia z heterogenicznymi architekturami APU – ale szału nie ma. Tak jak swój kres miał wyścig na gigaherce, tak i do kresu zbliża się wyścig na liczbę rdzeni i wątków. Tymczasem w tym trudnym dla branży okresie pojawia się nowy startup, obiecujący nową architekturę czipów o ogromnej skalowalności i wydajności.

Startup nazywa się SoftMachines – i do tej pory pozostawał całkowicie nieznany. Jednak stojący za nim inwestorzy swoją renomę mają. Jest wśród nich były wiceprezes Intela Albert Yu, pionier technik półprzewodnikowych Gordon Campbell, grupa Mubadala ze Zjednoczonych Emiratów Arabskich (znana m.in. z inwestycji w AMD), a nawet wielki producent czipów, Global Foundries. Do tej pory mieli oni przekazać SoftMachines już około 100 milionów dolarów.

Proponowaną przez SoftMachines architekturę określić można jako wirtualizację na najniższym poziomie. Inżynierowie startupu twierdzą, że znaleźli sposób na obejście podstawowego ograniczenia współczesnych procesorów, działających w modelu wykonywania poza kolejnością. Od pewnego momentu rozbudowy mechanizmów porządkowania jednostek wykonawczych dochodzi do niemal wykładniczego wzrostu zużycia energii i kosztów. Nie ma sposobu na to, by w opłacalny sposób wprowadzić do konstrukcji kolejne jednostki wykonawcze. Liczba wątków zostaje ograniczona.

r   e   k   l   a   m   a

Rozwiązanie SoftMachines otrzymało nazwę Variable Instruction Set Computing (VISC). Zamiast stosować złożoną i kosztowną energetycznie architekturę wykonywania poza kolejnością, mikroprocesory VISC mają wydobywać z obciążenia roboczego paralelizm na poziomie instrukcji, a następnie rozplanowywać to obciążenie na wielu małych wątkach (threadlets), uruchamianych niezależnie na tworzonym dla nich zbiorze wirtualnych rdzeni. Realizowane jest to przez coś nazywanego globalną witryną (global front end) – opatentowanym układem logicznym, przekładającym wątki na wirtualne rdzenie o pożądanych rozmiarach.

Przedstawiony powyżej diagram sugeruje odwzorowanie 1:1 między liczbą rdzeni fizycznych i wirtualnych, ale SoftMachines zapewnia, że wcale tak nie musi być. Alokacja wirtualnych rdzeni może zmieniać się w każdym cyklu pracy procesora, dostosowując do aktualnego obciążenia roboczego – coś nieosiągalnego dla współczesnych architektur. Poniżej można zobaczyć, jak architektura VISC radzi sobie z uruchomieniem wymagającej aplikacji, oddając wirtualnemu rdzeniowi zasoby dwóch rdzeni fizycznych, a jak z uruchomieniem dwóch aplikacji, gdy rdzeń wirtualny oddany tej bardziej wymagającej zawłaszczy sobie część mocy drugiego rdzenia.

Wszystkie te operacje wydobycia równoległych instrukcji i rozplanowania ich uruchomienia na rdzeniach realizowane są oczywiście sprzętowo. Co jednak ciekawe, nie ma specjalnie znaczenia, na jakich to fizycznych rdzeniach VISC miałby być uruchamiany – dziś ma radzić sobie zarówno z x86 jak i ARM. Narzut jest niewielki, rzędu 5%. W zamian uzyskać mamy zaskakująco duże przyrosty wydajności, przynajmniej według danych przedstawionych przez projektantów VISC.

Zaprezentowano wyniki dwóch benchmarków. W pierwszym, SPEC2006, pod względem wydajności, prototyp SoftMachines, z dwoma wirtualnym rdzeniami, taktowanymi zegarem 350 MHz, uzyskał ponad dwukrotnie lepszy wynik od jednego rdzenia procesora A7 Apple i półtorakrotnie lepszy od jednego rdzenia procesora Haswell Intela. W drugim, prototyp zmierzył się z kilkoma laptopami z procesorami Intel Atom, Celeron i Samsung Exynos (ARM A-15). I w tym benchmarku wielokrotnie wolniej taktowany prototyp pokonał konkurentów, z wynikami o 15-20% lepszymi. Inżynierowie SoftMachines zapewniają przy tym, że architekturę VISC można optymalizować także pod energooszczędność – wówczas przy porównywalnej wydajności, ich mikroprocesor zużyje nawet kilkukrotnie mniej energii, niż układ wykonujący instrukcje poza kolejnością.

Ten przełomowy prototyp procesora jest już w stanie uruchomić Linuksa i UEFI BIOS, przygotowano dla niego też kompilację Androida 4.0. SoftMachines pracuje nad własnym układem SoC, zawierającym rdzenie grafiki 3D i 2D oraz zintegrowany kontroler pamięci. Teraz zagadką pozostaje jedno – czy startup zechce się sprzedać, czy też pójdzie drogą ARM – i będzie swoje rozwiązania licencjonował innym producentom. Jak na razie bowiem nie ma powodów, by wątpić w sensowność VISC. Z perspektywy programisty wydaje się to znacznie wygodniejszym podejściem, niż heterogeniczne architektury, rozwijane dziś przez Fundację HSA, z AMD na czele.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.