Portál AbcLinuxu, 4. května 2025 09:19

Transparentní meziprocesová komunikace

24.2.2006 15:42 | Přečteno: 1155× | 'enlightened'

V blízké době, snad už ve verzi 2.6.16, by se měla v Linuxu objevit nová technologie pro meziprocesovou komunikaci - TIPC (Transparent InterProcess Communication). Byla navržena hlavně pro počítačové clustery, ale díky svým zajímavým vlastnostem by se mohla prosadit i jinde.

Můžeme se oprávněně ptát: k čemu další komunikační technologii? Vždyť už teď máme hromadu metod (roury, unixové sockety, TCP/IP, RPC, DBUS, sdílenou paměť, mqueue...), tak proč chtít nějakou další? Ano, máme hodně metod, ale žádná není ani dostatečně rychlá, ani dostatečně univerzální pro použití v distribuovaných výpočtech a podobných aplikacích.

Nebudu TIPC popisovat podrobně, k tomu slouží dokumentace. Spíš zdůrazním charakteristické vlastnosti. Především je důležité, že TIPC funguje velice podobně jako TCP/IP, s nímž může koexistovat, a dokonce ho v některých případech používat jako vrstvu nižší úrovně. V závislosti na dostupných možnostech však používá i jiné, rychlejší metody (síťové protokoly 2. vrstvy, sdílená paměť apod.), aby byla komunikace co nejefektivnější.

Adresace je založena na čistě logické bázi (logické porty), bez fyzického rozlišení. Obsahuje typ procesu a jeho instance (64-bitový identifikátor). Více procesů může sdílet stejnou adresu, proces se pak vybírá algoritmy round-robin nebo nejbližší nejdřív. Naopak může mít jediný proces přidělenu celou posloupnost adres. Struktura komunikační sítě je víceúrovňová (zóny, clustery a uzly), nesouvisí s adresacemi typu IP apod.

TIPC podporuje jak spojovou (streamovou) komunikaci, tak i datagramy (ovšem s kontrolou správného doručení). Oproti jiným technologiím má nižší režii při navázání spojení (žádné "prázdné pakety").

Technologie TIPC vznikla v laboratořích firmy Ericsson, je šířen pod licencí BSD (resp. BSD/GPL) a existuje její implementace na více platformách. Nyní prochází procesem začleňování do linuxového kernelu.

Nemohu ovšem nechat bez povšimnutí ani nevýhody. Podpora většího množství nízkoúrovňových metod komunikace se nepříjemně odráží na složitosti (a tedy i velikosti) implementace. Modul do jádra Linuxu má cca 170 KB, což není zrovna málo. Dále je tu problém s logickými porty a jejich použitím při hledání fyzického stroje v síti TIPC (může se dynamicky měnit) - přináší dodatečnou režii spojenou se samotnou existencí sítě. A konečně asi v současné době největší nevýhoda: některé části dosud nejsou implementovány, zejména v bezpečnostní oblasti.

Netvrdím, že je TIPC všelék, který vyléčí všechny komunikační neduhy. Ale minimálně pro distribuované výpočty by to mohl být výrazný přínos. Navíc si myslím, že TIPC může najít své místo i v dalších oblastech, kam by se jeho vlastnosti hodily.

       

Hodnocení: 67 %

        špatnédobré        

Anketa

Kterému použití TIPC dáváte největší naději?
 (92 %)
 (8 %)
 (0 %)
 (0 %)
 (23 %)
Celkem 13 hlasů

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

24.2.2006 17:32 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: Transparentní meziprocesová komunikace
Odpovědět | Sbalit | Link | Blokovat | Admin
170 KB není zase tak moc ... když to srovnáš s >4MB modulem nvidia :)
Luboš Doležel (Doli) avatar 24.2.2006 17:34 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Transparentní meziprocesová komunikace
Proto si také hodně lidí přeje, aby nVidia z ovladače vyházela staré karty nebo rozdělila podporu karet do více .o souborů, ze kterých by se při kompilaci vybral ten pro aktuální kartu.
Luk avatar 24.2.2006 18:01 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Transparentní meziprocesová komunikace
Můj názor je ten, že ovladač nVidia je tak obrovský hlavně proto, aby nemusel být pod GPL. Jsou tam zkrátka reimplementovány věci, které už v jádře jsou, ale proprietární ovladač je nemůže využít. Takže z tohoto pohledu by prvním krokem měla být změna licence, což by pravděpodobně umožnilo znatelnou redukci velikost ovladače.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
Luboš Doležel (Doli) avatar 24.2.2006 18:10 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Transparentní meziprocesová komunikace
Přesně tohle jsem také do nvnews fóra napsal a odpovědí od člověka z nVidia bylo, že to není pravda - že žádné části jádra kvůli licenci reimplementovat nemusejí. Otázkou je, kde leží pravda.
24.2.2006 22:57 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: Transparentní meziprocesová komunikace
Truth is out there... ;-)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.