Article View: pl.comp.lang.c
Article #267739Re: Ciemna strona C++
From: Sebastian Kaliszewski
Date: Thu, 15 Nov 2007 18:18
Date: Thu, 15 Nov 2007 18:18
38 lines
3940 bytes
3940 bytes
H5N1 wrote: >> Sporo do myślenia dała mi kiedyś wypowiedź gościa z jakiegoś >> brytyjskiego centrum superkompuetrowego, który stwoerdził, że przez 10 >> lat pracy nie widział ani jednego programu wielowątkowego. Równoległe >> rozwiązania wieloprocesowe, gdzie komunikacja między kontekstami >> przetwarzania jest ściśle wydzielona i gdzie jest zarządzanie całością >> jest sensownie realizowalne, są po prostu szybsze (i to o >> kilkadziesiąt procent). > > Super, jeśli możesz zdefinować i odpalić statyczną pulę procesów, > najlepiej każdy na osobnym procesorze. Ale jeśli musisz je opalać np. na > żądanie klientów to okazuje się, że koszt utworzenia nowego procesu jest > masakryczny. A jak liczba równoległych zadań idzie w setki, albo tysiące > to z kosztami przełączania kontekstu też trzeba się liczyć. Nie odróżniasz współbieżności od równoległości. Takie rzeczy to się robi gdy masz współbieżność (concurrency) bez równoległości (paralellism). Trzymanie kontekstu klienta w wątku? Proszę bardzo -- tylko po co do tego równoległość. Taki wątek albo śpi czekając na klienta lub na dysk/sieć, albo (bardzo krótko) wykonuje zlecenie klienta i po co ma się plątać z innymi? W dobrze zaprojektowanym systemie wątków to działa i to ładnie -- można na zupełnie zwykłej maszynie mieć np. 100000 wątków bez żadnej zadyszki i bez 100GB RAM -- bo każdy wątek to tylko tyle ile potrzeba dla zapamiętania jego stanu. Tak działa np. Erlang -- język w którym oprogramowano trochę central Ericsona -- central obsługujących duuużo połączeń. BTW. koszt odpalania procesu jest "maskaryczny" tylko na pewnym popularnym systemie operacyjnym zaprojektowanym akurat w trakcie rozkwitu mody na wątki jako panaceum na wszystko. Ale i tak takich procesów w systemie zaprojektowanym dla jakiejkolwiek wydajności nie tworzy się dla każdego zlecenia tylko procesy w których obsługa sesji klienta się zakończyła mogą być użyte ponownie (wracają do puli procesów wolnych). Ponadto procesy tworzy się "na zapas" (przyzwoite systemy mają konfigurowalną taką wartość jak liczba wolnych procesów). Tak działa wiel, nawet bardzo dużych systemów. I to działa wydajnie. pzdr \SK
Technical Details
Message-ID:
<fhi1ju$lmi$1@bozon2.softax.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mailReferences:
<fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhag70$6kk$1@atlantis.news.tpi.pl> <fhag1b$9or$3@news.vectranet.pl> <1194912011.15035.13.camel@qrnik> <1194962417.690643.172410@v3g2000hsg.googlegroups.com> <1195078411.24656.6.camel@qrnik> <fhhlii$cg1$1@bozon2.softax.pl> <fhhrds$lld$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!newsfeed.tpinternet.pl!nemesis.news.tpi.pl!atlantis.news.tpi.pl!news.tpi.pl!bozon.softax.com.pl!not-for-mail From: Sebastian Kaliszewski <s@get.it.off.to.reply.informa.pl> Newsgroups: pl.comp.lang.c Subject: Re: Ciemna strona C++ Date: Thu, 15 Nov 2007 19:18:05 +0100 Organization: Softax news server Lines: 38 Message-ID: <fhi1ju$lmi$1@bozon2.softax.pl> References: <fghgeo$spf$1@nemesis.news.tpi.pl> <fghsb4$kpq$1@news.dialog.net.pl> <fgo4c7$mtu$1@news.vectranet.pl> <20071106073039.433f4934@Vorago> <fgqn9m$74j$2@news.vectranet.pl> <618565031.20071107113041@pkierski.net> <fgt6sh$jov$1@news.vectranet.pl> <fgtb6j$nur$1@news.vectranet.pl> <fgv6ba$k14$1@bozon2.softax.pl> <fgvkne$u3b$1@news.vectranet.pl> <fh1tjd$dtt$1@bozon2.softax.pl> <fh2lj6$qkh$1@news.vectranet.pl> <fha3as$pap$1@bozon2.softax.pl> <fhag70$6kk$1@atlantis.news.tpi.pl> <fhag1b$9or$3@news.vectranet.pl> <1194912011.15035.13.camel@qrnik> <1194962417.690643.172410@v3g2000hsg.googlegroups.com> <1195078411.24656.6.camel@qrnik> <fhhlii$cg1$1@bozon2.softax.pl> <fhhrds$lld$1@inews.gazeta.pl> NNTP-Posting-Host: 83.18.189.42 Mime-Version: 1.0 X-Trace: atlantis.news.tpi.pl 1195150388 28987 83.18.189.42 (15 Nov 2007 18:13:08 GMT) X-Complaints-To: usenet@tpi.pl NNTP-Posting-Date: Thu, 15 Nov 2007 18:13:08 +0000 (UTC) User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050322) X-Accept-Language: en-us, en In-Reply-To: <fhhrds$lld$1@inews.gazeta.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit