Article View: pl.comp.lang.c
Article #309595Re: future i threads pools
From: bartekltg
Date: Fri, 12 Jan 2018 22:06
Date: Fri, 12 Jan 2018 22:06
64 lines
4493 bytes
4493 bytes
On Friday, January 12, 2018 at 9:47:21 PM UTC+1, M.M. wrote: > On Friday, January 12, 2018 at 5:35:29 PM UTC+1, bartekltg wrote: > > On Friday, January 12, 2018 at 5:34:35 PM UTC+1, bartekltg wrote: > > > On Friday, January 12, 2018 at 4:51:12 PM UTC+1, Borneq wrote: > > > > Jest co prawda w Google: > > > > http://en.cppreference.com/w/cpp/thread/future > > > > http://www.cplusplus.com/reference/future/future/ > > > > > > > > Ale są tam raczej szczegóły które można czytać gdy się mniej więcej wie > > > > co to jest. A jakby można to wytłumaczyć? Jaka różnica future i threads > > > > pools w porównaniu z wątkami? > > > > > > -Gdzie tam widzisz poole? > > > -Wytłumaczyć co? Musizz dać nam konkretny problem;> > > > -Wątki sa 'niższego poziomu'. async/future to klocki, z których wygodnie > > > możesz _pewne_ rzeczy budować. > > > > Samy tytuł > > https://www.youtube.com/watch?v=4OCUEgSNIAY > > ;-) > > Skoczyłem tylko do rezultatów, nie na razie godziny czasu aby obejrzeć Ogolnie polecam wyklady z cppcon. Też jeszcze nie nadrobilem, ale czasem do obiadu mozna sobie puścić. Tylko nie te trudneijsze, bo ciężko się trawi;-) > całość. Wygląda na to, że HPX Blocked wygrywa. Co takiego złego jest w > OpenMP? Złego nie ma nic. OpenMP jest dobre do zrobienia pętli. Jeśli zaczynasz dawać mu różna kawałki, działał (kiedyś, nie wiem jak ostatnio) kiepsko - albo rozwijał tylko najwyzszy poziom urównoleglania, albo wszystkie. I w sumie to samo daje async(co, co karmisz funkcją a zwraca future do wyniku), o ile jedla zaimplementowały ładnie threadpoolem. Kiedyś był cilk/cilk plus, bardzo mim się koncepcja podobała, ale projekt się zwija. Numer z filmiku polega na zrobieniu kroku dalej. Pisząc z uzyciem openMP/cilca/std::async często robisz tak, ze masz jednen "potok tego, co sie dzieje", i co jakiś czas widzisz, że to zadanie jest łatwo urównoleglalne, a te parę zadań można odpalić niezależnie... Przed wyjściem z funkcji zbierasz wszystkie wyniki (masz barierę synchronizacji czy to przez odczytanie futurów, czy koniec obszaru objętego pragmą openmp). Ale mozę dałoby się równolegle wykonać coś więcej? Więc funkcja nie zwraca wyniku, jeśli go nie potrzebuje, bo wtedy musiałaby zaczekać na niego, ale przekazuje euture dalej. Więc na naszych 48 procesorach być może zamiast 60% czasu pracować na wszykich rdzeniach, będzie na wsztkich pracować 95% czasu. tl;dr: w opengl nie ma nic złego. Tylko nieraz chcemy móc robić więcej. Jeśli nie cehmy, nic nas do dziwnych bibliotek nie zmusza;-) A, co do async vs wątki, warto wspomnieć do roznicy miedzy "concurrency" a "parallelism". Do wspołbieżności wątki nadal są potrzebne. Masz wątek robiący coś i wątek robiący coś, jakoś się tam komunikują. pzdr bartekltg
Technical Details
Message-ID:
<cc130633-b495-460a-911d-4290950b0dd9@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!i22no710764qta.1!news-out.google.com!e39ni214qtk.1!nntp.google.com!z1no911078qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<p3alhe$9nn$1@node1.news.atman.pl> <6d7bbe96-f0ff-4a58-9cd0-302fdba2b359@googlegroups.com> <5f9795b0-c666-4ce6-981a-9d80f2c2c11d@googlegroups.com> <ec2a42d5-baee-4c63-977e-4ae4cbc190e8@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 10.55.25.230 with SMTP id 99mr12543360qkz.41.1515794807601; Fri, 12 Jan 2018 14:06:47 -0800 (PST) X-Received: by 10.31.168.202 with SMTP id r193mr2932238vke.4.1515794807383; Fri, 12 Jan 2018 14:06:47 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!i22no710764qta.1!news-out.google.com!e39ni214qtk.1!nntp.google.com!z1no911078qta.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Fri, 12 Jan 2018 14:06:47 -0800 (PST) In-Reply-To: <ec2a42d5-baee-4c63-977e-4ae4cbc190e8@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=2a02:a311:413d:3780:207b:a568:984c:ecc; posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS NNTP-Posting-Host: 2a02:a311:413d:3780:207b:a568:984c:ecc References: <p3alhe$9nn$1@node1.news.atman.pl> <6d7bbe96-f0ff-4a58-9cd0-302fdba2b359@googlegroups.com> <5f9795b0-c666-4ce6-981a-9d80f2c2c11d@googlegroups.com> <ec2a42d5-baee-4c63-977e-4ae4cbc190e8@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <cc130633-b495-460a-911d-4290950b0dd9@googlegroups.com> Subject: Re: future i threads pools From: bartekltg <bartekltg@gmail.com> Injection-Date: Fri, 12 Jan 2018 22:06:47 +0000 X-Received-Body-CRC: 3194411804 X-Received-Bytes: 4949 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit