Notifikace v clusteru

Jan Kasprzak kas na fi.muni.cz
Pátek Únor 8 15:44:17 CET 2013


	Dobry den, mam brainstormovaci dotaz na vikend :-)

	Mam cluster stroju (radove desitky), a tyto stroje si navzajem
rozesilaji nejake informace (cachovani ruznych dat, invalidace
techto cachi a vselijake dalsi udaje). Momentalne tato komunikace bezi
nad IPv4 multicastem, kde jakykoli proces muze vyslat multicastovou zpravu
(umi-li ji spravne podepsat :-), a na kazdem stroji je jeden poslouchaci
proces, ktery tyto zpravy chyta a napriklad uklada do cache neco nebo
z cache neco rusi.

	Toto reseni brzo zacne byt problematicke v nekolika aspektech:
- UDP je nespolehlive, pokud nedorazi na nektery uzel zprava o invalidaci
	neceho, pouziva tento starou hodnotu, i kdyz by nemel.
	Castecne to resime tak, ze kazdy stroj posila sve multicasty
	se vzrustajicim seriovym cislem, takze kazdy poslouchajici proces
	pri pristi zprave rozpozna, ze od urciteho odesilatele predtim
	nejakou zpravu ztratil a treba invaliduje celou cache.
- UDP je omezene velikosti packetu
- multicastovych zprav uz je docela dost - nekolik za sekundu

	Vyhody tady ale zustavani:
- multicast nemusi resit vypadek stroje - kdyz stroj vypadne,
	proste ty zpravy nedostane, ale po rebootu stejne nema
	nic nacachovane, takze to nevadi.
- multicast je rychly, i kdyz mozna zbytecne moc - nam by stacila
	latence rekneme do vteriny

	Premyslim jestli takovou vec nenahradit nejakou zasilaci sluzbou
nad TCP - napriklad tak, ze by na kazdem stroji bezel demon nejen pro prijem
zprav, ale i pro vysilani, a tento by mohl treba sdruzovat zpravy od vsech
procesu z tehoz stroje a rozesilat je pak naraz v jednom "packetu". Mimo
uzel samotny by se komunikace odehravala nad TCP jen mezi temito demony.

	Samozrejme TCP by vyzadovalo nejakou chytrejsi topologii nez
"kazdy s kazdym" a nejake zpusoby jak se vyrovnat s vypadkem nebo pretizenim
nektereho stroje.

	Ma cenu uvazovat o zmene technologie? Pokud ano, vyuzili byste
k tomu nejakou existujici knihovnu nebo obecne neco takoveho?
Ja jsem se treba dival na 0MQ (www.zeromq.org), a vypada to docela
zajimave. I napojeni na Perl k tomu je. Mate s tim nekdo zkusenosti?

	Diky za jakekoli tipy, napady a popisy zkusenosti.

-Yenya

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| New GPG 4096R/A45477D5 - see http://www.fi.muni.cz/~kas/pgp-rollover.txt |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list.     --Alan Cox


Další informace o konferenci Linux