Na imprezie Research@Intel Europe w Brukseli badacze z Intel Labs Europe zaprezentowali nową technologię, która może radykalnie zwiększyć wydajność mikroprocesorów obsługujących starsze oprogramowanie.
Wczoraj pisaliśmy o tym jak Intel chce odmienić branżę gier i filmową za sprawą nowego, znacznie tańszego mechanizmu modelowania postaci. Dzisiaj znany producent mikroprocesorów przedstawia ciekawą technologię o nazwie „Anaphase”, którą opracowano w barcelońskim laboratorium Intela. Na czym polega to rozwiązanie?
Typowe współczesne procesory mają konstrukcję wielordzeniową. Pomimo to wydajność pracy jednowątkowej pozostaje bardzo ważna, ponieważ wiele aplikacji w ograniczony sposób wykorzystuje więcej niż 1 rdzeń procesora. W rezultacie użytkownicy korzystający z takich aplikacji nie zyskują wiele na nowych, wielordzeniowych procesorach.
Anaphase czyli jak wykorzystać więcej rdzeni
Badacze z Intel Labs Barcelona zaprezentowali hybrydową technologię sprzętowo-programową o nazwie „Anaphase”, które pozwala wykorzystać wiele rdzeni do zwiększenia wydajności jednowątkowych aplikacji w nowych procesorach. Badania skupiały się na różnych spekulatywnych technikach do automatycznego dzielenia aplikacji jednowątkowych na części w celu wykonywania ich na wielu rdzeniach.
.jpg)
Technologia Anaphase ma przynieść radykalny wzrost wydajności od 31% do 41%
Jeśli chodzi o stronę sprzętową, z przyszłymi procesorami może być zintegrowana nowa jednostka o nazwie „Inter-Core Memory Coherency Module” (ICMC) — międzyrdzeniowy moduł spójności pamięci. ICMC aktualizuje stan pamięci zgodnie z kolejnością instrukcji, wykrywa naruszenia dostępu do pamięci i zawiera mechanizmy punktów kontrolnych oraz przywracania stanu niezbędne do wykonywania podzielonych aplikacji na wielu rdzeniach.
Pierwsze symulowane testy porównawcze, 12 SpecFP i 12 SpecInt z pakietu SPEC2006, pokazują radykalny wzrost wydajności od 31% do 41% (w zależności od liczby rdzeni) w stosunku do niezoptymalizowanych systemów bez technologii Anaphase. Obecnie Anaphase jest projektem badawczym, a naukowcy z Intel Labs Barcelona szukają sposobów na zintegrowanie tej technologii z przyszłymi procesorami.
Źródło: Intel
Kiedyś AMD miało bodaj wprowadzić coś co krążyło po necie jako "Anti Hyper Threading", który w zamyśle miał być właśnie czymś na wzór Anaphase...
ciekawe...
Nie mieli wprowadzić. Reversed Hyper-Threading, bo tak to się miało nazywać, był pomysłem powstałym z błędnej interpretacji wniosków patentowych AMD.
Konkretnie dotyczyło to wykorzystania dwóch jednostek wykonawczych(execution unit) w architekturze CMT(Cluster Multi-Threading albo Cluster-based Multi-Threading, CbMT) do jednoczesnego obliczania obu rozwiązań sytuacji warunkowych. (bosz, o ile łatwiej to napisać po angielsku, polski wykrzywia znaczenia)
Bulldozer to tak naprawdę CMT, w którym klastry wykonawcze/jednostki wykonawcze nazywa się Rdzeniami. Zresztą całkiem słusznie.
Wracając:
były patenty które omawiały wyżej opisane rozwiązanie. Ludzie je blednie zinterpretowali odnosząc do posiadanej wiedzy, do HT Intela w Pentium 4. Stąd to nieporozumienie.
AMD długo się śmiało z tych pomysłów, swoją drogą.
Anaphase natomiast...
Hm. Jeżeli będzie faktycznie rozwiązaniem głównie programowym to nie tak dobrze(nie "źle", bo wcale nieźle, ale nie tak dobrze jak być powinno).
"Hybryda sprzętowo-programowa" - można się zastanawiać czy opisuje ona związek(sprzęt dotyczący oprogramowania, tj: rozwiązanie w pełni oparte na oprogramowaniu kontrolujące sprzęt, w tym wypadku należy się martwić o opóźnienia) czy też faktycznie mamy tu do czynienia z rozwiązaniem pomiędzy. Jeżeli "sprzętowa" jest tu tylko zgodność pamięci - gorzej.
Swoją drogą wykorzystanie wielu rdzeni w aplikacji jednowątkowej to mniej lub bardziej Święty Graal obliczeń. Hm. Jestem sceptyczny.
http://portal.acm.org/citation.cfm?id=1555754.1555813&coll=ACM&dl=ACM&type=series&idx=SERIES416&part=series&WantType=Proceedings&title=ISCA&CFID=89838298&CFTOKEN=40410271 - ktoś ma dostęp i może podrzucić PDFa?
Zastanowić się można ile ma to wspólnego z SpMT... czekam na komentarz Andy'ego Glew'a.
Jezu, przyśpieszenie wykonywania aplikacji o współczynnik 1.3-1.4 nazywaj radykalnym? Toć to ledwie zauważalna sprawa a dodatkowo marnowanie mocy obliczeniowych rdzeni. Przecież najczęściej przyśpieszenie aplikacji wielowątkowych osiąga pułap 1.8 przy każdym podwojeniu ilości rdzeni.
Bez przepisania kodu na kilka wątków nie ma co marzyć o radykalnej poprawie wydajności. Na szczęście jakoś nie za bardzo potrafię przypomnieć sobie problem obliczeniowy, którego nie udaje się przenieść do świata wielowątkowości a wymaga ono bardzo wysokiej wydajności. Nawet jak podział zadania na mniejsze nie jest możliwy lub zbyt trudny to i tak zazwyczaj szuka się rozwiązania danego problemu dla różnych parametrów i wtedy można wykorzystać większą ilość rdzeniu i uruchomić obliczenia równolegle.
Nie widzisz, że to tekst reklamowy? ; )
Czytam w końcu tego PDFa, Andy też mi odpisał. SpMT, kojarzy mi się przy okazji z Itaniciem, chociaż z trudnych do wytłumaczenia powodów(tutaj: w czasie kompilacji następuje rozbiór programu na spekulatywne wątki etc), mhm...
btw, to jest "tylko" akademicki papier(academic paper), w teorii bardzo daleko temu do jakiejkolwiek architektury na horyzoncie.
Upierdliwe do zrównoleglania są wszelkie sortowania, FFT (zwłaszcza wielowymiarowe) i ogólnie problemy nielokalne, gdzie wszystko zależy od wszystkiego i nie można z góry poczynić zbyt wielu założeń. Nawet niby proste liczenie potencjału (m.in. bywa wykorzystywane przez AI w grach do selekcji celów) zrównolegla się dość trickowo przez nielokalność. Poza tym źle się zrównolegla operacje sekwencyjne, gdzie każdy następny krok zależy od poprzedniego (wszelkiego typu iteracje i rekurencje), a kroki same w sobie są małe.
Naprawde geniusze :P Takie rzeczy już dawno powinny być wprowadzone, przecież nie od dziś jest zauważalny niewielki przyrost, a nawet znikomy w starszych aplikacjach. Nie mogą wydać wersji soft czegoś takiego?
Nie, nie mogą. I nie jest to rozwiązanie proste. Żadne rozwiązanie w architekturach CPU i GPU nie jest proste i w sumie nigdy nie było. Każde jest również kompromisem między pobieraną energią, miejscem na krzemie, opóźnieniami w pipeline etc.
Nie można tego zrobić stricte programowo. Zaprezentowane rozwiązanie wymaga, o ile się nie mylę, rekompilacji kodu(stąd "programowa" część rozwiązania w reklamie... oj, to znaczy: w newsie) jak również zmian w architekturze samego rdzenia. Więc: jest to rozwiązanie teoretyczne na dzień dzisiejszy(lub: w świetnie posiadanych informacji, jako że testy były prowadzone na symulatorach), bez odpowiedniego oprogramowania(brak kompilatorów i przekompilowanych programów) i bez faktycznie działającego krzemu z tym rozwiązaniem architektonicznym(IIRC).
Dawno skończyły się czasy łatwych rozwiązań programistycznych i architektonicznych.
z ostatnich 30 dni
odsłon: 160019
odsłon: 95217
odsłon: 35908
odsłon: 34499
odsłon: 28500
odsłon: 26462
odsłon: 24804
odsłon: 22657
odsłon: 21694
odsłon: 18809
odsłon: 18613
odsłon: 18176
odsłon: 17249
odsłon: 15862
odsłon: 15635
odsłon: 15458
odsłon: 14922
odsłon: 14523
odsłon: 14310
odsłon: 13462
odsłon: 13443
odsłon: 13010
odsłon: 12392
|
299,-
z VAT
|
189,80,-
z VAT
|