Procesor o 100 rdzeniach już w tym roku

  • Home
  • /
  • Blog
  • /
  • Procesor o 100 rdzeniach już w tym roku

Data: 30 stycznia, 2012

Podczas gdy Intel zapowiada na 2013 rok premierę 50-rdzeniowego Knights Corner, Anant Agarwal kierujący Laboratorium Sztucznej Inteligencji CSAIL (Computer Science and Artificial Intelligence Laboratory) na MIT już w 2012 planuje sprzedaż 100-rdzeniowego układu.

Swoimi działaniami, guru MIT wyprzedza inne obecne na rynku firmy. W ramach przedsięwzięcia Tilera, Agarwal sprzedaje już procesory 16-, 32- i 64- a wkrótce nawet 100-rdzeniowe. Wśród dalszych jego planów znajduje się stworzenie CPU o 200 rdzeniach (2013) i w końcu 1000 rdzeni w jednym układzie do superkomputera przyszłości.

W przeciwieństwie do swoich konkurentów, takich jak na przykład SeaMicro, Tilera nie skupia się na wyposażaniu serwerów w setki mobilnych procesorów. Jej celem jest zmieszczenie większej ilości rdzeni w jednym procesorze, co powoduje większą efektywność serwerów wynikającą z mniejszej odległości poszczególnych rdzeni, a także znaczną redukcję zużycia energii.

Odmienne podejście Agarwala do tematu procesorów owocuje wspaniałymi, innowacyjnymi rozwiązaniami. Już 64-rdzeniowy model drugiej generacji, jak wykazały testy przeprowadzone przez Facebooka, posiadał o 67% wyższą wydajność aniżeli energooszczędny Xeon od Intela i Opteron AMD. Jaki będzie najnowszy CPU? Wkrótce się przekonamy.

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. abcman pisze:

    Ech, a ja mam problem czasem pisać na dwa rdzenie…

    1. GentooPower pisze:

      Trzeba pisać skalowalne rozwiązania na n rdzeni. Tak działa np. Google Chrome gdzie każdy wątek odpowiada jednej zakładce.

    2. vampire pisze:

      OpenMP Twoim przyjacielem…

    3. abcman pisze:

      @GentooPower, @vampire – nie mam problemu stworzyć program, który by tworzył dwa proste i niezależne wątki albo procesy i sobie pięknie działał na dwóch rdzeniach. Co to, to nie. Chodzi o program z wieloma wątkami (niech będą dwa wątki), które ma być szybki i do tego korzystający z współdzielonych zasobów. Korzystanie z współdzielonych zasobów jest niby proste, ale jak ma być to szybki i prawidłowo działający program, to…

      1. wladca_kodu pisze:

        Trzeba pisać tak, aby nie mieć mutowalnego współdzielonego stanu. Wtedy programowanie wielowątkowe staje się znacznie prostsze.

  2. troll pisze:

    Tile-Gx100 zapowiadają przynajmniej od 2009 roku…

    Nawiasem mówiąc, w tych facebookowych testach porównywano 64-rdzeniowe Tilery z 8-rdzeniowymi Xeonami. Były tylko o połowę szybsze, a powinny być prawie o rząd wielkości (x8), gdyby pojedynczy rdzeń Tilera mógł się równać pojedynczemu rdzeniowi Xeona.

    1. _kj_ pisze:

      Dwa rdzenie nie oznaczają wzrostu wydajności dwa razy, analogicznie – 8 razy więcej rdzeni nie powoduje przyrostu wydajności osiem razy. Nie zapominaj, że dla dzisiejszego procesora największą barierą jest szybkość pamięci.

      1. Marek pisze:

        no tak ale te 67% wiecej to mizernie troche…

        1. Nawet bardzo – rzekłbym wstyd.

          Ale dużo ważniejszymi parametrami są: cena/wydajność i zużycie energii/wydajność.

          Jeżeli platforma bedzie dużo tańsza lub mniej energo chłonna chłonna to ktoś go kupi.

          1. Premislaus pisze:

            Z prostej przyczyny. Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura. Intel wpakował w to tyle środków, że się to zwraca w postaci ceny i wydajności.

            Nie zapomnij, że to proste rdzenie, dlatego da się je aż tak upakować.

            BTW gdyby instrukcje x86 były śmieciowe, to by się starano uprościć cpu. AMD jak przyszła pora to usunęło 3DNow!.

            Gdzieś czytałem, że niedługo mogą usunąć niektóre instrukcje bo ich role przejmą nowe, zdecydowanie wydajniejsze instrukcje wektorowe takie jak AVX, XOP, FMA.

          2. "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura."

            Intel wygrał ceną, która była związana z popularnością Windowsa.

            Pamiętam testy workstation z różnymi prockami (PowerPC, MIPS, UltraSparc itd.) i Intel zawsze był najgorszy, problemem była cena ponieważ dwa razy szybsza workstation była 4 razy droższa i nie miała dostępu do tak szerokiej bazy oprogramowania.

          3. troll pisze:

            Intel wygrał, bo był platformą IBM PC, a platforma PC wygrała, bo IBM otworzył swoją architekturę innym producentom. A to wszystko 100 lat przed windowsami, MS był wtedy na etapie kupowania klona CP/M, który sprzedał IBM-owi jako PC-DOS 😉

          4. OK, ale:

            IBM PC – 1981
            MS DOS – 1982
            IBM PC/XT – 1983
            IBM PC/AT – 1984
            Windows 1.01 – 1985

            100 lat za murzynami byłi jest jest Linux :).

            Po za tym likwidację rynku 'workstation' przypieczętowało wydanie w 1993 Windowsa NT 3.1, który za dużo niższą cene spełniał podobne zadania jak Unix.

          5. pow3rshell pisze:

            100 lat za murzynami byłi jest jest Linux :). troll

          6. troll pisze:

            Windows stał się popularny dopiero w latach 90. – po wydaniu wersji 3.0. Intel i PC zajęły rynek dużo wcześniej.

            Nie wiem, co ma do tego NT – klon VMS na licencji DEC-a, w zasadzie odkupiony razem z Cutlerem i jego ekipą.

          7. > NT – klon VMS na licencji DEC-a

            NTraczej nie był klonem VMS, to nowy (relatywnie) system, zaczęty jeszcze przed linuksem, aczkolwiek wydany dopiero w 1993 r., z pewnością nie był na licencji firmy DEC.

          8. Vigud pisze:

            On nieładnie powiedział o Linuxie. Wiecie, co z nim zrobić.

          9. _kj_ pisze:

            "Gdzieś czytałem, że niedługo mogą usunąć niektóre instrukcje bo ich role przejmą nowe, zdecydowanie wydajniejsze instrukcje wektorowe takie jak AVX, XOP, FMA."
            Nie dla każdego algorytmu takie instrukcje bywają przydatne.

          10. pow3rshell pisze:

            A dla jakiego nie są ?

          11. jarek pisze:

            No to zadanie z podstaw programowania: ciag Fibonacciego.
            Poprosimy kod z uzyciem SSE/AVX ktory jest efektywniejszy niz na zwyklych rejestrach.

          12. wladca_kodu pisze:

            W przypadku algorytmu wykorzystującego mnożenie macierzy do liczenia wyrazów owego ciągu, na pewno SSE się przyda.

          13. jacek2v pisze:

            "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura. "
            Ciekawe co jest podstawą Twoich twierdzeń?
            Platforma x86 to kosz ze śmieciami, w którym niestety musiałem się grzebać 🙁 Niespójna, nielogiczna, bardzo trudna do optymalizacji i powolna. W rodzinie x86 procesorów Intela wprowadza się bardzo powoli, mechanizmy, które np. procesory RISC, VISC (chyba taki był skrót na wektorowce :)) posiadały dziesięciolecia temu.
            Czemu Intel wygrał – zdecydował rynek i parę (niemądrych?) decyzji wielkich firm.

          14. Premislaus pisze:

            Jej rynkowy sukces. Jeżeli autor innej architektury chce odnieść sukces, to musi to być zdecydowanie tańsza architektura, a więc prostsza i mnie wydajna, specjalizowana. Nie udało się za bardzo zrobić procesora ogólnegoprzeznaczenia, który mógłby konkurować z x86 i wygrać. PowerPC było za drogie. Z resztą inne architektury jak maja być tak wydajne jak x86, to muszą żreć tyle samo prądu i tak samo się nagrzewać. Albo i gorzej. Już teraz widać jak bardzo Intel odskoczył od AMD w stosunku cena – wydajność, na niekorzyść AMD.

            Dzisiaj nie pisze się w asemblerze poza wyjątkami jak np. mikrokontrolery, chociaż wielu pisze tam w C. A optymalizacje robi kompilator.

            Drugą przeszkodą był brak oprogramowania. Dzisiaj karierę mają języki oparte o maszynę wirtualną, JIT, etc. Więc może taki ARM się przyjmie w pewnej niszy na desktopie.

          15. jacek2v pisze:

            "to musi to być zdecydowanie tańsza architektura"
            Nie musi, ale … 🙂 Lepsze jest wrogiem tańszego 😛
            "Z resztą inne architektury jak maja być tak wydajne jak x86, to muszą żreć tyle samo prądu i tak samo się nagrzewać."
            Np. architektury RISC żrą mniej i są wydajniesze, np. wspomniany PowerPC, albo GPU (wektorowce, choć obecnie żrą więcej, ale wydajność mają potężniejszą od intela) albo ARM – a komórach siedzią i mało jedzą :),
            Np. procesory RISC znacznie bardziej uporządkowane i przewidywalne w działaniu, łatwo poddają się skalowaniu zorientowanemu na obniżenie poboru prądu (kiedy, który moduł procesora zasilać). Rozkazy są w większości 1-2 taktowe , rejestry uniwersalne, zestaw rozkazów krótki, zwięzły i czytelny.
            Poza tym znacznie łatwiej synchronizować wykonanie programów wielowątkowych – jeśli dobrze pamiętam pierwsze 128 rdzeniowe transputery to były RISCi. Przy rozkazach o przewidywalnym i krótkim czasie trwania, łatwiej jest budować oprogramowanie do obliczeń równoległych.
            Nie znam żadnych badań, ale na moje oko (może ktoś zna?:)) przyrost mocy w intelach kilku-rdzeniowych wcale nie jest duży w stosunku tego co potrafią systemy wieloprocesorowe/rdzeniowe RISC.

          16. Premislaus pisze:

            Szkoda, że nie powiedziałeś tego Apple jak miało problemy z włożeniem G5 do laptopów :-]. Też widziałem te benchmarki Apple gdzie był włączony Altivec, ale jakoś wysypu oprogramowania korzystającego z Altiveca nie było. Można też poczytać stare wątki na forach apple'owskich, ppc vs x86 po przejściu na Intele. Dochodzili do ciekawych wniosków.

            Na GPU da się liczyć jedynie rzeczy które są proste i da się je zrównoleglić. x86 jest wewnętrznie RISCiem.
            http://www.komputer.cuprum.pl/historia/20-kroki-r… – chocby tu jest to parę razy wymienione, a resztę trzeba szukać na google.
            http://pl.wikipedia.org/wiki/Prawo_Amdahla

          17. Premislaus pisze:

            http://www.anandtech.com/show/1702/1

            Jak się dłużej poszuka to się znajdzie trochę testów.

          18. jacek2v pisze:

            Dzięki za linka.
            Co prawda nie ten test to taki "gazetkowy" jest, ale przynajmniej opisany co i jak testowali 🙂

          19. IBM trochę olewał Appla. To bardziej ekonomia i polityka a nie technika. Nie ma sensu żyłować procesora do laptopów gdy jedynym konsumentem jest podupadły Apple (w tamtych czasach). Konsole do gier obecnej generacji zrobiono na PPC, nawet MS Xbox 360 mimo sporego doświadczenia MS w x86. Tam było warto się starać. I tyle.

          20. jacek2v pisze:

            "Szkoda, że nie powiedziałeś tego Apple jak miało problemy z włożeniem G5 do laptopów :-]"
            Pojawiło się trochę plotek, że Apple planuje wrócić do procesorów RISC, a dokładnie do ARMa. Może rzeczywiście powinienem im to powiedzieć, mieli by mniej kłopotów 🙂

          21. Premislaus pisze:

            Tylko co powiedzą ich klienci, czyli m.in. graficy i osoby zajmujące się obróbką audio-video, na taki brak mocy?

            Już używają ARMa od bardzo dawna, w tabletach i smartfonach. Co najwyżej zrobią jakiegoś netbooka.

          22. jacek2v pisze:

            "Tylko co powiedzą ich klienci, czyli m.in. graficy i osoby zajmujące się obróbką audio-video, na taki brak mocy? "
            Na razie nie wiadomo co i jak. Może to nie będzie brak mocy?

            Kiedyś robiłem testy między wydajnością Pentium4 i PentiumM. P4 miało zegar ok. x2,5 szybszy – PentiumM było porównywalne 🙂 w szybkości, spadek kilkunasto procentowy, a w niektórych testach równo z P4. Wystarczyło dać szybszy zegar i pożerało P4 na deser. A wydawałoby się, że P4 rozłoży P.M na łopatki. Tu może być podobnie 🙂

          23. Premislaus pisze:

            Pentium 4 miało wydłużony potok wykonawczy. Prescot miał aż 31 etapów. Było to błędne założenie całej architektury. Potem już Intel nie zrobił takiego błędu.

          24. Premislaus pisze:

            Z tego powodu w tamtych czasach kupiłem Athlona 64 ;).

          25. jacek2v pisze:

            A ja pamiętam jeszcze te buńczucznie reklamy Intel Pentium 4 😀

          26. jarek pisze:

            "Np. architektury RISC żrą mniej i są wydajniesze, np. wspomniany PowerPC"

            No to porownajmy POWER7 z Sandy/Ivy Bridge. Wiki twierdzi, ze absolutny teoretyczny limit dla 4.25GHz POWER7 to: 33.12GFLOPS / core.
            Sandy/Ivy Bridge maja 2 jednostki wykonawcze o szerokosci 8 floatow w kazdym
            rdzeniu. Kazda moze wykonywac niezaleznie operacje w jednym cyklu zegara. To daje absolutna teoretyczna wydajnosc dla 3.5GHz (i7 3770K): 56GFLOPS / core.

            Zuzycie mocy POWER7 to okolo 100W dla 6 korowego CPU i 80W dla i7. To daje 0.33GFLOPS/watt i 0.7GFLOPS/watt (i7 dwa razy lepszy w przeliczeniu na waty!)

            A Ty nam jeszcze podaj tu ceny tych kostek 🙂

            I tu jeszcze cos do przemyslenia:
            http://en.wikipedia.org/wiki/File:Top500.procfami…

            "Rozkazy są w większości 1-2 taktowe"

            Wez nie rozsmieszaj, juz Pentium w 93 roku mial wiekszosc rozkazow 1-cyklowych (z tych ktore mozna bylo zrobic 1-cyklowymi). Dzis 1-cyklowosc to aksjomat w kazdym przyzwoitym CPU, zreszta, przy pipeline i out-of-order temat 1-cyklowosci jest w ogole nie na miejscu.

          27. jarek pisze:

            Zle policzylem watt i rdzenie.
            POWER7 / 6 rdzeni / 100W = 6 * 33.12 / 100 = 2 GFLOPS/WATT
            i7 / 4 rdzenie / 80W = 4 * 56 / 80 = 2.8 GFLOPS/WATT

          28. jacek2v pisze:

            Niestety nie znalazłem wiarygodnych danych na temat Power7 i trudno mi się odnieść do tego wyliczenia, poza tym, że 33GFLOP jest dla 8 korowca, nie dla 6 korowca oraz Intel i7 4C Sandy ma TDP 95W, a nie 80W: http://www.cpu-world.com/CPUs/Core_i7/Intel-Core%…
            A jeszcze niedawno było 130W 😛 Jest kasa na badania, jest postęp 🙂

            Poza tym przeliczać też wg. przytoczonego wzoru też nie można bo wychodzą głupoty :). Pierwszy z brzegu link: http://mos.techradar.com/techradar-corei7-benchma… Na stronie wychodzi, że cały procek ma 70GFLOP, a z wzoru wychodzi, że nowszej generacji procek ma moc 224 GFLOP. I tak to z tymi przeliczeniami bywa 🙂 Dlatego wspomniałem o testach – najlepiej wiarygodnych.

            Nie zmieniam zdania, RISCi górą :), a kasę obecnie ma niestety CISC i dzięki temu rozwija się, aczkolwiek uważam to za ślepą ścieżkę. Może urządzenia mobile to zmienią – RISC tam rządzi 🙂

          29. jarek pisze:

            "33GFLOP jest dla 8 korowca, nie dla 6 korowca"

            Sluszna uwaga, poprawione rachunki:

            POWER7 / 6 rdzeni / 100W = 8 * 33.12 / 100 = 2.65 GFLOPS/WATT
            i7 / 4 rdzenie / 80W = 4 * 56 / 80 = 2.8 GFLOPS/WATT

            Jeszcze podaj nam ceny, zebysmy mieli przelicznik GFLOPS/$ 🙂

            "A jeszcze niedawno było 130W 😛 Jest kasa na badania, jest postęp 🙂 "

            Oczywiscie! Intel to firma z poteznym zapleczem, dlatego upieranie sie jak dziecko, ze nie sa w stanie zrobic szybkiego CPU jest co najmniej smieszne.
            I oczywiscie, POWER jest idealny od pierwszej iteracji wypuszczonej na rynek i nic w nim sie nie zmienia… Oh, wait…

            "oraz Intel i7 4C Sandy ma TDP 95W, a nie 80W"

            Wiki twierdzi, ze i7 ma 77W.

            "Poza tym przeliczać też wg. przytoczonego wzoru też nie można bo wychodzą głupoty :)"

            Absolutnie sie z tym zgadzam, glupota jest wierzyc, ze w realnych rachunkach wydusisz z jednego rdzenia i7 56GFLOPS i rownie durne jest wierzyc, ze z jednego rdzenia POWER7 wydusisz 33GFLOPS… Oh, wait…

            "Nie zmieniam zdania, RISCi górą :)"

            No jaka szkoda, ze producenci superkomputerow nie maja takiej wiedzy w temacie jak Ty i zaczyna tam dominowac x86 🙁

          30. jacek2v pisze:

            "Sluszna uwaga, poprawione rachunki: "
            Chyba rachunki zepsute jeszcze bardziej. Przecież czym więcej rdzeni tym mniejsza wydajność na rdzeń 🙂
            "Jeszcze podaj nam ceny, zebysmy mieli przelicznik GFLOPS/$ 🙂 "
            O co Ci chodzi z cenami? Mieszasz architekturę z rynkiem.
            " …upieranie sie jak dziecko, ze nie sa w stanie zrobic szybkiego CPU jest co najmniej smieszne. "
            A kto tu się upiera :)?
            "Wiki twierdzi, ze i7 ma 77W. "
            Proponuję nie czerp całej wiedzy z Wiki, bo nie zawsze jest prawdziwa. Wg Intela jest 95W. Może chodzi inny model? Wtedy nie można brać wydajności i GHz z jednego procka a TDP z drugiego, bo to manipulacja 🙂
            "nie maja takiej wiedzy w temacie jak Ty "
            Dziwne, że te najbardziej spektakularne superkomputery są na RISC LOL Czyli chyba jednak mają podobną wiedzę 🙂

          31. pow3rshell pisze:

            z pierwszej 10 – 7 to architektura x86 / x64

          32. jacek2v pisze:

            Słowo klucz "spektakularne" 🙂

          33. jacek2v pisze:

            Aha i w większości z GPU 😛

          34. jarek pisze:

            ""Sluszna uwaga, poprawione rachunki: "
            Chyba rachunki zepsute jeszcze bardziej. Przecież czym więcej rdzeni tym mniejsza wydajność na rdzeń 🙂 "

            Moc jest podawana dla calej kosci a nie rdzenia. Stad mnoze to przez ilosc rdzeni w kosci i dopiero wtedy przez waty. Wychodzi
            mi gflops / wat dla kosci.

            ""Jeszcze podaj nam ceny, zebysmy mieli przelicznik GFLOPS/$ 🙂 "
            O co Ci chodzi z cenami? Mieszasz architekturę z rynkiem. "

            Gdzies jest twardy limit na zakres dyskusji?

            "można brać wydajności i GHz z jednego procka a TDP z drugiego, bo to manipulacja :)"

            Wzialem dla tego samego modulu. Z wiki. A tu jakis model ze strony Intela:
            http://ark.intel.com/products/50067/Intel-Core-i7…

            i7 / 4 rdzenie / 45W = 4 * 2 * 8 * 2.2 / 45 = 3.12 GFLOPS / WATT
            i7 / 4 rdzenie / 45W = 4 * 2 * 8 * 3.3 / 45 = 4.7 GFLOPS / WATT (tryb turbo)

            O, widzisz, faktycznie, wiki zbyt zle ze pisala o i7!

            "Dziwne, że te najbardziej spektakularne superkomputery są na RISC LOL Czyli chyba jednak mają podobną wiedzę :)"

            Spektakularne – domyslam sie, ze chodzi nie o architekture spektakularna tylko o najszybsze z nich?
            Zauwazyles, ze uzywaja one zawsze CPU takiego jaki jest producent superkomputera? Oh… wait… mielismy nie rozmawiac o realiach rynkowych!

          35. jacek2v pisze:

            "Moc jest podawana dla calej kosci a nie rdzenia."
            Moc obliczeniowa dla rdzenia, TDP dla kości.

            "Gdzies jest twardy limit na zakres dyskusji? "
            Tak:), teza: "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura.
            Co do ceny to nie chcę dyskutować – nie znam się na tyle na ekonomii.

            "Wzialem dla tego samego modulu. Z wiki. A tu jakis model ze strony Intela:"
            A skąd są GFLOPY? Na przytoczonej stronie Intela nie ma. Czyżbyś wyliczył z GHz? !!!
            Mhh, czy zamierzasz wersję mobilną Intela porównać z wersją desktopową RISCa? 🙂

            "Zauwazyles, ze uzywaja one zawsze CPU takiego jaki jest producent superkomputera?"
            Co ma piernik do wiatraka?
            A zauważyłeś, że pierwszy serwer oparty tylko na procesorach Intel jest na miejscu 7 (lista November 2011)? Te najwyższe na liście używają GPU.To tylko tak dla zwrócenia Twojej uwagi, Opteron jest na 3 miejscu, ale to AMD 😛

            "Oh… wait… mielismy nie rozmawiac o realiach rynkowych!"
            Tak, mi chodzi o architekturę, która wg @Premislaus jest super, a według mnie do D. Niezależnie od tego, że zawartość na liście Top500 jest zależna od realiów rynkowych to można też z niej wywnioskować kilka ciekawych spostrzeżeń np.
            1-wszy na liście ma zużycie prądu na core 17W RISC:) następne 21W x83+GPU; 31W x86 AMD; 7.36W x86 Intel oraz 55. Power7 61W 🙂
            Odpowiednio: Watt/MFLOP:
            1,2; 1,5; 3,9;3,7; 2708 🙂

          36. jarek pisze:

            "Moc obliczeniowa dla rdzenia, TDP dla kości."

            Hej, obudz sie, dlatego wlasnie mnoze przez ilosc rdzeni w kosci i mnoze przez moc calej kosci.

            "Gdzies jest twardy limit na zakres dyskusji? "
            Tak:), teza: "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura."

            Dziwne, ja sie odnioslem do "Np. architektury RISC żrą mniej i są wydajniesze, np. wspomniany PowerPC"
            i "Rozkazy są w większości 1-2 taktowe".

            "A skąd są GFLOPY? Na przytoczonej stronie Intela nie ma. Czyżbyś wyliczył z GHz? !!! "

            Policzone jako maksymalny teoretyczny limit na podstawie surowych parametrow CPU. Dokladnie tak samo jak dla POWER7 (zakladam tu, ze kolesie z wiki dobrze to policzyli dla POWER7).
            Juz to przerabialismy, te liczby sa teoretyczne i raczej dalekie od rzeczywistosci, dla obu x86 i dla POWER7.

            "Mhh, czy zamierzasz wersję mobilną Intela porównać z wersją desktopową RISCa? 🙂 "

            IBM zrobil Roadrunnera na CPU z Playstation. Smialo, wyrecz mnie i podaj liczby dla swoich ulubionych RISCow, surowe FLOPY, waty i cene.

            ""Zauwazyles, ze uzywaja one zawsze CPU takiego jaki jest producent superkomputera?"
            Co ma piernik do wiatraka? "

            Odpowiedz masz gdzies ponizej.

            "A zauważyłeś, że pierwszy serwer oparty tylko na procesorach Intel jest na miejscu 7"

            Za ostatnie 5 lat, najszybsze superkomputery (podajac za http://en.wikipedia.org/wiki/Supercomputer) to:

            2008 IBM Roadrunner = hybryda x86 + Cell (zreszta Cell'a akurat lubie)
            2009 Cray Jaguar = x86
            2010 Chinczycy Tianhe = hybryda x86 + GPU (choc to chyba nigdy oficjalnie nie potwierdzone)
            2011 Fujitsu = SPARC

            Wnioski? Wnioski jakie mi sie nasuwaja to: wszystkie te architektury maja potencjal na superkomputery. Producenci maja tendence do upychania swoich rozwiazan jesli takowe maja (zrozumiale!). "Najszybszy" okazuje sie ten najswiezszy. Pewnie za rok dwa ktos wypusci kolejny na architekturze X i ten bedzie przez chwile najszybszy.

            "To tylko tak dla zwrócenia Twojej uwagi, Opteron jest na 3 miejscu, ale to AMD 😛 "

            Absolutnie sie nie upieram na Intela czy AMD, IMHO obydwa sa zblizone i sa dobrymi przedstawicielami x86.

            "1-wszy na liście ma zużycie prądu na core 17W RISC:) następne 21W x83+GPU; 31W x86 AMD; 7.36W x86 Intel oraz 55. Power7 61W 🙂
            Odpowiednio: Watt/MFLOP:
            1,2; 1,5; 3,9;3,7; 2708 :)"

            Mozesz podaj jak to wyliczyles i skad wziales dane o zuzyciu mocy dla tych superkomputerow?

          37. jarek pisze:

            "Hej, obudz sie, dlatego wlasnie mnoze przez ilosc rdzeni w kosci i mnoze przez moc calej kosci."

            Musze sie obudzic, mialo byc "mnoze przez ilosc rdzeni i dziele przez moc kosci"

          38. jacek2v pisze:

            "Hej, obudz sie, dlatego wlasnie mnoze przez ilosc rdzeni w kosci i mnoze przez moc calej kosci. "
            Raczej pobudkę zastosuj do Siebie. Napisałem to wcześniej: nie można tak mnożyć biorąc wydajność z 8-korowego i przenosząc na 6-korowy. Czym więcej rdzeni tym wydajność na rdzeń spada.

            "Policzone jako maksymalny teoretyczny limit na podstawie surowych parametrow CPU"
            Bzdury 🙂 Dawno stwierdzone – zwłaszcza w architekturach RISC – że GHz nie mają liniowego wpływu na wydajność.

            "Mozesz podaj jak to wyliczyles i skad wziales dane o zuzyciu mocy dla tych superkomputerow?"
            Nie podałem bo był już wspominany, proszę podaję link http://top500.org

            "wszystkie te architektury maja potencjal na superkomputery. "
            Zgadzam się z Tobą.
            Co do wniosków, to moim zdaniem architektury RISC (na poziomie rozkazów) mają znacznie większy potencjał. A top500 pokazuje, że mimo mniejszych nakładów finansowych (popularności rynkowej) RISCi są bardzo wysoko; mają znacznie więcej rdzeni niż x86 co oznacza, że lepiej się skalują oraz jak widać mają lepszy współczynnik pobieranej mocy do wydajności – aczkolwiek w przypadku przytoczonego przeze mnie Power7 dane są co najmniej dziwne 🙂

          39. jacek2v pisze:

            @Power 7 vs Intel Sandy
            Jakoś tak przy porównywaniu teoretycznym gruszek i jabłek, zawsze wychodzi, że lepsze są te które lubimy 🙂
            Zapewne miałeś dobre intencje, ale to co napisałeś, nie wydaje mi się wiarygodnym porównaniem, głównie z uwagi na "teoretyczne wartości" oraz jednostek, które użyłeś, czyli FLOPS, które są istotne dla komputerów naukowych (pokazują głównie wydajność ALU), lecz w codziennym użyciu mają się często nijak do wydajności. Mieszasz wersje procesorów Power 7, 6 z 8 korowymi – przy 6 korowych wydajność powinna być większa, bo mniejszy jest narzut na koordynację. Nie podajesz konkretnych modelów procesorów itd.
            @Co do taktowania:
            jestem w szoku (autentycznie) x86 wykonuje rozkazy w 1-2 taktach zegara. Muszę ochłonąć i jeszcze raz przeczytać dokumentację Intela – może coś rzeczywiście zmienili. Ale szczerze mówiąc, nie wierzę w to, bo z założenia rozkazy x86 są wielo-taktowe 🙂 A co do Pentium to na pewno miały rozkazy n>2 taktowe 🙂

          40. jacek2v pisze:

            Poczytałem troszkę: http://www.intel.com/content/dam/www/public/us/en… http://download.intel.com/design/processor/manual…
            Trochę się pozmieniało, ale nadal instrukcje x86 są wielo-taktowe, jeno Intel się nie przyznaje ile dokładnie tych taktów jest, bo sztuczek w architekturze tyle użyto, że ciężko dojść. W jednym dokumencie piszą, że 0,25 taktu, a zaraz dodają, ze właściwie to nigdy tak nie ma 🙂 Mają jedynie nadzieję, że rzadko instrukcja będzie trwać tyle co kiedyś 🙂
            Do tego wychodzi, że każdy core ma 3 ALU co oznacza, że 4 korowy i7 to w rzeczywistości 12 korowiec (1 doc str. 2-17) 🙂
            Zresztą podobne jaja są i w Power 7 – out-of-order, cache itp.
            Dobra, takty to moim zdaniem ślepy zaułek porównywania wydajności 😀

          41. jarek pisze:

            "Muszę ochłonąć i jeszcze raz przeczytać dokumentację Intela"

            Musisz duuuzo nadrobic i przestac karmic sie stereotypowa papka. Intele/AMD (od paru lat) robia po pare operacji na cykl dla typowych operacji jak ADD/MOV/CMP…
            To wszystko oczywiscie zalezy jak wysycisz jednostki wykonawcze, pipeline a i tak zazwyczaj ograniczy Cie cache (bo nawet przy transferze z cache jest penalty paru cykli zegara!)
            Wartosci 0.25 cykli na rozkaz to optymalne wartosci ZMIERZONE a nie podane w ulotkach propagandowych.
            Polecam tutaj (rewelacyjna strona z masa wiedzy): http://www.agner.org/optimize/

            "Ale szczerze mówiąc, nie wierzę w to, bo z założenia rozkazy x86 są wielo-taktowe :)"

            Tam sa interpretery rozkladajace je w locie na uopsy i te uopsy sa cachowane. I jednostep rozkladajacych i robiacych prefetch jest pare,
            to nie jest tak, ze w jednym cyklu jest wciagana jedna instrukcja,
            analizowana itd. CPU polyka pamiec kawalkami (chyba po 16 bajtow)
            ktorymi karmi sie male stadko analizatorow opcode.

            "A co do Pentium to na pewno miały rozkazy n>2 taktowe 🙂 "

            Nie napisalem ze wszystkie mial 1-taktowe. RISC tez nie maja wszystkich 1-taktowych.
            I powtorze, walkowanie tematu 1-taktowosci w kontekscie dzisiejszych CPU jest leeko bez sensu.

          42. jacek2v pisze:

            Jak i napisałem, nadal rozkazy x86 są wielo-taktowe (n>>2) 🙂
            "I powtorze, walkowanie tematu 1-taktowosci w kontekscie dzisiejszych CPU jest leeko bez sensu"
            Nie bez sensu, ale nie jest miarodajne w kontekście wydajności konkretnego procesora. Nie można mieszać architektury z konkretnym wykonaniem.

          43. jarek pisze:

            Jak i napisałem, nadal rozkazy x86 są wielo-taktowe (n>>2) 🙂

            I zle napisales, np. "xor eax, eax" wykonuje sie w ulamku taktu.
            Prawidlowo jest *niektore* rozkazy x86 sa wielotaktowe,
            podobnie jak niektore rozkazy RISC.

          44. jacek2v pisze:

            Mylisz realny czas wykonania (sekundy w przeliczeniu lub bez przeliczenia na takty) z tym ile taktów zegara potrzebuje procesor, aby wykonać rozkaz.
            To prowadzi do zmanipulowania informacji.
            Poza tym bzdury: jak w procesorze (dwustanowym) może coś być wykonane poniżej 1 taktu zegara? 🙂
            Mhh chyba, że masz na myśli takt zegara przed podzielnikiem :)(czy też zwanym mnożnikiem:))? A podzielniki teraz to 10,12 czyli minimum 10,12 taktów 🙂 Może też intel w swojej dokumentacji to ma na myśli? Ale to już by było zbyt grubo naciągane 🙂

          45. jarek pisze:

            "Poza tym bzdury: jak w procesorze (dwustanowym) może coś być wykonane poniżej 1 taktu zegara? 🙂 "

            Granie glupiego? Puszczasz strumien N instrukcji, mierzysz czas wykonania, dzielisz przez zegar CPU. Wychodzi mniej niz 1, teoretycznie bzdura – kolejny powod dla ktorego gadanie o 1-taktowosci w nowoczesnym CPU to zwykle pierdzielenie.

            "Może też intel w swojej dokumentacji to ma na myśli? Ale to już by było zbyt grubo naciągane 🙂 "

            Nie tylko nie wiesz o czym mowisz, ale kompletnie nie czytasz co podaje Ci sie na talerzu. Podalem linka do strony z masa parametrow – powtarzam – ZMIERZONYCH.
            Chetnie zobacze podobna strone z taka iloscia konkretnej wiedzy o RISCach swoja droga.

          46. jacek2v pisze:

            "1-taktowosci w nowoczesnym CPU to zwykle pierdzielenie"
            O to mamy już w naszych kompach procesory analogowe!! 🙂

            "Podalem linka do strony z masa parametrow – powtarzam – ZMIERZONYCH. "
            Przeoczyłem linka 😛 Poczytam.

            "Chetnie zobacze podobna strone z taka iloscia konkretnej wiedzy o RISCach swoja droga."
            Sam chciałbym zobaczyć 🙂

          47. jarek pisze:

            "Chetnie zobacze podobna strone z taka iloscia konkretnej wiedzy o RISCach swoja droga."
            Sam chciałbym zobaczyć 🙂

            Jak znajdziesz to daj znac, ja mam powazne problemy z wygooglaniem czegokolwiek konkretnego o POWER7 np.
            Wszedzie papka o tym jaki ten CPU zajebiscy i kompletny brak liczb. Pobor mocy wygooglalem w zakresie 100 – 300W, wiec przyjalem najnizszy bo trudno mi uwierzyc, ze jest az tak energozerny.
            Choc podobno Apple olal POWER wlasnie ze wzgledu na problemy ze zuzyciem energii.

          48. jacek2v pisze:

            "Choc podobno Apple olal POWER wlasnie ze wzgledu na problemy ze zuzyciem energii."
            Bardzo możliwe. Ja słyszałem o problemach z dogadaniem się co do finansów i dostaw 🙂
            A co do energii, to rzeczywiście mógł być problem, ale nie samego procesora a chipsetów, bo tych do zastosowań mobilnych niewiele.

          49. jacek2v pisze:

            Poczytałem stronkę, z linka który podesłałeś "http://www.agner.org/optimize/". Skupiłem się na tym dokumencie : http://www.agner.org/optimize/instruction_tables…. – bardzo fajny,
            No cóż, nie zmieniam zdania i jak widać z tabelki ze str. 74 – skupiłem się na wspomnianych Core iX – minimalne latency gigantyczne (z kwiatkami 350 cykli) + czasy wykonania uops + losowość (zależnie od chain) + wiele kombinacji (bo x86 rozkazy korzystające z różnych rejestrów to różne rozkazy :)) + jeszcze "core clock cycles" (chyba po to by trudniej było :)) = HGW cykli rozkaz trwa. Nie robiłem dokładnych wyliczeń, ale na oko przeważająca większość rozkazów ponad 4 cykle i sporo ponad 10.
            Czytając tę listę rozkazów naprawdę nie wiem jak można dojść do wniosku, że x86 to cytuję: "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura. " Zwłaszcza przemyślana 🙂

          50. Premislaus pisze:

            Zacznijmy od tego, że nie jest dostępny żaden publiczny dokument w tym stylu o architekturze PowerPC.

            W prosty sposób, zdecydowana większość komputerów i superkomputerów jest oparta o x86.

            Jak sklecasz komputer do np. obróbki audio-video, to nie kupisz sobie nigdzie wydajnego procesora PowerPC. Żadnego nie kupisz w sklepie( nie liczę nowych Amig – ale ich wydajność jest żenująca).

            BTW tymi optymalizacjami zajmuje się kompilator. A pisząc rozbudowany program, można użyć innych instrukcji, lub wprowadzić drobne modyfikacje by kompilator lepiej z nich korzystał, robił je.

            Nie widziałem żadnego testu nowoczesnego PowerPC( np. modelu z 2011 r. i który można kupić) i x86 w typowo biurowo-desktopowym zastosowaniu, plus obróbka audio-video, boinc, blender i jakieś profesjonalne oprogramowanie w tym stylu.

            Dyskutujemy w sytuacji, gdy wydajność jednej architektury znamy z rzeczywistości, a drugą z papieru.

          51. jacek2v pisze:

            "Zacznijmy od tego, że nie jest dostępny żaden publiczny dokument w tym stylu o architekturze PowerPC."
            Jest tego trochę, pierwszy z brzegu: https://www-01.ibm.com/chips/techlib/techlib.nsf/…. Raczej jest ogólny brak wiedzy na temat PowerPC, np. nie słyszałem, aby architekturę PowerPC czy też RISC wykładano na uczelniach.

            "to nie kupisz sobie nigdzie wydajnego procesora PowerPC."
            Fakt, proste to nie jest. A niektóre RISCi są wręcz zakazane w niektórych krajach np. Cell 🙂

            "…w typowo biurowo-desktopowym zastosowaniu.."
            Komputery Apple były lubiane przez grafików już przed przejściem na x86. To może coś oznaczać 🙂

            "Dyskutujemy w sytuacji, gdy wydajność jednej architektury znamy z rzeczywistości, a drugą z papieru."
            Nie. Wybacz, że z uporem powtórzę: "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura."
            Ta architektura NIE JEST ani przemyślana, ANI WYDAJNA, konkretne implementacje czerpią,jak zostało wspomniane, z architektury RISC, czyniąc x86 wydajniejsze :). Dla mnie największy problem w x86 to lista rozkazów, która strasznie komplikuje pracę z procesorami: optymalizację. debugowanie, przewidywalność, budowanie sterowników do automatyki itp.

            BTW: Intel przykleił się do x86 nie z powodów technicznych (lepsza architektura) tylko z powodu posiadania kontroli nad rynkiem. Nie jest w jego interesie zmiana na cokolwiek innego co zrywa wsteczną kompatybilność z x86.

          52. Premislaus pisze:

            Nie znalazłem żadnej książki o RISC, czy serii artykułów, by móc obiektywnie stwierdzić kto z kogo czerpie i jaki jest to wpływ. Z tymi RISCami zaczęło kombinować AMD, mieli swoje 5 minut w czasach Pentium 4, gdzie procesor miał wydłużony potok wykonawczy. To była ślepa uliczka. Przy Core zgnietli AMD, naprawili wszystkie swoje błędy. Odskoczyli od AMD z taką prędkością, że AMD wycofuje się powoli z rynku CPU. Będą kombinować z APU, z OpenCL, mówi się o ARM, etc. W takim Intelu projektują procesory ręcznie, a w AMD na automatach – wyszło to info przy Buldożerach.

            Ale w interesie rynku też nie jest migrowanie na inne architektury.

            Jest najwydajniejszą architekturą. Innej nie produkują, albo w małych partiach. PowerPC skończyło w routerach. Jest jeszcze jeden model kosztujący kilkaset tysięcy dolarów( wydajnosć sprzed 20 lat, ale specjalnie "utwardzany" ze względu na promieniowanie kosmiczne), do statków kosmicznych, sond, etc. Ale nie jest jedynym na tym rynku.

            Zauważ, że x86 miało wielu konkurentów.

          53. jacek2v pisze:

            "Zauważ, że x86 miało wielu konkurentów."
            Tak to prawda, ale żaden nie miał jako sprzymierzeńca firmy Microsoft z systemem Windows 🙂

            "Jest najwydajniejszą architekturą. "
            Zdefiniuj. Jak widać można to różnie rozumieć: W/GFLOP, W/MIPS, $/GFLOP, max ilość połączonych rdzeni/procesowór (superkomputery) itd.

          54. jacek2v pisze:

            "Nie znalazłem żadnej książki o RISC"
            Pierwsza z brzegu :): http://www.amazon.com/MIPS-RISC-Architecture-Gerr…

          55. Premislaus pisze:

            Ale to jest leciwe. Opublikowano w 1991 r. Nie twierdzę, że nie jest to ciekawa książka, bo na pewno jest, ale przydałoby się coś nowego. Przecież przez 20 lat wiele się zmieniło.

          56. jacek2v pisze:

            Aleś człeku leniwy, poniżej masz nowszą i Google jeszcze działa 😛 http://michalemol.over-blog.com/article-downloads…

          57. > Dyskutujemy w sytuacji, gdy wydajność jednej architektury znamy z rzeczywistości, a drugą z papieru.

            Ale przecie IBM te procesory Power produkuje i montuje w swoich maszynach. Wątpie, żeby stały tylko na wystawach. Pewnie gdzieś pracują.

          58. Premislaus pisze:

            To jest wiadome. Ale niewiele można znaleźć na ten temat w internecie – poza deklaracjami.

          59. "Jak i napisałem, nadal rozkazy x86 są wielo-taktowe (n>>2) 🙂 "

            Każdy rozkaz jest wielotaktowy (w CISCach i w RISCach), ale dzieki pipeline wykonuje się w jednym takcie, a dzięki superskalarności można wykonać kilka rozkazów w jednym takcie.

          60. jacek2v pisze:

            Dla RISC 1-2 takty dla CISC 3- i kilkanaście (zależnie o parametrów) – i o to mi właśnie chodzi.

          61. "Dla RISC 1-2 takty dla CISC 3- i kilkanaście (zależnie o parametrów) – i o to mi właśnie chodzi. "

            Jakim cudem RISC jest w stanie pobrać instrukcję, zdekodować i wykonać w takcie? Przecież to fizycznie niemożliwe.

            Jak napisałem wyżej CISC od 486, a RISC od zawsze jest wykonywane w 1 takcie dzięki pipeline. Oczywiście mówimy o procesorach komputerowych, a nie mikrokontrolerach.

          62. jarek pisze:

            "Dla RISC 1-2 takty dla CISC 3- i kilkanaście (zależnie o parametrów) – i o to mi właśnie chodzi."

            Albo ordynardnie klamiesz, albo ordynardznie bredzisz.

          63. jacek2v pisze:

            "Albo ordynardnie klamiesz, albo ordynardznie bredzisz."
            Łatwo jest zarzucić kłamstwo albo problemy umysłowe – na jakiej podstawie tak twierdzisz?

          64. jarek pisze:

            Skup sie, 1-taktowa instrukcja to nie jest calkowity czas pomiedzy momentem gdy CPU wezmie instrukcje z RAM a momentem koncowego jej wyniku.
            Zaden CPU nie robi tego wszystkiego w jednym takcie.

            Ten jeden takt ktorego tak sie uczepiles to "czas w ktorym jednostka wykonawcza CPU jest zajeta wykonywaniem danego rozkazu". I w tym sensie, wszystkie podstawowe instrukcje x86 sa 1-taktowe. Zreszta w RISC tez.

            Wielotaktowe pozostaja wszelkie dostepy do pamieci i pare wrednych instrukcji typu IDIV. (i tu tez nie ma znaczenia, RISC czy x86).

          65. jacek2v pisze:

            "Skup sie, 1-taktowa instrukcja to nie jest calkowity czas pomiedzy momentem gdy CPU wezmie instrukcje z RAM a momentem koncowego jej wyniku.
            Zaden CPU nie robi tego wszystkiego w jednym takcie. "
            Jest i tak było w starszych RISCach.
            Tu masz wspomniane: http://en.wikibooks.org/wiki/SPARC_Assembly/SPARC… – drugi paragraf.
            "I w tym sensie, wszystkie podstawowe instrukcje x86 sa 1-taktowe."
            Nie prawda. Zawsze liczy się cały rozkaz. Mówiąc krótko wrzucasz jeden rozkaz i liczysz ile taktów minie do wykonania rozkazu – bez tzw. zakładek, wynikających z out-of-order, czy cache itp.

          66. wladca_kodu pisze:

            "Mówiąc krótko wrzucasz jeden rozkaz i liczysz ile taktów minie do wykonania rozkazu – bez tzw. zakładek, wynikających z out-of-order, czy cache itp."

            Sorry, ale bredzisz. Przyjmując Twoją definicję zarówno nowoczesne ARMy, SPARC, PowerPC jak i x86 wykonują każdy rozkaz w wielu cyklach (zwykle jest to duże kilka lub kilkanaście). Jednocyklowe to sobie mogą być proste mikrokontrolery typu 8051. Tylko nie wkręcisz ich na 3 GHz.

          67. jacek2v pisze:

            "Ten jeden takt ktorego tak sie uczepiles to "czas w ktorym jednostka wykonawcza CPU jest zajeta wykonywaniem danego rozkazu". I w tym sensie, wszystkie podstawowe instrukcje x86 sa 1-taktowe. Zreszta w RISC tez. "
            A tu masz implementację SPARCa: http://jorisvr.nl/leon3_insntiming.html#timingmod…
            Zestaw prosty i przejrzysty, większość rozkazów 1 cyklowe.

          68. jacek2v pisze:

            Zapomniałem o ARM 🙂 i okazało się, że pięknie ma wszystko udokumentowane.
            Tu masz zestawienie instrukcji : http://infocenter.arm.com/help/index.jsp?topic=/c…
            w tym rozdziale timmingi: "Programmers Model > Instruction set summary > Cortex-M4 instructions"
            Większość instrukcji 1 takt w porywach do 2 🙂

          69. wladca_kodu pisze:

            "Np. architektury RISC żrą mniej i są wydajniesze, np. wspomniany PowerPC"

            A Intel to co niby jest? Już od dawna w środku siedzi RISC, jedynie na wejściu są dekodery instrukcji tłumaczące stare instrukcje CISCowe na wewnętrzne RISCowe.

          70. jacek2v pisze:

            "A Intel to co niby jest?"
            No właśnie 🙂

          71. jarek pisze:

            > Niespójna, nielogiczna, bardzo trudna do optymalizacji i powolna.

            Niespojna, moze. Nielogiczna, moze. To sa zazwyczaj rzeczy ktorych nie da
            sie uniknac w produkcie ktory jest na rynku przez dziesieciolecia.
            Cos jak z UNIXem, ktory po ponad 30 latach jest balaganiarskim zlepkiem
            roznych klamotow ale o dziwo ciagle daje rade.
            x86 trudna do optymalizacji? Konkrety jakies?
            Bo na przyklad zmienna dlugosc rozkazu sprawia, ze kod jest bardziej zwarty
            i lepiej wykorzystuje cache – ot taki paradoks na ktorym CISC wygrywa dzis z RISC.
            Na przyklad takie trywialne cos jak zaladowanie stalej do rejestru na CISC moze
            byc bardzo czesto zoptymalizowane, na RISC to czesto wielorozkazowa szopka.
            A co do powolnosci to juz pierdzielisz farmazony. x86 w swoim przedziale cenowym
            jest najszybszym rozwiazaniem na rynku.

          72. _kj_ pisze:

            "Bo na przyklad zmienna dlugosc rozkazu sprawia, ze kod jest bardziej zwarty
            i lepiej wykorzystuje cache – ot taki paradoks na ktorym CISC wygrywa dzis z RISC."
            ARM Cortex M-3 (coś, z czym najczęściej pracuję) ma rozkazy różnej długości (Thumb, Thumb-2), więc RISC zaczyna to zapożyczać 😉

          73. jacek2v pisze:

            "Niespojna, moze. Nielogiczna, moze. To sa zazwyczaj rzeczy ktorych nie da
            sie uniknac w produkcie ktory jest na rynku przez dziesieciolecia."
            Gdyby tak było to ok, ale już na samym początku x86 był taki, zanim osiągnął popularność. Szczerze mówiąc nie wiem czemu. Może producenci RISCów byli bardziej pazerni ?
            "A co do powolnosci to juz pierdzielisz farmazony. x86 w swoim przedziale cenowym
            jest najszybszym rozwiazaniem na rynku."
            Sam pierdzielisz. Ja mówię o architekturze, Ty o jakimś procesorze. To dwie różne rzeczy. Poza tym nie wspominałem o cenie.

          74. jarek pisze:

            "Sam pierdzielisz. Ja mówię o architekturze, Ty o jakimś procesorze. To dwie różne rzeczy."

            Maslo maslane. Jak porownywac wydajnosc architektur jak nie przez ich realne implementacje? Masturbujac sie teoriami nie przekladajacymi sie realia?
            "Kup pan cegle, na papierze nasza cegla jest taka rewelacyjna."

            "Poza tym nie wspominałem o cenie"

            Ale ja wspominam, bo to wazny detal. Zwlaszcza jak cos ma byc czyms wiecej niz kolejna ciekawostka przyrodnicza.

          75. jacek2v pisze:

            Cena:"Ale ja wspominam, bo to wazny detal."
            Proszę o skupienie 🙂
            Ja odnosiłem się do bzdurnego tekstu: "Wbrew obiegowym opiniom, x86 to bardzo wydajna i przemyślana architektura. "
            Ani tu o cenie, ani o konkretnej implementacji.

            " Jak porownywac wydajnosc architektur jak nie przez ich realne implementacje?"
            Tu się zgadzam, ale nie można tylko na implementacja polegać – podstawa to architektura. Porównując konkretne implementacje, trzeba mieć na uwadze całe otoczenie: popularność, siłę producentów, ilość lat rozwoju. To co jest najtańsze wcale nie jest najlepsze, a i tak naprawdę też nie musi być najtańsze w produkcji 🙂

          76. Premislaus pisze:

            To nie jest bzdurny tekst a implementacje zobaczysz w każdym domu i sklepie komputerowym. Także na liście TOP500 superkomputerów. I znając życie pewnie piszesz na komputerze zaopatrzonym w tę implementacje ;).

            Mam taką książkę w domu "Anatomia PC" – wydana przez Helion w 1998 r. Facet tam pisze, że granice między CISC a RISC już zatarły się. W tabelkach dotyczących poszczególnych rodzin procesorów, tylko przy Pentium i Pentium MMX pisze "native x86". Przy Pentium Pro, Pentium 2 i procesorach AMD pisze, że to są RISCi. Następnie wspomina, że procesor PowerPC 601 ma bardzo dużo instrukcji względem nazwy RISC( zredukowana ilość instrukcji). Także pisze, że o RISC i CISC można mówić w odniesieniu do poszczególnych fragmentów konstrukcji. Pentium Pro i AMD K6 są zaliczane do CISCów( przyjmują na wejściu instrukcje x86), ale posiadają dekoder który tłumaczy instrukcje na wewnętrzny kod procesora.

            BTW w tej książce pisze też, że CISCiem jest sławna Motorola 680xx.

          77. jarek pisze:

            "Mam taką książkę w domu "Anatomia PC" – wydana przez Helion w 1998 r. Facet tam pisze, że granice między CISC a RISC już zatarły się."

            Liste rozkazow x86 (i chyba kazda inna tak naprawde) nalezy traktowac analogicznie jak strumien rozkazow w JVM. Tyle ze ich interpretacje / przetwarzanie jest robione na poziomie sprzetu przez CPU.
            Natomiast co sie dzieje pod spadem to juz bywa zupelnie inna historia. Architektury x86 sie caly czas pod spodem zmieniaja, ale "warstwa abstrakcji", czyli lista rozkazow pozostaje kompatybilna.
            Wewnetrznie WSZYSTKIE nowoczesne CPU, czy to RISC, czy x86 czy ARM uzywaja mniej wiecej tego samego zestawu technik: prefech, cache, pipeline, out-of-order, register renaming etc. Co je rozni, to zazwyczaj ile z nich i w jak zaawansowany sposob jest zaimplementowana w danym modelu – co z kolei jest dyktowane przez planowana cene, target zastosowania itd.
            Niezrozumialy jest dla mnie powod, dlaczego niektorym to tak ciezko ogarnac i ciagle tkwia z przekonaniami gdzies na poczatku lat 90tych?

          78. jacek2v pisze:

            "Co je rozni, to zazwyczaj ile z nich i w jak zaawansowany sposob jest zaimplementowana w danym modelu"
            Mylisz się. Nie wiem czy programowałeś w assemblerze, ale wtedy łatwo jest zrozumieć różnicę między x86 a RISC.

            Ale właśnie zauważyłem, że z Twojego punktu widzenia pośrednio przyznałeś mi rację 🙂
            Cytując Twoje Wikipedię: "Obecnie popularne procesory Intela z punktu widzenia programisty są widziane jako CISC, ale ich rdzeń jest RISC-owy." 😛

          79. jacek2v pisze:

            "BTW w tej książce pisze też, że CISCiem jest sławna Motorola 680xx."
            To rzeczywiście ciekawostka.
            Dla mnie zawsze istotne były różnice na poziomie assemblera, na optymalizacje wewnętrzne nie mam wpływu, a kod czasami trzeba pisać i w assemblerze. Zresztą optymalizacja i przetwarzanie równoległe, jest łatwiejsze i bardziej efektywne do ogarnięcia, gdy architektura jest uporządkowana i przewidywalna.

          80. jacek2v pisze:

            "BTW w tej książce pisze też, że CISCiem jest sławna Motorola 680xx."
            To rzeczywiście ciekawostka.

            Już wiem o co chodzi, ja pamiętałem 68xx jedna cyferka mniej 🙂

          81. jarek pisze:

            "popularność, siłę producentów, ilość lat rozwoju. To co jest najtańsze wcale nie jest najlepsze, a i tak naprawdę też nie musi być najtańsze w produkcji 🙂 "

            Tu sie wpelni zgadzam.
            Przyklad jak dzialaja realia to chocby uzycie takich a nie innych CPU w superkomputerach.
            IBM robi superkomputery ze swoimi CPU. Fujitsu ze swoimi. Albsolutnie zrozumiale. Wpompowali biliony w ich rozwoj wiec zwracaja koszty i je promuja.
            Cray czy Chinczycy ze swoimi nowymi superkomputerami dla odmiany, nie byli zwiazany takimi ograniczeniami i przesiadli sie na x86.

          82. jacek2v pisze:

            "Cray czy Chinczycy ze swoimi nowymi superkomputerami dla odmiany, nie byli zwiazany takimi ograniczeniami i przesiadli sie na x86."
            Jeśli dobrze pamiętam Cray miał własne procki. A chińczycy zrobili swój – ale coś o nim teraz cicho 🙂

          83. A ja już w czasach Pentium Pro czytałem, że ten "przemyślany" zestaw instrukcji jest w locie rozkładany na coś w stylu risc.

          84. jacek2v pisze:

            Ja myślałem, że to w Pentium 4 dopiero wrzucili, ale masz rację 🙂 Nie pamiętam dobrze, ale chyba ten dodatkowy tłumacz był nawet przed tzw. microcod-em (oprogramowaniem zapisanym w strukturze)

      2. "Nie zapominaj, że dla dzisiejszego procesora największą barierą jest szybkość pamięci. "

        To dlaczego po zastosowaniu zdecydowanie szybszych modułów pamięci przyspieszenie jest często symboliczne? Równie ważny jest cache i predykcja.

        1. _kj_ pisze:

          Najwolniejszy jest transfer danych z/do procka. Predykcja i cache służą tylko temu, żeby oszczędzić sobie niepotrzebnych transferów…

          1. "Najwolniejszy jest transfer danych z/do procka"

            Raczej z dysku do pamięci ;). Po to się cachuje, żeby likwidować wąskie gardła.

          2. _kj_ pisze:

            Nie, linia procesor – pamięć jest najwolniejsza dla samego wykonywania programów.
            Współczesne procesory potrafią wykonać do kilku operacji zmiennoprzecinkowych w cyklu zegara, ale pobranie danych do tych operacji z pamięci RAM zajmuje po 100 i więcej cykli.

          3. "Współczesne procesory potrafią wykonać do kilku operacji zmiennoprzecinkowych w cyklu zegara, ale pobranie danych do tych operacji z pamięci RAM zajmuje po 100 i więcej cykli. "

            I od tego jest cache żeby to tyle nie trwało.

            Rzuciłeś hasło, że pamięć to najsłabsze ogniowo kompa a ja się po prostu z tym nie zgadzam.

            Prosty test: różnica między najszybszymi i najwolniejszymi pamięciami dd3 wynosi kilkadziesiąt procent, zarówno w transferze jak i latency. Podczas benchmarków aplikacyjnych topnieje do max kilku. procent.

            Morał z tego taki, że kluczowa w szybkości obliczeń jest wydajność CPU. Pamięć dzięki cachowaniu, prefetch i predykcji jest zdecydowanie na drugim planie.

          4. GentooPower pisze:

            Mylisz się. Porównaj rozmiary cache procesora i rozmiary pamięci ram. W środowisku wielozadaniowym cache jest przynajmniej kilkukrotnie za małe. Ten "prosty test" niczego nie pokazuje. Dam Ci inny prosty test: Spróbuj skompilować sobie źródła linuksa (lub cokolwiek innego) co jest zawarte na dysku SSD i porównaj to z kompilacją źródeł zawartych na normalnym dyskiem z talerzami. Na SSD będziesz miał robotę wykonaną kilkukrotnie szybciej. To obrazuje właśnie różnice w czasie dostępu. W przypadku procesora i pamięci RAM różnice te sięgają o wiele większych wartości.

            Pozdr.

          5. "I od tego jest cache żeby to tyle nie trwało."

            Nie jestem wybitnym implementatorem ani teoretykiem i sobie tylko gdybam: mogę sobie wyobrazić algorytm, który tak celuje w dostępy do danych, że nic się w cashu nie zmieści. Zawsze wyjdzie poza cash. np. ogromna macierz do którejsą mocno rozrzucone. Być może są i takie klasy zadań. I co wtedy? Dużo jest problemów, które nie chcą rozwiązywać się "lokalnie."?

          6. A co jeżeli ta macierz nie mieści się w RAM i trzeba swapować?? I odwołania do ramu zawsze wyglądają tak, że trzeba pociągnąć dane z dysku.

            I co wtedy?? Zwalniasz programistów i zatrudniasz lepszych ;).

          7. vampire pisze:

            xia: proponuje, abys troche poczytal o systemach operacyjnych i metodach obliczeniowych.

            To, ktory element staje sie waskim gardlem zalezy zawsze od typu obliczen. Jezeli bedziesz mial serie petli, ktore iteruja niezaleznie od siebie na stosunkowo malym zbiorze danych, to zwiekszajac ilosc rdzeni / procesorow jestes w stanie uzyskac prawie liniowy przyrost predkosci obliczen. Szczegolnie wowczas, gdy kazda z tych petli dziala na oddzielnym watku, kazdy watek operuje na niezaleznych danych (ktorych nie trzeba synchronizowac pomiedzy cache rdzeni czy roznych procesorow) oraz liczba watkow jest rowna lub jest mniejsza od liczby procesorow/rdzeni.

            Jezeli natomiast potrzebna jest synchronizacja w obrebie pamieci wspoldzielonej danego procesu to wydajnosc zaczyna spadac. Inaczej byc nie moze, bo trzeba zapewnic aby kazdy watek widzial aktualny stan pamieci po kazdej modyfikacji.

            Jezeli musisz dokonywac synchronizacji pomiedzy wieloma procesami, czesto rozproszonymi na wiele maszyn to komunikacja pomiedzy wezlami moze stac sie Twoim waskim gardlem (nawet w przypadku infiniband).

            Wydajnosc spada rowniez (dramatycznie) gdy dane nie mieszcza sie w cache, lub program generuje duzo losowych odwolan do pamieci. Wowczas pamiec robi sie naprawde waskim gardlem i dokladanie rdzeni nic nie da. Czasami daje sie osiagnac troche lepsza skalowalnosc na wielu fizycznych procesorach, z gdzie kazdy ma wlasne banki pamieci.

            Natomiast co do dysku. Dyski byly i sa powolne. Tylko to jest juz zupelnie inna kategoria problemu. W przypadku analizy zagadnien wydajnosci dla programow obliczeniowych zaklada sie, ze calosc dajnych znajduje sie w pamieci RAM. Bo inaczej rownie dobrze moglbys doczepic naped LTO4 i powiedziec, ze to jest Twoje waskie gardlo. Jezeli dane nie mieszcza sie w pamieci, to najczesciej stara sie w jakis inteligentniejszy sposob wczytywac dane i analizowac je w kawalkach, a jak sie nie da to czesto oznacza, ze trzeba wykupic czas na maszynie z odpowiednia iloscia RAM…

            Zakladanie z gory koniecznosci uzywania SWAP, nawet na SSD to nie jest dobre rozwiazanie.

          8. Konkluzja: trzeba implementację dostosować do sprzętu, a nie rzucać ogólnymi tezami, że cytuję:
            "nie zapominaj, że dla dzisiejszego procesora największą barierą jest szybkość pamięci. ",
            równie dobrze może wąskim gardłem może być synchronizacja/ komunikacja, wolne CPU, a w przypadku BD – storage, ale przeciweż są to komunały.

          9. _kj_ pisze:

            "A co jeżeli ta macierz nie mieści się w RAM i trzeba swapować?? I odwołania do ramu zawsze wyglądają tak, że trzeba pociągnąć dane z dysku."

            Jeśli mówimy o obliczeniach, to taka sytuacja jest patologiczna.

      3. jarek pisze:

        "Dwa rdzenie nie oznaczają wzrostu wydajności dwa razy, analogicznie – 8 razy więcej rdzeni nie powoduje przyrostu wydajności osiem razy. Nie zapominaj, że dla dzisiejszego procesora największą barierą jest szybkość pamięci. "

        To zagadnienie jest duzo bardziej skomplikowane niz jedynie dostep do pamieci.
        Wbrew chetnie powielanej mitologii o cudach na patyku wielu rdzeni to rzadko sie skaluje nawet w przyblizeniu liniowo.
        Polecam doczytac o prawie Amdahla. Poza tzw algorytmami 'embarrassingly parallel' skalowanie na wiele rdzeni szybko sie wyplaszcza ze wzgledu na koniecznosc synchronizacji danych pomiedzy watkami.

        1. _kj_ pisze:

          Z góry założyłem, że procesy nie współdzielą zasobów, stąd pominąłem synchronizację i skoncentrowałem się na problemach czysto sprzętowych, ale masz rację: problemy z synchronizacją jeszcze bardziej dokopują wydajności wielordzeniowców.

        2. wladca_kodu pisze:

          Dlatego jak się chce programować w sposób skalowalny, to się używa asynchronicznego przekazywania komunikatów. W ten sposób jesteś w stanie zapewnić, żeby każdy rdzeń miał co robić i nigdy nie potrzebował uzyskiwać blokad. Dlatego coraz większe znaczenie będą miały języki, które sobie z takim stylem programowania dobrze radzą – czyli wszelkie funkcyjne.

  3. Michał Olber pisze:

    Wydajność była taka kiepska, bo te procesory są pewnie stworzone do konkretnych zastosowań i będą miały specyficzne oprogramowanie pod siebie. Najpewniej do baz danych, dużej ilości transakcji, czy obliczeń, które wymagają sporo operacji na sekundę. A te FBkowe testy, to sobie mogą w /dev/null wsadzić.

    1. troll pisze:

      "Pewnie..", "najpewniej…" – a nie prościej zajrzeć do źródeł, żeby się przekonać, że nie masz racji? Procesory Tile są ogólnego przeznaczenia, jak Intele czy AMD. Tak przynajmniej są określane przez producenta.

      1. przemysław pisze:

        Skoro tak to fantastycznie! A teraz poproszę linka do jakiejś jednostki desktop/workstation którą będę sobie mógł zakupić. Nie ma? – ciekawe dlaczego…

  4. mariusz pisze:

    "Swoimi działaniami, guru MIT wyprzedza inne obecne na rynku firmy"
    nVidia upycha w GPU prawie 500 rdzeni, wiec Tilera marketingowo wciaz jest w tyle 😉

    @Michał Olber: Te konkretne zastosowania dla tego procesora to wedlug producenta miedzy innymi: "Web serving, PHP applications, Java applications, In-memory database (Memcached)", przy czym te ostatnie bylo testowane przez Facebooka. Ich test jest promowany przez Tilere, wiec nie wydaje mi sie aby wyniki w nim byly zanizone. http://www.tilera.com/products/processors/TILE-Gx…

    1. _kj_ pisze:

      500 rdzeni w GPU ma dość konkretne wymagania dotyczące organizacji danych w pamięci. W GPU nawet RAM ma strukturę hierarchiczną – do obliczeń rdzeń GPU potrzebuje mieć dane w "swoim" kawałku pamięci.

      1. GentooPower pisze:

        Niekoniecznie, jest globalna pamięć karty "shared memory" (kto programował z OpenCL lub CUDA ten wie o czym mówie), ale fakt, odwoływanie się do niej jest wolniejsze. Szybkości porównałbym to z pamięcią cache i ram.

        1. _kj_ pisze:

          Tak, wiem o tym. Apropo OpenCL i CUDA: ktoś to porównał (solver do równań różniczkowych) i wyszło, że CUDA jest o rząd wielkości szybsza. M.in. dzięki lepszej kontroli nad pamięcią.

  5. el_es pisze:

    "jak wykazały testy przeprowadzone przez Facebooka"

    Mój kandydat na cytat roku.

    1. troll pisze:

      A co w tym zabawnego? Tobie wydaje się, że skoro Facebook świadczy usługi dla pospólstwa, to działką IT w Facebooku też się pospólstwo zajmuje, a serwis stoi w garażu na LAMP-ie? Trochę pokory.

      1. Budyń pisze:

        Tak zasadniczo polecam dotyczać – owszem Facebook stoi na LAMPie lub blisko. Jest MySQL, jest Nagios, jest PHP z kupą własnych wynalazków….

        1. troll pisze:

          Tak zasadniczo polecam zwracać uwagę na kontekst. Określenie "serwis stoi w garażu na LAMP-ie" miało oznaczać… a co tam, nie chce mi się tłumaczyć.

  6. Budyń pisze:

    FIXING IT FOR YOU:
    "Swoimi działaniami, guru MIT nadgania inne, już obecne na rynku firmy jak np. Sun Microsystems i ich procesory UltraSparc, szczególnie UltraSPARC T2……..128 rdzeni na jednej kostce.

    1. Budyń pisze:

      Oczywiście miało być " już NIEobecne".

      1. jarek pisze:

        Kiedys byl sprzetowy CPU Forth'a zaprojektowany przez tworce Forth'a. Mial chyba kilkadziesiat rdzeni.
        Generalnie idea nie jest niczym nowym. Powraca jak boomerang i ciagle rozbija sie o realia 😀

  7. Budyń pisze:

    @xia
    A na jakim OSie i oprogramowaniu ? Bo widzisz, rdzenie mogą WCALE nie pomóc.

    1. "A na jakim OSie"

      MS DOS

      "i oprogramowaniu ? "

      TAG wolno przewija tekst.

      "Bo widzisz, rdzenie mogą WCALE nie pomóc. "

      O widzisz, myślałem, ze dołożeni kolejnych rdzeni przyspieszy sprawę. THX.

  8. prawo mora gdzie? (jak przesadzą to pójdą z torbami , tak jak ocz ,3dfx z najszybsza kartą świata Voodoo 5-ątką, i wile innych )

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.