Article View: pl.comp.programming
Article #205268Re: Co sie tu dzieje?...
From: Edek
Date: Sat, 27 Apr 2013 16:40
Date: Sat, 27 Apr 2013 16:40
76 lines
4808 bytes
4808 bytes
Dnia Sat, 27 Apr 2013 10:50:45 -0500 po głębokim namyśle A.L. rzekł: > On Sat, 27 Apr 2013 12:28:05 +0000 (UTC), Edek > <edek.pienkowski@gmail.com> wrote: > >>angielka ;). Teoria rozproszonych procesów ma spójny model, model jaki >>znam nie zakłada istnienia wyjątków, bo łatwiej mieć implementację > > Jaka teoria? Prosze byc konkretnym i podac zrodla. Wystarczą wstępy tych dwu prac: http://venus.vmars.tuwien.ac.at/documents/extern/1822/RR-2006-007-conf.pdf https://ecommons.library.cornell.edu/bitstream/1813/6208/1/94-1426.pdf >>Wyroczni niż przekazywać sygnalizację o błędach pomiędzy procesami >>bezpośrednio (pomijając błędy w danych i inne nie wynikające z >>przypadkowych błędów hardware czy crasha procesu). >> > Nie rozumiem. Teoretycznie rozpatruje się algorytm uzyskania Consensusu mając "possibly weak failure detector". Mając nie program na desktopie ale wiele maszyn czy bardziej teoretycznie procesów realizujących algorytm jest to najlepsze znane - mi znane - podejście do rozwiązania problemu nieuniknionych wad sprzętu i komunikacji w rozproszonym systemie na temat zarówno propagowania informacji o błędach jak i treści samego algorytmu rozproszonego. Split-brain syndrome jest trywialnym przykładem problemu. Tłumacząc mi chodzi o to, że programiści powinni się skupiać na problemie do rozwiązania - i tu nie mam wiele przeciwko wyjątkom - a nie na problemach typu "które z moich rozproszonych algorytmów trafiło na uszkodzony właśnie node". >>Jakie są merytoryczne argumenty za stosowaniem wyjątków w systemach >>rozproszonych procesów? > > Takie same jak za posiadaniem hamulca w samochodzie. A konkretnie: > > 1. Proces to zwyczajny sekwencyjny program. Wyjatki sa potzrebne aby > obsluzyc sytuacje wyjatkowe i aby w takich sytuacjach proces po prostu > nei "padl". Jednym z elementow takiej obslugi jest powiadomienie > kooperujacych procesow o problemie > 2. Procesy kooperujace musza wiedziec ze komus w tej grupie cos nie > poszlo i odpowiednio zareagowac > > Wyjatki da sie pzresylac kanalami, jak najbardziej. Robi to na przykald > Erlang, ktory powiadamia kooperujace procesy o wyjatku i przyczynei > wyjatku. Zgoda, że istnieje konieczność obsługi błędów. Błędów różnej natury. Zgadzam się też, że wyjątki da się przesłać kanałem. Pytanie jest inne: dlaczego udostępniać tą cechę w języku? Dlaczego rozprzestrzeniać informację o błedach wyjątkami? > Gdy dobieram sie do Prologu z Javy przy pomocy kanalu, wyjatek rzucony w > Prologu samoczynnie konwertuje sie w wyjatek po stronie Javy. Super, nic nowego, Web serwisy też to robią. Tyle że proces rozproszony nie jest już procesem sekwencyjnym więc nie rozumiem co konwersja wyjątków ma do tego - da się, ok, wiemy. > Jezyk bez wyjatkow to samochod bez hamulcow. Co w zasadzie mozna > pomyslec, bo dawno temu hamulce w samochodach byly takie sobie (patrz > WItold Rychter, "Moje Dwa i Cztery Koka", cytat: "I wlasnie zjezdzajac > moja Tatra z Morskiego Oka pokazalem ze samochod wcale nie musi meic > hamulcow". Ale dzisiaj takiego wyczynu by nie dokazal). Fajna anegdota i metafora. A bardziej merytorycznie? Błędy sygnalizować można różnie, nie tylko wyjątkami. > Pomijam inne "nowalijiki" GO w rodzaju braku dziedziczenia. Ale to temat > na osobny watek -- Edek
Technical Details
Message-ID:
<klgv1f$7ac$2@mx1.internetia.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mailReferences:
<klcnu3$d98$1@somewhere.invalid> <84396146-1604-45f3-8d5a-e61fbdbe827e@googlegroups.com> <77ef23cf-b20c-47fd-ac81-03d5b1558bce@r7g2000vbw.googlegroups.com> <kle28d$iv$1@mx1.internetia.pl> <59792813-18e9-4d7d-b9f5-519786719e48@s4g2000vbr.googlegroups.com> <klec7k$iv$2@mx1.internetia.pl> <s2dln8pbtpemesl77todasdudmn9qbounh@4ax.com> <kleqb1$iv$3@mx1.internetia.pl> <cu8mn8l1eq04rbs0noo21ffhuk1511ffp8@4ax.com> <klgg8l$79t$2@mx1.internetia.pl> <adsnn8dkvqip4pfefmm0io6t38oegt95r6@4ax.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail From: Edek <edek.pienkowski@gmail.com> Newsgroups: pl.comp.programming Subject: Re: Co sie tu dzieje?... Date: Sat, 27 Apr 2013 16:40:15 +0000 (UTC) Organization: Netia S.A. Lines: 76 Message-ID: <klgv1f$7ac$2@mx1.internetia.pl> References: <klcnu3$d98$1@somewhere.invalid> <84396146-1604-45f3-8d5a-e61fbdbe827e@googlegroups.com> <77ef23cf-b20c-47fd-ac81-03d5b1558bce@r7g2000vbw.googlegroups.com> <kle28d$iv$1@mx1.internetia.pl> <59792813-18e9-4d7d-b9f5-519786719e48@s4g2000vbr.googlegroups.com> <klec7k$iv$2@mx1.internetia.pl> <s2dln8pbtpemesl77todasdudmn9qbounh@4ax.com> <kleqb1$iv$3@mx1.internetia.pl> <cu8mn8l1eq04rbs0noo21ffhuk1511ffp8@4ax.com> <klgg8l$79t$2@mx1.internetia.pl> <adsnn8dkvqip4pfefmm0io6t38oegt95r6@4ax.com> NNTP-Posting-Host: 159-205-129-97.adsl.inetia.pl Mime-Version: 1.0 X-Trace: mx1.internetia.pl 1367080815 7500 159.205.129.97 (27 Apr 2013 16:40:15 GMT) X-Complaints-To: abuse@inetia.pl NNTP-Posting-Date: Sat, 27 Apr 2013 16:40:15 +0000 (UTC) X-Tech-Contact: usenet@internetia.pl User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) X-Server-Info: http://www.internetia.pl/ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit