-
Data: 2012-02-18 20:53:12
Temat: Re: procedura tworzenia programów
Od: Bronek Kozicki <b...@s...net> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- 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
Najnowsze wątki
- 2025-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=