eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProgramowanie wielowątkowe w architekturze NUMAProgramowanie wielowątkowe w architekturze NUMA
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.PO
    STED!not-for-mail
    From: Fil <f...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Programowanie wielowątkowe w architekturze NUMA
    Date: Sun, 16 Jan 2011 17:47:06 +0100
    Organization: http://onet.pl
    Lines: 50
    Message-ID: <igv7ek$ku2$1@news.onet.pl>
    NNTP-Posting-Host: keisi.tu.kielce.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: quoted-printable
    X-Trace: news.onet.pl 1295196436 21442 81.26.19.120 (16 Jan 2011 16:47:16 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Sun, 16 Jan 2011 16:47:16 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.13) Gecko/20101207
    Thunderbird/3.1.7
    Xref: news-archive.icm.edu.pl pl.comp.programming:188273
    [ ukryj nagłówki ]

    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.

    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 :(.
    A przy okazji: może ktoś zna jakiś link do dobrej dokumentacji o
    programowaniu w NUMA pod Winde?

    Fil.

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: