eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramowanie wielowątkowe w architekturze NUMA › Re: Programowanie wielowątkowe w architekturze NUMA
  • Data: 2011-01-18 11:25:33
    Temat: Re: Programowanie wielowątkowe w architekturze NUMA
    Od: Sebastian Kaliszewski <s...@r...this.informa.and.that.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Fil wrote:
    > Witam!
    >
    > Mam program wielowątkowy, który poprawnie pracuje na kompie (laptop):
    > CPU: Intel i7 X920 2GHz, 16MB RAM (4 rdzenie + HT = 8 CPU logicznych w
    > architekturze UMA), OS: Windows 7 64bit Prof.
    >
    > W programie odpalam 8 wątków (lub 16 wątków), które intensywnie
    > korzystają ze wspólnej, dwuwymiarowej tablicy liczb rzeczywistych.
    > Wszystkie wątki ładnie obciążają każdy z rdzeni w 100%. Można ustawiać
    > dowolnie koligację na poszczególnych rdzeniach - śmiga aż miło.
    >
    > Następnie ten sam program odpalam w systemie:
    > 8 x CPU: AMD Opteron 8493SE 2.8GHz , 64MB RAM (8 x 6 rdzeni = 48 CPU
    > logicznych w architekturze NUMA, 8 węzłów po 6 CPU w każdym), OS:
    > Windows Server 2008 R2 Enterprise (płyta Tyan n4250QE S4985 + M4985).
    >
    > I tu klapa. W programie odpalam 48 wątków, analogicznie jak wyżej. Wątki
    > nie są przydzielane przez system do poszczególnych, logicznych CPU tylko
    > (takie mam wrażenie) są przełączane pomiędzy CPU tak, jakby stanowiły
    > program jednowątkowy. Czyli: po ustawieniu koligacji na 1 rdzeń mam
    > obciążenie tego rdzenia na 100%, natomiast jak ustawię na 2 rdzenie to
    > obciążenie rozkłada się po 50%, itd. Zatem obciążenie dla całego
    > programu rozkładane jest pomiędzy rdzenie tak jakby był on jednowątkowy.

    Cóś mi się wydawało, że w windzie (od 2000 lub XP) jest możliwość
    przypisania CPU affinity per wątek. Choć mogę się kompletnie mylić bo
    dawno tam nie zaglądałem.

    > Czy zna ktoś na to receptę? Jedyne wyjście jakie przychodzi mi do głowy
    > to przeprogramowanie algorytmu i dostosowanie go do NUMA, co nie będzie
    > proste :(.

    Jak duży masz working set? I jak insensywnie korzystasz z danych
    (inaczej: jaki masz "bandwidth" per operacja i jak czasochłonna jest
    taka operacja)[*]. Jak się w cache nie mieści i ma wymagania więcej niż
    1 jedna nowa (z pamięci, nie cacheowana) liczba double na ok 200
    podstawowych operacji FP), to bez rozrzucenia danych pomiędzy węzły
    będzie wooolno.

    > A przy okazji: może ktoś zna jakiś link do dobrej dokumentacji o
    > programowaniu w NUMA pod Winde?

    tu nie pomogę, ale chyba inni coś podwiedzieli

    pzdr
    \SK

    --
    "Never underestimate the power of human stupidity" -- L. Lang
    --
    http://www.tajga.org -- (some photos from my travels)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: