VISC to tyle wirtualnych rdzeni w procesorze, ile akurat potrzeba

VISC to tyle wirtualnych rdzeni w procesorze, ile akurat potrzeba

VISC to tyle wirtualnych rdzeni w procesorze, ile akurat potrzeba
26.10.2014 11:30, aktualizacja: 27.10.2014 13:49

Producenci mikroprocesorów już od dawna nie pokazali nam niczegonaprawdę przełomowego. Kolejne generacje CPU przynoszą wzrostywydajnoś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 – aleszału nie ma. Tak jak swój kres miał wyścig na gigaherce, tak ido kresu zbliża się wyścig na liczbę rdzeni i wątków. Tymczasemw tym trudnym dla branży okresie pojawia się nowy startup,obiecujący nową architekturę czipów o ogromnej skalowalności iwydajnoś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, pioniertechnik półprzewodnikowych Gordon Campbell, grupa Mubadala zeZjednoczonych Emiratów Arabskich (znana m.in. z inwestycji w AMD), anawet wielki producent czipów, Global Foundries. Do tej pory mielioni przekazać SoftMachines już około 100 milionów dolarów.

Proponowaną przez SoftMachines architekturę określić możnajako wirtualizację na najniższym poziomie. Inżynierowie startuputwierdzą, że znaleźli sposób na obejście podstawowegoograniczenia współczesnych procesorów, działających w modeluwykonywania poza kolejnością. Od pewnego momentu rozbudowymechanizmów porządkowania jednostek wykonawczych dochodzi do niemalwykładniczego wzrostu zużycia energii i kosztów. Nie ma sposobu nato, by w opłacalny sposób wprowadzić do konstrukcji kolejnejednostki wykonawcze. Liczba wątków zostaje ograniczona.

Rozwiązanie SoftMachines otrzymało nazwę Variable InstructionSet Computing (VISC). Zamiast stosować złożoną i kosztownąenergetycznie architekturę wykonywania poza kolejnością,mikroprocesory VISC mają wydobywać z obciążenia roboczegoparalelizm na poziomie instrukcji, a następnie rozplanowywać toobciążenie na wielu małych wątkach (threadlets), uruchamianychniezależ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 nawirtualne rdzenie o pożądanych rozmiarach.

Obraz

Przedstawiony powyżej diagram sugeruje odwzorowanie 1:1 międzyliczbą rdzeni fizycznych i wirtualnych, ale SoftMachines zapewnia,że wcale tak nie musi być. Alokacja wirtualnych rdzeni możezmieniać się w każdym cyklu pracy procesora, dostosowując doaktualnego obciążenia roboczego – coś nieosiągalnego dlawspółczesnych architektur. Poniżej można zobaczyć, jakarchitektura VISC radzi sobie z uruchomieniem wymagającej aplikacji,oddając wirtualnemu rdzeniowi zasoby dwóch rdzeni fizycznych, a jakz uruchomieniem dwóch aplikacji, gdy rdzeń wirtualny oddany tejbardziej wymagającej zawłaszczy sobie część mocy drugiegordzenia.

Obraz

Wszystkie te operacje wydobycia równoległych instrukcji irozplanowania ich uruchomienia na rdzeniach realizowane sąoczywiście sprzętowo. Co jednak ciekawe, nie ma specjalnieznaczenia, 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ącoduże przyrosty wydajności, przynajmniej według danychprzedstawionych przez projektantów VISC.

Zaprezentowano wyniki dwóch benchmarków. W pierwszym, SPEC2006,pod względem wydajności, prototyp SoftMachines, z dwoma wirtualnymrdzeniami, taktowanymi zegarem 350 MHz, uzyskał ponad dwukrotnielepszy wynik od jednego rdzenia procesora A7 Apple i półtorakrotnielepszy 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 wielokrotniewolniej taktowany prototyp pokonał konkurentów, z wynikami o 15-20%lepszymi. Inżynierowie SoftMachines zapewniają przy tym, żearchitekturę VISC można optymalizować także pod energooszczędność– wówczas przy porównywalnej wydajności, ich mikroprocesorzużyje nawet kilkukrotnie mniej energii, niż układ wykonującyinstrukcje poza kolejnością.

Obraz

Ten przełomowy prototyp procesora jest już w stanie uruchomićLinuksa i UEFI BIOS, przygotowano dla niego też kompilację Androida4.0. SoftMachines pracuje nad własnym układem SoC, zawierającymrdzenie grafiki 3D i 2D oraz zintegrowany kontroler pamięci. Terazzagadką pozostaje jedno – czy startup zechce się sprzedać, czyteż pójdzie drogą ARM – i będzie swoje rozwiązanialicencjonował 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ż heterogenicznearchitektury, rozwijane dziś przez Fundację HSA, z AMD na czele.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (43)