# Openmosix dentro Fastweb

## Nemesix2001

Ciao gechi intrepidi che possedete fastweb,

 avete un computer che per 20 ore su 24 sta acceso ma lo usate solo per giocare a spider?? lasciate per ore il pc acceso solo per vedere il vostro mouse che si illumina (non ridete perchè io lo faccio  :Razz:  :Razz: ) avete fastweb??? bene allora se siete degli smanettoni e lo dovete essere altrimenti non potete essere degli utenti onorari della nostra beneamata distro dovete aderire alla mia idea..

Facciamo un bel cluster con openmosix ???? 

Daiiii daiiiiii è un'anno che voglio provare   :Twisted Evil: 

Fatemi sapere se vi inziga si potrebbe pensare anche al solo distcc poi ci pensiamo intanto fatemi sapere chi sarebbe disponibile io ci vedo solo vantaggi.

Ciao ciao

----------

## comio

si potrebbe fare... ma a quale pro?

----------

## Kind_of_blue

Giocare a DoomIII a 1600x1400 con tutti gli effetti attivi?   :Smile: 

una proposta potrebbe essere quella di studiare un progetto di parallel computing ... con uno scopo ... mettere su OpenMosix è relativamente semplice e non da un gran gusto

----------

## koma

non è come distcc vero? che se nn trova l'altra macchina accesa mi sclera per 50 minuti tentando di connettere e poi va in timeout vero?

----------

## DaVe&OpenMOsix

ho un po' di esperienza su openmosix: l'ho usato su un cluster di macchine (non troppo recenti) in un laboratorio all'università. 

quando una macchina per qualche motivo va giù, non è detto che sia indolore per le altre macchine del cluster. e quando ritorna su non sempre vede al volo le altre, come dovrebbe...

poi vi ricordo che il kernel deve essere della _stessa_ versione su tutte le macchine e lo stesso vale per gli user-tools. Questo significherebbe che tutte le macchine devono essere configurate identicamente, ma è un problema per tutti... hardware magari diverso, non supportato dalla stessa versione del kernel ecc... 

e emerge -uD world da fare sempre assieme... 

io credo che l'idea di base sia buona, ma non la vedo fattibile su una rete di utenti diversi...

tutto questo IMHO!

ciao

DV

----------

## flowolf

Scusate l'ignoranza: esistono degli ambienti di calcolo distribuito (= clustering giusto?) in user land?

----------

## DaVe&OpenMOsix

si' MPI!

ma sono librerie da linkare al programma da parallelizzare, e tale programma va praticamente riscritto per usarle. 

se vuoi fare calcolo parallelo ok, mpi fa per te...

se ti interessa sul mio sito c'è la bozza della mia tesi che spiega un po' quali sono vantaggi e svantaggi di *mosix e MPI e a cosa possono servire...

se ti va di leggerla, magari poi puoi darmi un'opinione... devo consegnarla fra 9 giorni...

ciao

DV

----------

## flowolf

Piccola osservazione OT:

```
Copyleft DaVe2002 - Best view with IE 5.* res. 800x600
```

chi lo ha a portata di mazza?   :Laughing:   :Cool: 

----------

## DaVe&OpenMOsix

scusatemi   :Embarassed: 

il sito l'ho fatto ormai due anni fa con dreamweaver...

 :Embarassed: 

mi bastono da solo...

almeno c'è il copyleft dai...   :Laughing: 

DV

----------

## Nemesix2001

pensavo fondamentalmente per quando si compila....ma se distcc è più stabile vada per quello, altri momenti in cui si satura la cpu non mi vengono in mente onestamente ma dipende molto da cosa si fa(e da che cpu si ha)... 

Avevo pensato ad openmosix solo perchè sapevo che era relativamente facile e indipendente dalle macchine e le risorse per le applicazioni locali hanno sempre la priorità , su distcc non sono informato onestamente ma mi informerò  :Smile: 

Ciauz

----------

## DaVe&OpenMOsix

per compilare openMosix è come non averlo...

generalmente la compilazione è un insieme di processi molto piccoli ripetuti, e spesso dipendenti uno dall'altro...

con OM il kernel sta meno tempo a compilare che a migrare il processo.

se invece devi fare, che ne so, rendering o compressione di video, lavorando su file diversi  puoi avere delle buone performance. non ho mai provato distcc, ma credo che sia sicuramente migliore per la compilazione.

se devi fare calcolo scientifico usa mpi se il problema è parallelizzabile, o OM se non è parallelizzabile ma ti servono numerose esecuzioni...

per giocare a quake 3 con tutti gli effetti hai bisogno solo di processore + veloce e + scheda video migliore... metti che quake funzioni con + processi separati, ogni volta che uno viene migrato a un'altro computer avresti un blocco del gioco...

ciao

DV

----------

## federico

Se c'e' in ballo qualche progetto serio e alternativo io ci sono sempre. Meglio definire prima i pro e i contro e il perche' lo facciamo.

----------

## Nemesix2001

ok, niente allora rimane solo distcc? ho visto che Kind_of_Blue parlava anche di portare avanti un progetto di parallel computing e ke koma parlava male di distcc lamentandosi di una scarsa flessibilita' se ho capito bene. Boh nn sono un esperto sto studiando proprio questo semestre calcolo distriubuito e qualcosa di protocolli di rete lo so penso che potremmo provare a fare qualcosa noi ma penso anche sia abbastanza un bordello, io credo che lo scopo sia arrivare ad avere un  modo per condividere le risorse con gli altri per la compilazione senza rubare risorse per i processi locali (se uno guarda un film non ha la cpu a palla ma gli scoccerebbe veder scattare l'immagine giusto? ) e che garantisca una certa flessibilita'.. secondo voi e' fattibile? i pregi sarebbero avere tempi di compilazione ridotti notevolemente che per gentoo non sarebbe una cattiva cosa. Eventualmente distcc puo' essere un punto di partenza secondo voi?

Ciao

----------

## xchris

a mio avviso openmosix con solo 10mbit (o meno perche' magari la VS e' accesa) non e' la soluzione migliore...ma nn avendolo ancora provato potrei dire czte.

distcc l'ho provato solo con un paio di macchine ed effettivamente sugli ebuild che usano emake c'e' di sicuro un miglioramento.

so anche che l'incremento di velocita' con distcc non e' lineare con il num di macchine...arrivati ad un certo num non ha + senso aumentarle.

ciao

----------

## M4tteo

 *xchris wrote:*   

> 
> 
> so anche che l'incremento di velocita' con distcc non e' lineare con il num di macchine...arrivati ad un certo num non ha + senso aumentarle.
> 
> ciao

 

Concordo pienamente, a livello di logica infatti si perderebbe più tempo per mandare il segnale da una macchina all'altra piuttosto che far lavorare in locale la propria CPU; soprattutto so distcc viene fatto in remoto con connessioni più o meno lente...

----------

## federico

Vi regalo questa mia idea geniale..  :Smile: 

E' un po' che avevo in mente di fare un distcc dentro fastweb e pensavo di fare in questo modo, ogni utente si registra su una pagina e da le caratteristiche della sua macchina, segna quando e' accesa in linea di massima e quanta possibilita' computazionale possiede.

Il server presso il quale ci si e' registrati controlla nell'orario segnato dall'utente se la macchina e' accesa tramite un applicazione server.client e in questo modo apprende quali macchine sono realmente accese istante per istante e periodicamente aggiorna la configurazione del distcc locale segnando solo i computer presenti al momento e di potenza pari o maggiore alla potenza della macchina stessa (ho idea che sia meglio cosi')

In questo modo i tempi spesi a cercare macchine non presenti verrebbero quasi azzerati e si avrebbe anche un distcc personalizzato per ogni client della rete.

----------

## M4tteo

 *federico wrote:*   

> Vi regalo questa mia idea geniale.. 
> 
> E' un po' che avevo in mente di fare un distcc dentro fastweb e pensavo di fare in questo modo, ogni utente si registra su una pagina e da le caratteristiche della sua macchina, segna quando e' accesa in linea di massima e quanta possibilita' computazionale possiede.
> 
> Il server presso il quale ci si e' registrati controlla nell'orario segnato dall'utente se la macchina e' accesa tramite un applicazione server.client e in questo modo apprende quali macchine sono realmente accese istante per istante e periodicamente aggiorna la configurazione del distcc locale segnando solo i computer presenti al momento e di potenza pari o maggiore alla potenza della macchina stessa (ho idea che sia meglio cosi')
> ...

 

Buonissima idea federico!!!!!!!! Complimenti, manca solo 

###

IF 

  " numero di pc>=8 "

THEN

  " stop collezionare CPU "

###   :Very Happy: 

Chi lo scrive!?

Io non sono capace, al limite posso tirar su l'algoritmo ma non saprei che linguaggio usare

 :Crying or Very sad: 

----------

## federico

 *M4tteo wrote:*   

> Buonissima idea federico!!!!!!!! Complimenti, manca solo 
> 
> ###
> 
> IF 
> ...

 

E' sicuro che con un numero maggiore di 8 macchine la compilazione non abbia benefici ulteriori? In quel caso si potrebbero randomizzare 8 macchine tra quelli presenti nelle regole sopra descritte per non utilizzare sempre le prime o le ultime  :Smile: 

Questo progetto l'ho in mente da un pezzo e ne avevo discusso coi miei amici di Sideralis ma abbiamo una marea di lavori arretrati e l'idea l'ho messa nel "cassetto delle idee" che ogni tanto riapro  :Smile: 

----------

## Geps

l'idea non sarebbe male, ma chi spegne il PC dovrebbe farlo con uno

```
shutdown -h 30 && comando per avvertire il server di monitoraggio
```

, in modo che sul server che monitora le macchine accese si veda che l'host "peppo" si sta per spegnere tra tot minuti.

altrimenti o uno è costretto a lasciare il pc acceso 24/7, o uno rischia di vedersi spenta in faccia una compilazione.

----------

## federico

Si, si potrebbero studiare tutta una serie di soluzioni che chi intendesse partecipare alla cosa dovrebbe seguire  :Smile: 

----------

## Nemesix2001

@geps  : beh basta metterlo nel runlevel per lo shutdown 

in generale come la mettiamo per gestire eventuali spegnimenti improvvisi/involontari di una macchina??

Cioè sarebbe scossiante perdere tutto sempre nella mia ignoranza su distcc  :Sad: 

L'università mi uccide  :Smile: 

Ciao ciao

----------

## Geps

Secondo me è impossibile... o chi usa questo servizio mette in conto che la macchina degli altri può andare a ramengo (esattamente come la propria in caso di blackout) oppure è meglio che lasci perdere.

----------

## Nemesix2001

no no  a men andrebbe bene è solo per capire cosa si può e cosa non si può fare  :Smile: 

----------

## federico

 *Geps wrote:*   

> Secondo me è impossibile... o chi usa questo servizio mette in conto che la macchina degli altri può andare a ramengo (esattamente come la propria in caso di blackout) oppure è meglio che lasci perdere.

 

A me pare molto facile invece, chi intente utilizzare il servizio e' conscio dei benefici che ne potrebbe ottenere e degli oneri (see oneri, per aggiungere un alias o un qualcosa che si puo' decidere poi...) che nascono dall'utilizzo... chi non rispetta le regole e' fuori dal gioco.

Cmq queste sono sottigliezze, lo sbattimento e' fare tutto il resto del sistema.

----------

## Nemesix2001

non saprei nulla di come fare una pagina web come quella che hai in mente ma potrei dare una mano per scrivere il programma client server che a quanto ho capito si dovrebbe occupare di verificare che un host sia attivo e adattare il distcc al client in modo da personalizzarlo in funzione della macchina che richiede la compilazione.

Almeno l'idea ce l'ho chiara secondo te o manco quella  :Smile: 

Ciao

----------

## ElDios

perchè parlate di una macchina?   :Laughing:   io ne ho più di una...

ad ogni modo se si fa io ci sono...e se non sono un 24/7 sono un 23.59/6.99 quindi un felice utente di un servizio di calcolo distribuito... fantastica l'idea..complimenti!

Come linguaggio suggerirei il caro e vecchio python, oppure si può prendere spunto proprio da distcc (o OM,o altri simili) come punto di partenza ...

[OT]  e invece creare un mirror interno no? O_o

Devo informarmi per creare un mirror interno per i pacchetti...

[/OT]

----------

## federico

 *ElDios wrote:*   

> perchè parlate di una macchina?    io ne ho più di una...
> 
> ad ogni modo se si fa io ci sono...e se non sono un 24/7 sono un 23.59/6.99 quindi un felice utente di un servizio di calcolo distribuito... fantastica l'idea..complimenti!
> 
> Come linguaggio suggerirei il caro e vecchio python, oppure si può prendere spunto proprio da distcc (o OM,o altri simili) come punto di partenza ...
> ...

 

Si anche io ne ho una certa quantita'  :Smile:  Come linguaggio avrei utilizzato il py o il php sul web.

Anche l'idea del mirror interno mi era venuta MA non ci sarebbe mai abbastanza banda.. Metti solo che hai 10 download contemporaneamente ti vanno tutti a 100kb/s e a quel punto mi conviene usare unipd :° :°

----------

## Nemesix2001

ah beh non sono un informatico purtroppo e potrei dare una mano a programmare solo se si usa il c  :Sad:  ovviamente questo spero non influenzi la scelta se un linguaggio è più adatto in una certa situazione vada per quello farò l'alpha tester  :Smile: 

Ciao

----------

## DaVe&OpenMOsix

scusate, ma per tutte le vostre richieste c'è CONDOR!

è un sistema di grid computing: c'è un server che contiene le configurazioni hardware/software dei computer disponibili, e un demone sulle macchine. 

se vuoi lanciare un job, tutto va in automatico, usando le risorse disponibili sulle macchine remotem, e se il proprietario della macchina remota comincia a lavorare, viene fatto uno snapshot del processo e lanciato da un'altra parte.  inoltre i processi girano in una sandbox. per non creare danni... avete considerato il problema sicurezza?

cercate il progetto condor, potrebbe fare al caso vostro!

ciao

DV

----------

## federico

 *DaVe&OpenMOsix wrote:*   

> scusate, ma per tutte le vostre richieste c'è CONDOR!

 

Dalla descrizione e' LUI il nostro uomo, come torno a casa dopo cerco info a riguardo !!

Fede

----------

## stefanonafets

 *Quote:*   

> Secondo me è impossibile... o chi usa questo servizio mette in conto che la macchina degli altri può andare a ramengo (esattamente come la propria in caso di blackout) oppure è meglio che lasci perdere.

 

Non basterebbe includere la propria macchina (quella di colui che sta compilando) fra i distcc, in modo che se tutti gli altri vanno giu il lavoro continua in locale, al limite con una "piccola" perdita del lavoro fatto dalle altre macchine?

Ps, parlo da ignorante.

----------

## DaVe&OpenMOsix

no Stefanofets, le "piccole perdite di lavoro" non sono accettabili!

pensa se tu stessi compilando il kernel... e il processo migrato che stava compilando dei moduli importantissimi muore... 

tu ti prendi il tuo bel kernel (zoppo) te lo metti sul tuo server che controlla una centrale nucleare e riavvii tranquillo...

io scapperei il + lontano possibile! 

il calcolo distribuito, che sia compilazione calcolo o giochetti inutili, è una faccenda molto complicata. i fisici, nel senso degli scienziati, sono quelli che hanno portato avanti tutte ste storie, e l'hanno pensata direi molto bene. c'è un serio discorso da fare sull'autenticazione degli utenti, sulle connessioni di rete (che devono essere crittate!) sulla disponibilità o meno di un server di match making ( o + server) che gestiscono l'utlizzo delle risorse, sul salvataggio periodico dello stato del proceso migrato per eventualmente girarlo su altre macchine...

io ho fatto un corso su sta roba, e non è affatto facile, vi assicuro!

ripeto, se volete compilare + velocemente fatevi un clusterino distcc col vecchio computer, se volete fare prove di calcolo parallelo datevi da fare con MPI, se cercate di fare una grid pensate a Condor o Globus. sono progetti molto avanzati, che sono lontani dalle soluzioni "casalinghe" seppur fatte con onestà e competenza. 

pensate solo che casino sarebbe se uno lancia un rootkit sul vostro pc facendovelo sembrare una compilazione qualsiasi... 

insomma, i problemi sono tanti, non voglio dissuadervi dall'idea di sfruttare meglio le risorse rete/cpu, anzi... vi consiglio piuttosto di unirvi a questi progetti per renderli aperti anche alla comunità non scientifica

ciao

DV

edit: homepage di condor http://www.cs.wisc.edu/condor/

----------

## stefanonafets

Forse nn mi sono spiegato, ero convinto che nel caso andasse giu una macchina con distcc in compilazione accadesse questo:

 *Quote:*   

> sul salvataggio periodico dello stato del proceso migrato per eventualmente girarlo su altre macchine... 

 

e che quindi il processo riprendesse in locale dall'ultimo snap-shot, ma nn sono documentato, erano solo mie elucubrazioni (anche se il termine + corretto sarebbe "seghe mentali"...)

Lungi da me sottovalutare le difficoltà dell'implementazione di qualsiasi tipologia del calcolo distribuito, anche perche ne so ben poco (ho letto il bewfoul how-to, sempre se si scrive così, che nn è altro che una piccola "vista sopra" le difficoltà di implementazione...), del resto se il sig. Cray era considerato un geni e faceva questo di lavoro, se una gran serie di fisici e ricercatori universitari sono impegnati in questo, se la SGI, la Cray e altre grosse aziende fanno ricerca sul calcolo parallelo, significa che effettivamente nn è una semplice materia...

ps, 

 *Quote:*   

> pensa se tu stessi compilando il kernel... e il processo migrato che stava compilando dei moduli importantissimi muore...
> 
> tu ti prendi il tuo bel kernel (zoppo) te lo metti sul tuo server che controlla una centrale nucleare e riavvii tranquillo... 

 

Capisco che il tuo è un semplice esempio esplicativo, ma devi considerare che a fattore di rischio deve corrispondere fattore di sicurezza, per questo esistono gli ambienti di sviluppo, di test e di produzione...

----------

## DaVe&OpenMOsix

 *Quote:*   

> 
> 
> Capisco che il tuo è un semplice esempio esplicativo, ma devi considerare che a fattore di rischio deve corrispondere fattore di sicurezza, per questo esistono gli ambienti di sviluppo, di test e di produzione...

 

 :Very Happy:  certo, il mio esempio è grossolano!

ma non è una tragedia di proporzioni minori se compilando openoffice su 20 macchine ad esempio, una di queste è di proprietà di un utente malizioso che ti manda un programma, che tu accetti senza remore: metti che tale programma ti cancella le home, ti cambia la firma gpg, e manda su siti porno il numero di telefono di tua morosa...  :Laughing: 

io scapperei lo stesso...  il computer di casa io lo considero di produzione, ecco...

ciao DV

----------

## stefanonafets

Potremmo continuare all'infinito a fare esempi senza concludere nulla, del resto concordo col tuo punto di vista. E' ovvio che un "sistema" in uso debba assicurare delle forti protezioni (o meglio, commisurate al livello di rischio, che come fai notare deve essere considerato alto anche in un ambiente casalingo).

Ciò non significa però che un gruppo di amici nn possa provare a metter su un qualcosa simile a distcc via internet (fw in questo caso) come semplice esperimento didattico xche rischiano chissa che, se sono consci del rischcio prenderanno le dovute precauzioni.

Magari implementano una bozza del progetto (me ne tiro purtroppo fuori inquanto nn ho fw e nn sono certo un buon programmatore) e si rompono i coglioni di portarlo avanti e abbandonano, magari uno di loro si intrippa e lo vediamo poi collaborare attivamente al progetto OpenMosix (meri esempi senza significato), nn si sa mai, io penso che prima di tutto bisogna provare, se la cosa ti piace e te la senti, perchè no, allora magari collabori ad un progetto.

(per inciso, non voglio certo scatenare flame o chissa che, e nn critico certo le tue considerazioni tecniche, visto anche che hai + esperienza di me, quello che intenderei fare è solo far notare delle mie considerazioni)

CIAO!!

----------

## DaVe&OpenMOsix

[quote nick="stefanonafets"]Potremmo continuare all'infinito a fare esempi senza concludere nulla [...] io penso che prima di tutto bisogna provare, se la cosa ti piace e te la senti, perchè no, allora magari collabori ad un progetto... [/quote]

hai ragione, sono d'accordo con te!   :Cool: 

buon lavoro a chi vuole cominciare!    :Very Happy: 

ciao DV

----------

