eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingjak napisać szybki program › Re: jak napisać szybki program
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Michoo <m...@v...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: jak napisać szybki program
    Date: Tue, 19 May 2009 20:20:43 +0200
    Organization: http://onet.pl
    Lines: 51
    Message-ID: <guut87$pu9$1@news.onet.pl>
    References: <9...@r...googlegroups.com>
    <2...@c...tac>
    <0...@r...googlegroups.com>
    <5...@q...googlegroups.com>
    <2...@o...googlegroups.com>
    <gurhp6$rh3$1@news.onet.pl>
    <d...@g...googlegroups.com>
    <gutqoa$fjh$1@news.onet.pl>
    <f...@l...googlegroups.com>
    <guu61o$k3e$1@news.onet.pl>
    NNTP-Posting-Host: c2-211.icpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1242757191 26569 62.21.2.211 (19 May 2009 18:19:51 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Tue, 19 May 2009 18:19:51 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.19 (X11/20090105)
    In-Reply-To: <guu61o$k3e$1@news.onet.pl>
    Xref: news-archive.icm.edu.pl pl.comp.programming:182046
    [ ukryj nagłówki ]

    Jędrzej Dudkiewicz pisze:
    > Maciej Sobczak wrote:
    >> On 19 Maj, 10:32, Jędrzej Dudkiewicz <j...@g...com>
    >> wrote:
    >>
    >>>> Czyli mówimy *w ogólności* o wykorzystaniu *współbieżności* w celu
    >>>> lepszego wykorzystania zasobów.
    >>> No dobra, ale sprawdź jeszcze raz odpowiedź Wojtka Muły, podał
    >>> informację o AIO w momencie, kiedy było wiadomo, że:
    >>> a) same obliczenia długo trwają
    >>> b) dużo czasu zajmuje czekanie na dane.
    >>>
    >>> Wniosek: jest szansa, że AIO pomoże.
    >>>
    >>> W tym momencie odpowiedź "możesz użyć współbieżności" jest mniej pomocne
    >>> od konkretniejszego rozwiązania, czyli podania hasła o
    >>> asynchronicznym I/O.
    >>
    >> Wątki będą gorsze?
    >
    > Do AIO? Oczywiście, że będą gorsze. AIO jako usługa kernela jest szybsza
    > niż kolejny wątek w userlandzie. Nie, nie mam danych statystycznych.
    Mówimy chyba o wątkach (kernel) a nie "włóknach" z userlandu?

    "Zwykłe" io też jest usługą kernela (np. wywołanie DMA)

    Ja widzę te 2 przedstawione możliwości tak:
    1. Mamy wątek, który asynchronicznie odbiera dane i po "uzbieraniu"
    odpowiedniej porcji je przetwarza. Na jednym procesorze mamy
    wykorzystanie go na ~100%, przy 2 procesorach (b, częste dzisiaj) nadal
    mamy wykorzystanie jednego procesora .
    2. Mamy 2 wątki w jeden "wisi" na i/o (a wiec nie jest nawet brany pod
    uwagę przez sheduler). Drugi przetwarza dane. Na jednoprocesorowej
    maszynie wykorzystają max ~99% (1% na zmiany kontekstu przy
    synchronicznym i/o to i tak za dużo). Na 2 wykorzystają max 2*100%.

    >
    >> Nie znamy kontekstu,
    >
    > Ależ oczywiście, że znamy, w pierwszym poście OP napisał co i jak, pisze
    > od początku, dużo danych, dużo obliczeń itd, itp. Odpowiedź, że może
    > pomóc AIO jest jak najbardziej na miejscu, mi tylko o to chodzi!
    Imo wielowątkowość może pomóc. Samo AIO nie da prawie nic - zaoszczędzi
    jedynie czas transferu z bufora do pamięci w porównaniu do 1 wątku z
    synchronicznym io+poll, w przypadku więcej wątków czas zmiany kontekstu.
    Na dzisiejszym sprzęcie - 2+ rdzenie - aio bez wątków będzie wolniejsze
    niż operacje synchroniczne+wątki.

    --
    Pozdrawiam
    Michoo

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: