Newsgroup: it.comp.os.linux.sys
Titolo: CLUSTERING & OPENMOSIX. Un paio di domandine.

Salve a tutti!,
Ho letto di recente qualche articolo sul progetto openmosix e avrei qualche
domanda banale ma da solo non riesco a farmi un'idea.
1) Tanto per capire....Con un cluster creato con OpenMosix è come se avessi
(+ o -) la somma delle singole macchine che lo compongono.
    la domanda è: Con la mia nuova macchina vituale ke vado a crearmi riesco
a sfuttare solo determinate applicazioni o ad esempio riesco a far andare
meglio un         OpenOffice poichè ho una macchina "+ potente"? Scusate ma
nn riesco a capirlo!
2) Esiste una qualke fonte in italiano ke mi possa introdurre in questo
argomento con un approccio serio (intendo dire ke nn sia una proprio una
baggianata!)
Sono molto interessato all'argomento e sto quasi pensando, a lungo termine,
di portarlo alla tesi di laurea.
Ringrazio fin da ora la generosità delle persone che mi vorranno rispondere.
Ciao

 baggianata!)
qui c'è qualcosa
http://filibusta.crema.unimi.it/openmosix/openmosix_minipaper.htm
-- 
Linux: Because rebooting is for adding new hardware
Registered Linux User #301571
Shaw's principle: "Build a system that even a fool can use, and only a fool
will want to use it."

 di portarlo alla tesi di laurea.
Linux cluster? Al cineca ne hanno uno abbastanza buono, ma non usano mosix. 
http://www.cineca.it/HPSystems/Resources/LinuxCluster/index.html
Mosix ha il difetto di essere troppo trasparente per farci calcolo 
scientifico anche se qualcuno l'ha usato. Potresti chiedere a S. Ghirlanda 
che qualche volta e' intevenuto su questo ng. 
-- 
Enrico Bodo  -   Postdoctoral Research Fellow      
University of Rome "La Sapienza" 
Department of Chemistry         


zap!
su linux-magazine di marzo 2003 c'e' un'articolo che spiega come installare
e configurare in cluster mosix, l'ho letto e pare fatto bene, come dico io,
a prova mia ovvero di stupido! dagli una letta!

Ho una domanda da farvi.
Sto progettando un software che usa postgresql come rdbms. So che per
ogni connessione che viene fatta al db viene generato un nuovo
processo. Con openmosix, il carico viene ridistribuito sul nodo meno
carico del cluster e tutto funziona come se avessimo una sola
macchina? Ciò vuol dire che se ho un cluster di 2 macchine andrò circa
due volte più veloce (supponendo che la reta abbia latenza nulla)?
Dunque con 10 pc potrei crearmi un piccolo mostro da poter utilizzare
come dataserver?
Grazie per le informazioni.
Mr. Kost.

 potrei crearmi un piccolo mostro da poter utilizzare come dataserver?
Non so quanto guadagneresti in prestazioni, perche` il grosso del lavoro
di postgres e` riferito al disco, a meno di buffering, quindi piu` che
un incremento di velocita` potresti trovarti con la strozzatura della
rete.
Questo a meno che non usi una rete Gigabit, che supera in velocita` la
maggior parte degli HD in commercio.
Bisogna valutare bene la situazione, IMO.
Bye.




Oppure un bello storage condiviso via SCSI (ma forse costa meno un server
di rete via Gbit)
-- 
Roberto Tagliaferri<-> r.tagliaferri@(forse)
tosnet.it
	Il paese da dove veniva non era un paese di geni.
	Loro lo chiamavano computer umano perchè sapeva contare fino a 20.
	Nudo fino a 21

 No, con i thread non va.
quindi... apache ne gioverebbe, giusto? quelli che genera sono child
processes (quindi non threads...?)
ciao,
V a l e r i o   M e r a n i
---------------------------
http://www.lazarus.efnet.la
---------------------------

 server di rete via Gbit)
Una volta un uccellino (se non ricordo male kinkie) mi ha parlato di
storage condivisi via firewire...
Qualcuno ha avuto modo di provare il giochino, anche non sotto il
pinguino?
-- 
Emanuele Balla aka Skull
-----------------------------------------------------------------------
Besides, I think [Slackware] sounds better than 'Microsoft', don't you?
(By Patrick Volkerding)

 thread, ma potrei sbagliarmi.
non è proprio vero. Non è indispensabile programmare con le mpi per far
andare i programmi su cluster mosix. Serve per farli anader su cluster
beowulf.

 processes (quindi non threads...?)
sě, ma occhio alla memoria condivisa che ti frega un po'...

 per le informazioni.
no. Il problema di mosix č che quando sposta un processo deve spostare
tutta la memoria ad esso associata. I database tengono molte informazioni
in ram, e se ogni volta devi iniziare a spostare roba....


Ho scritto "per esempio". 
Comunque si', hai ragione, e' meglio specificare che un qualunque modo
(libreria?) che ti permette di generare un certo numero di processi figli
*potrebbe* avvantaggiarsi girando su cluster mosix. Poi c'e' da tenere
conto del fatto che non puoi condividere la memoria (come con i thread) e
quindi se passi il tempo a far girare 100-200Mb su fast-ethernet le
prestazioni.....



iQA/AwUBPl/KdUc12/rBkMvzEQJ6CACfVR+GyxJTMkLeAOArxSDCgxyZfV0AoOde
Cd6t83sYHy0mFr+Xhl90m91r
=kigh
-----END PGP SIGNATURE-----

 storage condivisi via firewire...
Confermo. Non lo ho mai realizzato, ma articoli linkati da slashdot ne
parlavano come l'attuale frontiera dello storage condiviso a basso costo.
-- 
	kinkie (kinkie chiocciola tiscalinet punto it)
	E ora, qualche parola dai nostri sponsor:
Man belongs wherever he wants to go.
		-- Wernher von Braun

 in ram, e se ogni volta devi iniziare a spostare roba....
Oltretutto Postgres utilizza in maniera pesante la memoria condivisa
(shared memory). Programmi che abbiano memoria condivisa non sono
candidabili alla migrazione. La distributed shared memory (memoria
condivisa distribuita) e` il santo graal di molti sistemi informatici.
-- 
	kinkie (kinkie chiocciola tiscalinet punto it)
	E ora, qualche parola dai nostri sponsor:
The number of UNIX installations has grown to 10, with more expected.
	-- The Unix Programmer's Manual, 2nd Edition, June 1972

 essere totalmente indipendente dal processo che lo ha generato?
i moduli di apache come vengono caricati?
magari dico una cazzata, ma credo che ogni processo se lo vada a cuccare
e non abbia la sua copia....

 condivisa distribuita) e` il santo graal di molti sistemi informatici.
l'ultima voolta che ho dato un'occhiata al mosix mi sembrava che la
stessero sviluppando.

cuccare e non abbia la sua copia....
non ho capito che intendi :)
cmq se un processo chiama la dlopen() e poi fork()a, il codice caricato
dinamicamente e` disponibile anche al figlio. infatti apache chiama la
load_module() solo quando parsa il file di configurazione, e inizializza
il modulo chiamando un hook al suo interno ( con ap_init_modules() ).
poi, ogni volta che forka, il child inizializza ancora i moduli caricati
( con ap_init_child_modules() ) e li rende pronti per l`esecuzione. ad
esempio, immaginiamo mod_php4.so, se vien caricata dal processo padre,
non ha bisogno di allocare memoria per poter parsare i file .php, al max
ha bisogno di leggere il php.ini e settare delle variabili interne.
mentre quando vien fatto partire da un child, sicuramente ha altra roba
da fare :)
ciao :)
-- 
:wq

 da fare :)
quello che volevo dire è il seguente: un processo di apache nasce e si
cucca tutti i suoi moduli aperti. Poi il mosix decide di spostarlo. A
questo punto non puoi più sfruttare il link dinamico (per i moduli
dovrebbero stare nel pc di partenza), ma devi spostare anche una copia
del modulo.

del modulo.
la dlopen() funziona come rtld, con la differenza che sei tu ad aprire
il .so e a richiedere i simboli con la dlsym(). penso quindi ( ripeto:
penso ! ) che dal punto di vista dell`os non ci sia differenza tra una
shlib aperta quando il processo parte ed un modulo caricato con la
dlopen(). altrimenti sui mosix potresti eseguire solo binari linkati
staticamente no ? :)
ciao :)
-- 
:wq

 staticamente no ? :)
appunto, quindi c'è molta roba da migrare.
E il punto è che se la roba da migrare è tanta e i nodi sono numerosi, il
collo di bottiglia diventa la rete che interconnette i nodi del cluster.
Non ho mai avuto tempo di leggere i sorgenti di apache e quindi non so
quanti dati vengano scambiati tra i suoi thread, tuttavia proprio per
questo discorso a naso mi viene da dire che la soluzione mosix non vada
bene. Meglio un load balancing.