-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!news.astraweb.com!border6.a.new
srouter.astraweb.com!not-for-mail
Date: Sat, 18 Feb 2012 20:53:12 +0000
From: Bronek Kozicki <b...@s...net>
Organization: (my opinions are just mine)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216
Thunderbird/10.0.2
MIME-Version: 1.0
Newsgroups: pl.comp.programming
Subject: Re: procedura tworzenia programów
References: <jhliut$3he$1@mx1.internetia.pl> <jhmdk7$3qd$1@mx1.internetia.pl>
<9...@4...com>
In-Reply-To: <9...@4...com>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 42
Message-ID: <4f400fbb$0$24009$c3e8da3$e3f2c276@news.astraweb.com>
NNTP-Posting-Host: 9350efc0.news.astraweb.com
X-Trace: DXC=9Jj`6SPdb:?hZ4>`7BGPo4L?0kYOcDh@:Doi3OiT_T21J37YiBAe9Z;]>:Ma_6Vk8?VjSgQI
[?]?=1Z:jB]Q=oF2lQ5=ZTMH@]<5Dg=W]LNcJ;
Xref: news-archive.icm.edu.pl pl.comp.programming:195454
[ ukryj nagłówki ]On 17/02/2012 21:55, A.L. wrote:
> Programwoanie w parch to paranoja. Jedyna forma programwoanai w parach
> ktora znam to nie taka ze dwoch pracuje nad tym samym problemem, ale
przypomniał mi się taki przykład: program miał wiele wątków roboczych i
każdy wątek ma własne połączenie TCP do publikacji wyników obliczeń.
Równolegle było wykonywanych paręset "strumieni" obliczeń, praca
zdarzeniowa, żaden wątek nie przypisany do konkretnego "strumienia" a
więc, siłą rzeczy, żaden strumień nie ma własnego połączenia TCP (liczba
wątków i połączeń TCP znacznie mniejsza od liczby "strumieni" obliczeń
to konieczność wynikające z ograniczeń sieci i maszyny). Często nowe
wyniki obliczeń są w odstępach milisekundowych, czasami częsciej.
Połączenia TCP do publikacji wyników są do procesu "multipleksera",
każdy subskrybent ma do niego jedno własne połączenie TCP. No i w
efekcie czasami subskrybenci otrzymują efekty obliczeń dla "strumieni"
którymi są zainteresowani w odwróconej kolejności (dokładnie dlaczego
tak się dzieje, pozostawiam jako ćwiczenie dla czytelnika). Rozwiązanie
proste, zrobić osobną pulę połączeń TCP i przypisać każdy "strumień" do
jednego połączenia w puli.
Żeby rozważyć problem robię sobie sesję chat z kolegą (który pracuje w
Australi) i podajemy swoje rozwiązania. Moje jest bardziej
skomplikowane, bo dodatkowo balansuje ruch w momentach mniejszej
aktywności. Kolegi jest prostsze. Dyskusja 15-30min i już wiemy co robić
(to prostsze, ale z pomiarem kosztu braku balansowania ruchu). Potem ja
programuję, testuję, 2godz później proszę kolegę o przeczytanie patcha
jakieś 50wierszy i szukamy gdzie mogą być błędy (liczenia hasha z "nazwy
strumienia" daje negatywne wartości bo zapomniałem że czasami "char"
jest signed). Później jeszcze jeden drobiazg, proszę zupełnie innego
kolegę o sprawdzenie mojego kodu (bo ten w Australi już śpi). Potem
wszystko jest już w moim ręku, kolega następnego dnia tylko proponuje
drobne poprawki.
Czyli "programowanie parami", ale takie że odległość między
programistami to czasami >16000 km a czasami kilka metrów, programuje
jeden, a tylko początek i zakończenie jest wspólne.
Ja to nazywam "praca zespołowa", ale chyba jestem mało nowoczesny.
B.
Następne wpisy z tego wątku
- 18.02.12 23:18 Andrzej Jarzabek
- 18.02.12 23:22 Andrzej Jarzabek
- 18.02.12 23:23 Andrzej Jarzabek
- 18.02.12 23:27 Andrzej Jarzabek
- 18.02.12 23:28 Andrzej Jarzabek
- 19.02.12 09:26 M.M.
- 19.02.12 11:43 Andrzej Jarzabek
- 19.02.12 12:31 Andrzej Jarzabek
- 19.02.12 14:29 Jacek
- 19.02.12 14:33 Bronek Kozicki
- 19.02.12 14:40 bartekltg
- 19.02.12 15:33 Andrzej Jarzabek
- 19.02.12 15:37 A.L.
- 19.02.12 15:45 A.L.
- 19.02.12 16:03 Jacek
Najnowsze wątki z tej grupy
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-04 GNSS Motorola G85 vs Redmi Note 9 pro
- 2024-11-04 Katowice => SAP BTP Consultant (mid/senior) <=
- 2024-11-04 Katowice => Spedytor międzynarodowy <=
- 2024-11-04 Warszawa => Specjalista/tka ds. Zamówień publicznych <=
- 2024-11-04 Poznań => QA Engineer <=
- 2024-11-04 Poznań => QA Inżynier <=
- 2024-11-04 Polskie sądy są bardzo wyrozumiałe...
- 2024-11-04 Wrocław => SAP Project System/EPPM Consultant <=
- 2024-11-04 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-04 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-04 Kraków => Software .Net Developer <=
- 2024-11-04 Kraków => Programista Full Stack .Net <=
- 2024-11-04 Warszawa => Key Account Manager <=
- 2024-11-04 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-04 Warszawa => E-COMMERCE specialist <=