Marcin Sieradzki | 2010-05-13

Intel wie jak wykorzystać dodatkowe rdzenie

Zobacz więcej w kategorii: procesory

producenci: Intel

 

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.

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

odsłon: 4015

Jarus_

0 + - 2010-05-13 15:14

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...

Vithren

0 + - 2010-05-13 15:31

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.

Vithren

0 + - 2010-05-13 15:40

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.

gormar

0 + - 2010-05-13 20:08

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.

Vithren

0 + - 2010-05-13 20:25

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.

Irrlicht

0 + - 2010-05-14 22:13

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.

Silver

0 + - 2010-05-13 22:13

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?

Vithren

0 + - 2010-05-14 00:31

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.

 
zgłoś naruszenie netykiety lub złe
zachowanie
Produkty polecane przez redakcję. Kupując z benchmark.pl wspierasz serwis. Dziękujemy!