Professional Documents
Culture Documents
it EDITORIALE
COLLABORATORI
ALESSIO ALESSI
MAURIZIO DELMONTE Agli inizi di Aprile, l’Apache Software Foundation ha inviato una lettera a Sun
ANDREA LEONCINI Microsystems lamentando che è dall’Agosto 2006 che non riesce ad acquisire da Sun
FILIPPO MARTINELLI una licenza “accettabile” per il JCK (Java Compatibility Kit) di Java SE 5, necessario
LUIGI MORELLI per dimostrare la compatibilità di Apache Harmony (un progetto, in origine donato
ALBERTO ROSOTTI
da IBM, della Apache Foundation di implementazione indipendente di JDK per JSE
N I C O L Ò TA M B O N E
5 e di relativa architettura runtime costituita da una libreria di classi e da una Virtual
Machine) con le specifiche Java SE 5. Non avendo ricevuto una risposta diretta entro
trenta giorni, l’Apache Software Foundation ha deciso di pubblicare questa lettera sul
proprio sito (http://www.apache.org/jcp/sunopenletter.html), informando la comunità
Internet.
GRUPPO EDITORIALE INFOMEDIA SRL
V I A V A L D E R A P. 1 1 6 In pratica, la licenza del JCK offerta da Sun impone delle restrizioni sulle condizioni
5 6 0 3 8 PO N S A C C O ( P I ) I T A L I A di utilizzo di questo software da parte degli utenti, condizioni che Apache Foundation
TE L 0 5 8 7 7 3 6 4 6 0 F A X riconosce come ostative. Ciò che la ASF sottolinea è l’incompatibilità di un passo della
0587732232 licenza JCK con i termini del Java Specification Participation Agreement (JSPA),
E-MAIL RED_LOGIN@INFOMEDIA.IT sottoscritto anche dalla ASF a suo tempo.
S I T O W E B W W W. I N F O M E D I A . I T
Il passo “inaccettabile” è quello dell’art. II “Read Only Rigths” comma A., relativo ai
diritti trasferiti della licenza JCK, che, tradotto, recita “… Sun concede una licenza non
DIREZIONE esclusiva, non trasferibile, mondiale e royalty-free di visionare e leggere la tecnologia licenziata
NATALE FINO (NFINO@INFOMEDIA.IT)
unicamente per scopi di valutazione interna. Come condizione conseguente dei diritti di
TE C H N I C A L B O O K licenza, non si potrà copiare, modificare, creare lavori derivati, esporre in pubblico, eseguire in
L I S A VA N N I pubblico, compilare, avviare o eseguire, dimostrare, rivelare, distribuire o utilizzare altrimenti
(BOOK@INFOMEDIA.IT)
la tecnologia licenziata, compreso senza limitazioni, l’utilizzo della tecnologia licenziata per
MARKETING & ADVERTISING sviluppare altre suite di test o altri tool concepiti per validare la compatibilità con una specifica,
SEGRETERIA: 0587736441
M A R KE T I N G @ I N F O M E D I A . I T
o parte di essa, per o inerente alle tecnologie Java”.
Pertanto non poter modificare, creare lavori derivati, esporre in pubblico, compilare,
AMMINISTRAZIONE avviare o eseguire, sono difatti un ostacolo per poter “dimostrare” la compatibilità di
SARA MATTEI
(AMMINISTRAZIONE@INFOMEDIA.IT)
Harmony con le specifiche JSE 5 (come appunto richiesto dalla specifica della licenza
Sun per Java SE 5).
SEGRETERIA Al momento non risulta ci sia stata una risposta ufficiale diretta, salvo dei commenti
ENRICA NASSI
(INFO@INFOMEDIA.IT)
su un weblog Sun (blog.sun.com) e un annuncio alla conferenza JavaOne che il JCK
diventerà open source (in futuro). Una cosa un alquanto buffa da leggere è nel blog
GRAFICA “On The Record” (blogs.sun.com/ontherecord/entry/apache_open_letter_to_sun) in cui, tra
PA O L O F R A N C O l’altro, si legge “la tecnologia Java coinvolge molti interessati, e riconosciamo di non
(GRAFICA@GRUPPOINFOMEDIA.IT)
poter essere sempre in grado di soddisfare tutti mentre percorriamo questo processo.
STAMPA In alcuni casi,” (e qui viene il bello) “dovremo convenire di essere in disaccordo su
T I P O L I T O G R A F I A PE T R U Z Z I alcuni punti”.
CITTÀ DI CASTELLO (PG) Dopo aver sottoscritto un Java Specification Participation Agreement che impone
determinati vincoli impolementativi, come si può poi riconoscere di dover convenire
UFFICIO ABBONAMENTI
TE L 0 5 8 7 7 3 6 4 6 0 di poter essere in disaccordo su alcuni punti, se difatti creano un vantaggio
FA X 0 5 8 7 7 3 2 2 3 2 competitivo per chi detiene (in esclusiva) i più ampi diritti? Si tratta solo di un difetto
ABBONAMENTI@INFOMEDIA.IT nella transizione dal mondo commerciale al mondo open source? Con licenza parlando
W W W. I N F O M E D I A . I T o con beneficio del dubbio?
Natale Fino
3
Login Internet Expert n.63 Marzo/Aprile 2007
SOMMARIO LOGIN n.63 - Marzo/Aprile 2007
Speciale
Cluster di calcolo
Beowulf con Linux
Beowulf, il Signore dei Cluster
di Nicolò Tambone 16
Realizzazione di un cluster di calcolo Beowulf
di Alessio Alessi 19
Architetture cluster con Linux
di Luigi Morelli 24
Appunti sulle topologie dei cluster
di Natale Fino 29
REPORTAGE
Cutting edge u Plone Sorrento Sprint 2007 60
Java e RFID
di Andrea Leoncini 35 Per contattare la Redazione di Login
Elementi di sicurezza elettrica nelle reti dati scrivete a:
Gruppo Editoriale Infomedia S.r.l.
sanitarie: il trasformatore d’isolamento Via Valdera P. 116 - 56038 Ponsacco (PI)
di Alberto Rosotti 42 Tel. 0587/736460 (r.a.) - Fax 0587/732232
e-mail: red_login@infomedia.it - http://www.infomedia.it/Login
Direzione e amministrazione
Accesso esterno sicuro: sottoreti e VPN Via Valdera P. 116 - Ponsacco (PI)
di Filippo Martinelli 52 Registrazione n.18 del 25/11/99 - Contenuto pubblicitario inferiore al 45%
��������������������������������������������������������������������������������������������������������������������������������������
������������������������������������������������
����������������������
��������������������������������������������������������������������
���������������������������������������������������������������������
������������������������������������������������������������������
�������������������������������������������������������������������
��������������������������������������
����������������������������������������������������������
������������������������������������������������������������������
���������������������������������������������������������������������
solutions
Un download unificato
con i metalink
Metalink è un formato aperto di
rappresentazione “aggregata”
dei link per il download di file via
Internet, utilizzando sia i protocolli
standard HTTP e FTP sia protocolli
P2P come BitTorrent. Scopriamone
l’essenza e le modalità di impiego. Ü di Natale Fino
Accade ogni giorno di dover scaricare dei file sione UMTS/HSDPA (con velocità tipiche
dalla rete, nel nostro caso si tratta spesso di tra i 200 e i 380 Kbit). Un esempio pratico di
software da installare, e capita spesso di effet- “accidenti da download” mi è accaduto poco
tuare il download da un sito che scegliamo a fa, mentre stavo effettuando “via etere” due
caso, attraverso un motore di ricerca, o da un download contemporanei da Sourceforge: il
mirror, anch’esso scelto a caso o individuato primo download era di un file di una ventina
automaticamente dal sito principale del pro- di Megabyte; per il secondo download, di un
dotto o del progetto (come accade, ad esem- file di un paio di MB, avevo scelto un mirror
pio per i download da Sourceforge). Tutto ciò diverso da quello propostomi da Sourcefor-
che esiste su Internet deve sottostare al motto ge, ossia il mirror che stavo utilizzando per il
mediceo “del diman non v’è certezza” e spes- download del primo file. Così, mi sono detto,
so l’operazione di download, nonostante la non rischio di rallentare il primo download.
determinazione del mirror ottimale da con- Ovviamente il download del secondo file è
tattare, può non andare a buon fine al primo terminato prima e senza problemi. A questo
tentativo: il sito prescelto (o il mirror propo- punto, si interrompe il collegamento e vengo
sto dal sito principale) può essere interessato disconnesso, quando ormai avevo superato
da un malfunzionamento temporaneo (della il 90% del primo download! Alla successi-
connessione o dell’hardware), o può non ga- va riconnessione ho riavviato il download
rantire una velocità di connessione ottimale del primo file, confidando nella funzionali-
rispetto alla dimensione del file da scaricare tà di ripresa del download del browser Web!
o, banalmente, può non memorizzare più il Ma resto pietrificato nell’accorgermi che il
file richiesto (immagino vi sarà successo, ad download è ripartito da zero! A quel pun-
esempio, con i mirror di Sourceforge). Que- to, mi sono accorto che stavolta Sourcefor-
sto tipo di problematiche, interessano non ge aveva proposto come mirror quello scelto
solo gli utenti, ma anche i produttori di sof- per ultimo nella sessione precedente, ossia
tware (o comunque di contenuti digitali) che quello utilizzato per il secondo download!
distribuiscono gli aggiornamenti delle pro- Per cui, la funzionalità del browser Web di
prie applicazioni via Internet (magari usan- ripresa del download ha fatto cilecca! Non
do proprio Sourceforge). rassegnato, ho abortito il download in corso,
ho riselezionato a mano il primo mirror e ho
avviato ancora il download. A questo punto,
Download avventurosi coincidendo nome file e indirizzo del mirror,
il browser Web ha ripreso il download dal
90% e dopo un paio di minuti l’operazione
Un ulteriore “acciacco” durante i download si è conclusa proficuamente. Su connessioni
è che la connessione può interrompersi, un lente o comunque con soglie di traffico da
classico esempio da “road warrior” soggetto non superare, pena una tariffa salata, scherzi
a cadute della linea in una classica connes- del genere possono costar cari.
8
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
Quale idea potrebbe rivelarsi più efficace del trasfor- Com’è fatto un metalink
mare le indicazioni per il download in una sorta di
meta-indicazioni per un download guidato e consape-
vole della mutevolezza della rete? In sintesi, è questa Un metalink è un documento scritto nel dialetto
l’utilità dei metalink, un formato aperto e estensibi- XML denominato MMM (Multi Method Meta-
le, basato su una rappresentazione conforme a XML linker) e i file hanno come estensione.metalink. La
1.0, per facilitare e garantire un proficuo download “magia” di un metalink si apprezza meglio investi-
dei file dalla rete. Il formato dei metalink supporta gando la struttura XML delle informazioni che lo
sia i protocolli standard HTTP e FTP sia i protocolli compongono. Prima di descrivere gli elementi (tassa-
P2P, tra cui BitTorrent, ed2k e magnet link. Il noccio- tivi e opzionali) definiti, partiamo da una analisi “by
lo della soluzione è presto detto: un unico metalink example” della struttura sintattica che è, ovviamente,
che descriva le informazioni di download da più siti abbastanza elementare:
alternativi e con protocolli disparati. E qui ha inizio
9
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
10
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
scrive le informazioni
I valori date-time sono conformi a quanto specifica-
di downalod per più to nel documento RFC 822 (ad eccezione che l’anno
può essere espresso sia con due sia con quattro ca-
siti e con protocolli ratteri (quattro è preferito). Mentre pubdate è l’indi-
disparati catore di quando è avvenuta la prima pubblicazione
del.metalink, l’attributo refreshdate indica la data e
l’ora in cui è stato aggiornato un file “dinamico”:
Elementi dell’header
Elementi del body
11
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
FIGURA 2Metalink Editor: produrre file metalink con una comoda GUI
12
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
http://www.infomedia.it/downloads/abc.exe#!metalink3!http://
www.infomedia.it/downloads/abc.exe.metalink
13
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
cessario dotarsi di un download manager che sia “sen- zione. Ad esempio, si può ricorrere ad un attributo
sibile” ai metalink. Sono già disponibili una dozzina besttime per il tag <url> sotto <resources> che
di client GUI o a riga di comando. Ad esempio, aria2 indichi, ad esempio in coordinate temporali UTC,
(http://aria2.sourceforge.net/) è un tool open source proprio questa informazione. Un ipotetico esempio
a riga di comando disponibile per Windows/Unix/ potrebbe essere:
Linux; GetRight (www.getright.com) e SmartFtp
(www.smartftp.com) sono applicazioni Windows;
wxDownaloadFast (http://dfast.sourceforge.net/) è <resources>
open source ed è disponibile per Mac, Unix e Win- <url type=”ftp” preference=”100”>ftp://
ftp1.infomedia.it/pub/TestAjax.exe</url>
<urltype=”ftp”preference=”100”besttime=”01am-07am”>ftp:
//ftp2.infomedia.it/pub/TestAjax.exe</url>
<urltype=”ftp”preference=”100”besttime=”06pm-00am”>ftp:
Sono già diversi i siti //ftp3.infomedia.it/pub/TestAjax.exe</url>
<urltype=”http”preference=”100”besttime=”09am-06pm”>http:
che mettono a di- //www.infomedia.it/samples/TestAjax.exe</url>
dows (Figura 1). Ovviamente sono solo alcuni esem- · se invece l’indicazione besttime varia, preferire il
pi. server (o i server) in base all’ora in cui si sta effet-
Per quanto riguarda la “produzione” dei file me- tuando il download.
talink, fortunatamente, non è necessario scrivere
i documenti MMM a mano con un editor di testo Nel precedente frammento, ad esempio, tra le ore 1
(l’impresa non sarebbe ardua, se non fosse per il cal- e le ore 7 del mattino si possono scegliere arbitraria-
colo dei checksum): sono disponibili diversi editor mente (o effettuare in parallelo download segmenta-
con tanto di GUI che permettono di creare agevol- ti) i server ftp1 e ftp2, mentre dalle 6 della sera fino
mente un.metalink completo di ogni informazione. alla mezzanotte i server da preferire sono ftp1 e ftp3.
Un esempio di editor è Metalink Editor (Figura 2) Analogamente, dal frammento si evince che nelle ore
scritto in Python dallo svedese Hampus Wessman di ufficio, dalle 8 del mattino alle 6 della sera, è prefe-
(http://hampus.vox.nu/metalink). Un elenco esau- ribile il download via HTTP e non via FTP.
stivo e costantemente aggiornato di implementazio- Ovviamente, anche questa ulteriore funzionalità deve
ni client e di editor metalink è disponibile sul sito essere supportata e gestita dai client e dovrà essere
metalinker.org. Da notare, che chiunque può creare ignorata dai client che non la supportano. Tuttavia,
e mantenere dei metalink, non essendo una prero- estendere il formato metalink per adattarlo alle pro-
gativa esclusiva del produttore del file da scaricare; prie necessità non è sicuramente un aspetto difficol-
ovviamente le informazioni nel metalink sono più toso, ed è possibile implementare una propria esten-
attendibili se sono i produttori dei file stessi o del- sione dello standard (a patto di fornire un client di
le fonti autorevoli a rendere disponibili dei.metalink supporto) senza dover necessariamente attendere o
“accurati”. prevedere che l’estensione proposta sia effettivamen-
te ratificata nel documento ufficiale (il che, ovvia-
mente, sarebbe comunque auspicabile). Se i metalink
In conclusione: estendere un metalink si diffonderanno sempre più, è molto probabile che
diventeranno uno standard, perlomeno de facto.
14
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
Beowulf
il Signore dei Cluster
Quando i fondi per la ricerca scarseggiano
l’ingegno si affila: un po’ di storia su come
la Genetic Programming Inc. realizzò un
SPECIALE
cluster Beowulf da mille nodi che raggiun-
geva prestazioni paragonabili a quelle di
un supercomputer, ma a costi molto infe-
riori.
Ü di Nicolò Tambone
Nell’estate del 1994, Thomas Sterling e Don Becker, shelf ”, ovvero presi dallo scaffale del rivenditore di
due ricercatori del CESDIS (Center of Excellence PC nel negozio all’angolo della strada. Erano i primi
in Space Data and Information Sciences), presso anni ’90 e già non si sentiva più parlare di “calcola-
il Goddard Space Flight Center, realizzarono un tori” o “cervelli” elettronici come, con sprezzo del
cluster di personal computer con sistema operati- ridicolo, si era fatto fino a poco tempo prima. Inol-
vo Linux. Alla nuova macchina diedero il nome di tre i ricercatori si trovavano spesso a sviluppare so-
Beowulf. luzioni in proprio, o ad essere eccessivamente legati
Beowulf è l’eroe protagonista di un poema epico del ad un sistema proprietario. Per questo motivo si era
VI secolo, la più antica opera ad oggi pervenuta in formata e consolidata una certa mentalità: “perché
lingua inglese, della quale un unico manoscritto è in- comprare all’esterno ciò che si può costruire all’in-
credibilmente e ostinatamente sopravvissuto ad in- terno?” Se si considera che nel 1994 gli addetti ai
cendi e svariate altre forme di distruzione. E consa- lavori già ben conoscessero ed apprezzassero Linux,
pevoli che i nomi hanno la loro importanza, Sterling è naturale concludere che qualcosa di nuovo doveva
e Becker seppero adeguatamente battezzare un’opera a quel punto accadere.
così ben riuscita da trovare ben presto diffusione nei Il prototipo di Beowulf nasceva su macchine dotate
centri di ricerca e nelle imprese private. di processori 486DX4 e scheda Ethernet da 10Mbit.
A stabilire definitivamente il successo del lavoro dei Il processore era tuttavia più veloce di quanto una
due ricercatori statunitensi, il riconoscimento della singola Ethernet consentisse, mentre gli switch era-
comunità di High Performance Computing, la qua- no ancora troppo costosi. Don Becker riscrisse i dri-
le ha classificato questo tipo di cluster come “classe ver, costruendo una rete “a canali” che permetteva di
Beowulf ”, collocando la tecnologia in questione tra smistare il traffico in parallelo su più Ethernet.
le NOW (Network Of Workstation) ed i Supercom-
puter.
La Genetic Programming Inc.
16
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
e scheda Ethernet
Un cluster Beowulf da 1000 nodi realizzato
da 10Mbit dalla Genetic Programming Inc.
La pionieristica società statunitense non era nuova ai cluster:
già nel 1995 aveva conseguito importanti risultati utilizzando
64 Power PC a 80Mhz e, in seguito, il parallelismo di 70 mac-
di codice iniziale “grezzo” via via selezionato attraverso nu- chine Alpha.
merose generazioni del codice stesso. In sostanza, la prima ge- Il cluster Beowulf costituito da mille personal computer dotati
nerazione di programmi è pressoché pseudo-casuale, criteri di di processore Pentium II a 350Mhz, entrò in funzione nel Lu-
selezione mutuati direttamente dalla teoria darwiniana prov- glio 1999. Ciascuna macchina era dotata di 64Mbyte di RAM,
vedono a mantenere le caratteristiche che meglio rispondono per un totale di 64Gbyte. Ciascuna motherboard Tyan Tiger
ai requisiti e attraverso ricombinazioni, mutazione e cancel- 100 era in grado di ospitare due CPU e 128 Mbyte di memoria,
lazione di geni, produrre generazioni successive, tendenzial- per cui fisicamente il cluster era costituito da 500 case mini-
mente “più adatte”. tower, ognuno carburato dal classico alimentatore switching
Alla base della programmazione genetica c’è l’imitazione del- da 300W. A concludere l’assemblaggio, la scheda di rete Intel
la natura nell’ambito delle teorie darwiniane, per produrre PRO/100+ da 100 Mbit. Nessun hard-disk, né monitor, tastie-
software attraverso il software stesso, ovvero a partire da una ra, mouse, tranne che per il server di rete, controllore dei nodi.
descrizione ad alto livello del problema e codice iniziale im- Il sistema operativo scelto era ovviamente Linux, nella distri-
perfetto, si ottiene alla fine delle iterazioni, codice ottimo alla buzione Red Hat che all’epoca si trovava allo stato dell’arte: la
soluzione del problema dato. versione 6.0.
Tra i vari obiettivi che la società si prefigge, in base a quanto af- Il server era invece dotato di due CPU Pentium II 350Mhz,
fermato dalle pagine del sito www.genetic-programming.com 256Mbyte di memoria RAM, hard-disk da 14Gbyte, CD-
17
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
18
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
Realizzazione di un cluster
di calcolo Beowulf
Il Dipartimento di Matematica dell’Università degli Studi di Milano per far fron-
te alle esigenze dei propri ricercatori e scienziati si è dotato di un cluster Beowulf
basato su Linux per il calcolo scientifico ad alte prestazioni. L’articolo presenta
SPECIALE
una panoramica del sistema con particolare riguardo alle problematiche tecni-
che di progettazione e realizzazione.
Ü di Alessio Alessi
19
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
Ogni nodo di calcolo è dotato sia di un un’interfaccia Ethernet Le home degli utenti sono accessibili utilizzando il file system
sia Myrinet. Inoltre, ogni nodo dispone di un disco SCSI per IBM GPFS su rete Myrinet [1] così come uno spazio scratch
l’istallazione del sistema operativo Linux, mentre un’area con- di 30 GB. Gli utenti accedono al sistema mediante il protocol-
divisa è disponibile via NFS sul nodo “master” per il softwa- lo ssh e sottopongono i loro job utilizzando PBS [2] e MAUI
re condiviso. Per quanto concerne il software utilizzato, pos- [3]. Ogni nodo di calcolo, alto 1U, viene impilato uno sull’al-
siamo citare: Linux RedHat, PGI-Compiler, Librerie BLAS, tro come è mostrato nella Figura 2. Il peso complessivo di un
LAPACK, ATLAS, PETSc 7, MPICH, Magma, Gromacs, rack a pieno carico si aggira intorno ai 300 Kg ed occupa uno
Singular-A, Time Navigator Atempo. spazio di 0.7 metri quadri per un’altezza di 2.02 metri. Circa 70
cm vengono lasciati liberi nella parte posteriore del rack per le
Nella Figura 1 è riportato il file FSTAB relativo ai 36 nodi di operazioni di manutenzione e per la circolazione dell’aria for-
calcolo. zata, grazie ad un sistema di ventole.
/usr/local
20
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
Il sistema di condizionamento Il cluster IBM 1350 viene fornito con il software per la gestio-
ne CSM [5]. Tuttavia, per monitorare da remoto lo stato della
Il sistema di condizionamento deve essere in grado di mante- macchina in modo elegante e comprensibile anche da parte
nere una temperatura compresa tra 10 e 32 °C. Anche l’umi- degli utenti è stato configurato il Ganglia toolkit [6]. In tal
dità dell’aria non deve superare l’80% e deve essere superiore modo, è possibile verificare l’uso delle risorse via Web. Nella
all’8%. I condizionatori utilizzati sono del tipo ad espansione Figura 8 è visibile una delle pagine di monitoraggio. Viene
diretta e sono posizionati sulla parete della sala opposta al clu- presentata una visione d’insieme del cluster con il numero dei
ster (Figura 4). Sono in bilanciamento di carico ed alternano processori, il carico, la RAM e l’area di Swap utilizzata.
il loro funzionamento in condizioni di basso carico. La sala è
predisposta per ospitare un terzo condizionatore, qualora se ne
dovesse presentare la necessità. Per monitorare la temperatura I progetti in corso
e l’umidità della sala all’interno dei rack è posto un sensore ter-
mico. Il sensore viene monitorato dall’UPS. Se viene superata Sfruttando le potenzialità del cluster, sono stati avviati diversi
la soglia programmata di temperatura o di umidità, il gruppo progetti di ricerca. Sono in corso simulazioni di Fisica basate
di continuità provvede ad inviare un allarme via SMS sul te- sul metodo Montecarlo, di Astrofisica riguardanti le stelle a
lefonino dell’amministratore e via posta elettronica al servizio neutroni e di Chimica Computazionale e di Elettrocardiolo-
di assistenza tecnica. La sonda controlla la temperatura critica gia Computazionale. Ad esempio, è stato simulato un modello
(32 °C) al di sopra della quale il sistema viene arrestato. elettrico del cuore umano ed un modello che descrive le inte-
L’aria calda generata dai rack viene rimossa da un sistema di razioni biochimiche durante la formazione dei vasi sanguigni.
aspirazione costituito da due coppie di ventole, dimensionate Maggiori dettagli sui progetti in corso sono disponibili all’in-
in modo che la temperatura esterna rilevata dalla sonda non dirizzo [8].
superi una soglia prefissata in condizioni di alto carico delle
CPU (Figura 5). Una stima effettuata porta a 41000 BTU il Le prestazioni ottenute utilizzando il benchmark HPL hanno
carico da smaltire per un cluster composto da 32 nodi. Ogni mostrato un valore di 123 GFLOP/sec utilizzando 26 nodi di
coppia opera in modalità attiva/passiva. Una griglia nel con- calcolo a 2,4Ghz e di 163,5 GFLOP/sec utilizzando 70 proces-
trosoffitto consente all’aria calda rimossa di immettersi nel sori. Questi valori sono stati confrontati con quelli ottenuti in
canale di ritorno verso i condizionatori d’aria. passato con tipologie di macchine simili, ma con una minore
21
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
22
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
FIGURA 9 Confronto delle temperature delle CPU nelle differenti condizioni di carico e riposo
[1] Interconnessione scalabile per cluster prodotta da Myri- [TSRE03] T. Sterling, “Features Beowulf
com (www.myricom.com) Breakthroughs”,Linux Magazine, June 2003 (http://
[2] Portable Batch System (www.openpbs.org) www.linux-mag.com)
[3] Maui Scheduler (www.supercluster.org)
[4] GPFS (General Parallel File System), www.ibm.com/ [IBM0] IBM, “Linux Clustering con CSM e GPFS” Redbooks
systems/clusters/software/gpfs.html SG24-6601- 02,December 2003
[5] CSM (Cluster System Management), www.ibm.com/
systems/clusters/software/csm.html [IBM1] IBM, “Linux HPC Cluster Installation” Redbooks
[6] Ganglia, sistema di monitoraggio distribuito per sistemi SG24-6041- 00, June 2001
HPC (http://ganglia.sourceforge.net/)
[7] PETSc (http://www.mcs.anl.gov/petsc) [JMDR] J. M. Dressler, N. Kandadai, “Performance of Scienti-
[8] Progetti in corso sul cluster (http://cluster.mat.unimi.it) fic Applications on Linux Clusters”, IBM Performance Tech-
nical Report, November, 2001
23
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
SPECIALE
nux, analizzando pregi e difetti.
Ü di Luigi Morelli
Quando la Scienza dell’Informazione iniziò a muo- gestiti potevano raggiungere e superare la potenza di
vere i propri primi timidi passi nell’arena dei pro- calcolo e l’efficienza transazionale di mainframe ben
dotti commerciali, lasciando i laboratori asettici del- più costosi.
le Università, il prodotto finito che venne alla luce Un cluster è quindi paragonabile ad un agglome-
era pesante, monolitico e difficile da gestire. Tutta- rato di unità di elaborazione che, pur mantenendo
via, l’idea di consentire ad una macchina dotata di la propria identità hardware e software, interagisce
controlli di ridondanza e poco incline alla stanchez- tra i propri componenti utilizzando particolari di-
za fisica ebbe immediatamente effetto nell’immagi- spositivi di comunicazione che sovrintendono al
nario collettivo; quando vennero distribuiti i primi completamento dei task nell’ambito di una sorta di
mainframe si assistette ad un radicale ed irreversi- metasistema; se la descrizione appare un po’ farragi-
bile cambio di prospettiva nella gestione del lavoro nosa, una serie di esempi potrà sicuramente aiutare
aziendale. Tutti oramai siamo abituati all’idea di un a chiarire il concetto.
notebook sulla scrivania; il collegamento in rete, Ciò che differenzia una batteria di telefoni colle-
Internet e lo sviluppo di architetture distribuite ne gati fisicamente tra loro ad una centrale telefonica
hanno reso flessibile ed intuitivo l’utilizzo. Il passo elettronica con selezione automatica dei numeri
successivo è stato una ulteriore sfida progettuale, disponibili è ovviamente lo strato software per la
una “idea nuova” dai cui sviluppi ha preso piede un gestione; tuttavia non si tratta di gestire l’unità “te-
sistema completamente diverso di intendere l’Infor- lefono”, perfettamente in grado di lavorare da sola,
matica. né di programmare il lavoro della centrale in sé, che
possiede di fabbrica le istruzioni necessarie per met-
tere in contatto ciascun apparecchio con gli altri: la
Cos’è un cluster? differenza è fatta invece dal sistema di scambio mes-
saggi tra le unità di comunicazione e la centrale, tra-
L’idea di base nasce come spesso accade, in modo sparente al lavoro hardware dell’apparecchio telefo-
tranquillo, con l’apparizione dei primi mainframe nico ed a quello della centrale, ma tale da coordinare
biprocessori. Sull’adagio secondo il quale “due è me- ciascun elemento del sistema con gli altri. Allo stes-
glio di uno”, vennero realizzate architetture hard- so modo un cluster di PC che disponga del proprio
ware che prevedevano un canale ad alta velocità per hardware e del proprio sistema operativo e di rete,
il passaggio di messaggi tra sistemi diversi; ad esso può “rispondere” ad una serie di messaggi particola-
venne ovviamente associata un’apposita funzione di ri che, coordinando le CPU e le risorse meno appe-
bilanciamento che consentisse una corretta distri- santite, consentono alle macchine in rete di collabo-
buzione dei carichi tra le due CPU (allora enormi e rare per il raggiungimento di un fine unico.
dotate di complessi sistemi di raffreddamento ad ac- Esistono fondamentalmente due tipologie di cluster:
qua). In seguito la Digital Equipment produsse siste- sistemi per il bilanciamento delle prestazioni di rete
mi altamente scalabili ed interconnessi, dimostran- (risorse esterne al PC) e sistemi per il bilanciamento
do che una serie di minicomputer opportunamente delle prestazioni della CPU (risorse interne al PC);
24
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
25
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
26
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
RIQUADRO 1
Differenze tra MPI e PVM
La natura dinamica di PVM gli permette di occuparsi della gestione delle risorse; le risorse di cal-
colo, o “host”, possono essere aggiunte o tolte a volontà sia da una sorta di console di sistema sia
dall’applicazione utente. MPI, invece, non è altrettanto dinamico, per favorire l’efficienza.
In MPI un gruppo di task può essere sistemato in una particolare struttura topologica di intercon-
nessione. La topologia di comunicazione dei task, infatti, può essere mappata sullo strato di rete
fisica prescelto, aumentando così la velocità di trasmissione dei messaggi. PVM non supporta que-
sta astrazione.
PVM gestisce uno schema di notifica dell’errore sotto il controllo dell’utente. Alcuni task possono
essere registrati tramite PVM per ricevere un alert qualora lo stato della macchina virtuale venisse
modificato; tale notifica giunge sotto forma di messaggi che contengono informazioni sull’evento.
L’attuale standard MPI non include meccanismi di fault-tolerance, benché la specifica MPI-2 pre-
veda una implementazione simile a quella definita in PVM.
Una delle maggiori differenze tra i due ambienti è nel comunicatore MPI. Il comunicatore può esse-
re rappresentato come un link tra un contesto di comunicazione e un gruppo di processi; la presen-
za di un contesto di comunicazione consente l’uso di librerie e pacchetti scritte in message-passing
system per mezzo delle quali ogni messaggio di comunicazione è protetto e filtrato all’utente.
ziale indipendente che interviene sia nel calcolo sia durante la ai messaggi – di oggetti C++ (CPPVM e PVM++) ed un in-
comunicazione. sieme di estensioni per allargare PVM al mondo Java (jPVM),
oltre a versioni ottimizzate per sistemi specifici (PerlPVM,
- Modello di passaggio dei messaggi esplicito. Questo insieme PyPVM, HP-PVM).
di task cooperano scambiandosi esplicitamente dei messaggi.
Non c’è alcuna restrizione imposta dal linguaggio sulla misura
dei messaggi. MPI
-Supporto alla eterogeneità. Il sistema PVM supporta l’etero- Al contrario di PVM, sviluppato nell’ambito di un progetto di
geneità in termini di macchina, rete ed applicazioni. Relativa- ricerca, MPI è venuto alla luce grazie allo sforzo di un comi-
mente al passaggio di messaggi, PVM consente la trasmissione tato di una quarantina di esperti di calcolo ad alte prestazioni
di messaggi contenenti più di un datatype tra macchine con provenienti da Industria e Ricerca durante una serie di mee-
differenti standard di rappresentazione dei dati. ting tenutisi tra il 1993 ed il 1994. Lo scopo principe di MPI è
- Supporto multiprocessore. PVM utilizza le caratteristiche stato quello di ridurre il numero sempre crescente di API ma-
native di message-passing sui sistemi multiprocessore per av- chine-dependent progettate dai venditori di macchine MPP
vantaggiarsi dell’hardware sottostante. (Massive Parallel Processor). MPI, infatti, rappresentava una
specifica di message-passing indipendente dalla macchina,
Il sistema PVM si compone di due parti: la prima è un daemon alla quale i produttori di MPP avrebbero dovuto attenersi per
che risiede su ciascun computer della macchina virtuale, viene consentire la stesura di applicazioni parallele portabili. Ovvia-
definito spesso pvmd e ed è progettato in modo che qualsiasi mente, la necessità di alte prestazioni da parte dei distributo-
utente possa installarlo sulla propria macchina. Una macchi- ri MPP rese l’efficienza una delle basi sulla quale la specifica
na virtuale viene quindi creata lanciando PVM, dopodiché è avrebbe dovuto poggiare. Il progetto riuscì alla perfezione, e
possibile eseguire programmi sotto PVM. Ciascun utente ha le API MPI divennero uno standard tra i produttori di siste-
la possibilità di eseguire contemporaneamente differenti ap- mi MPP.
plicazioni PVM (Figura 1). A causa degli scopi del progetto, una implementazione MPI su
La seconda parte del sistema è costituita da una libreria di di una macchina MPP risulterà sempre più efficiente di una
routine di interfaccia costituta da un repertorio di primitive basata su PVM. MPI-1 esponeva le seguenti caratteristiche:
necessarie per la cooperazione tra i task di una stessa applica-
zione. La libreria, infatti, offre le funzioni per il passaggio di - Un nutrito insieme di routine di comunicazione punto-pun-
messaggi, l’esecuzione dei processi, la coordinazione tra i task to
e la modifica della macchina virtuale.
PVM rappresenta oramai uno standard, e su tale sistema si - Una serie di routine dedicate alla collective communication,
basano una serie di estensioni che vanno da un front end gra- orientate alla comunicazione tra gruppi di processi.
fico (XPVM) ad una libreria che consente lo scambio – oltre
27
Login Internet Expert n.63 Marzo/Aprile 2007
JAVA Journal Java Micro Edition speciale
speciale CLUSTER BEOWULF
- Un contesto di comunicazione che offre un supporto per la PVM può accedere al controllo di risorse della macchina vir-
ECHO2 Conclusioni
produzione di librerie sicure per il software parallelo. tuale creando nel contempo un sistema fault-tolerant, mentre
È probabilmente quanto di più completo si possa tro- il sistema
Svilupparedi comunicazione
con la tecnicain rete consente
AJAX di PVM è di stato utilizzato
realizzare vere
- vare
La possibilità di specificare
oggigiorno in Java topologie
su AJAX. di comunicazione.
ECHO2 è un web pere trasferire dati tra le implementazioni
proprie applicazioni client. Il browser MPInondi produttori
mostra più
framework che dispone di una libreria molto completa differenti,
sempliciconsentendo
pagine ma così l’interoperabilità
potenzialmente unainsingola
una macchi-
pagina
- di
Lacomponenti
possibilità di per
creare tipi di dato
realizzare derivati che
applicazioni descrivano
con nache
frontend virtuale più ampia.
continua Per installare
ad aggiornarsi le librerie parallele
dinamicamente in PVM e
funzione
messaggi di datienon
molto ricchi contigui. ECHO2 dispone anche di un
complessi. MPI è sufficiente
delle interazioni installare Linux.Per
con l’utente. Ad esempio, PVM eleLAM/
capire a fondo poten-
ambiente di sviluppo visuale avanzato, in grado di MPI sonobasta
zialità preinstallate con Fedora
vedere Gmail Core Linux
di Google, (se sisistema
con il suo esegue di
Aaiutare
causa delle istanze di portabilità
notevolmente in fase disulla rete, nel
sviluppo. Le1995 il co-di
libreriel’installazione
chat o il nuovo personalizzata
frontend per basta selezionare
la posta i pacchetti di
di Yahoo!.
mitato MPI iniziò una nuova serie di incontri
ECHO2 sono disponibili con licenze lgpl o mpl, mentreper progettare
calcolo
AJAXscientifico).
comporta una serie di conseguenze, che impongono
MPI-2, estendendo
l’ambiente il supporto
di sviluppo è a:proprietario. Per utilizzare un attento studio prima di essere utilizzato indistintamente.
ECHO2 non è indispensabile utilizzare l’ambiente vi- Le prime considerazioni sono sull’accessibilità. Una applica-
- Funzioni
suale ancheMPIseSPAWN per lanciare
si perdono molti sia
deiprocessi
beneficiMPI sia pro-
della piat-
zione AJAX sarà difficilmente accessibile da altri sistemi, in
Bibliografia
cessi non-MPI.
taforma, come i wizard e i suggerimenti. particolare dai motori di indicizzazione. Siti per i quali è fon-
Gli esempi presenti sul sito del produttore (http: [1]damentale
S.Needhaml’indicizzazione
& T.Hansen, “Cluster
o per i Programming
quali è previstoEnviron-
l’accesso
- //demo.nextapp.com)
Funzioni di comunicazione one-sided
descrivono le come get e put.del fra-
potenzialità ments”, Monash University, Melbourne
da altre piattaforme non dovrebbero fare uso di Javascript
mework meglio di qualunque descrizione testuale. [2]ehttp://www.netlib.org/pvm
quindi di AJAX. Un’altra considerazione è sulla sicurezza:
- Funzioni non bloccanti di comunicazione collettiva. [3]esporre
http://www-unix.mcs.anl.gov/mpi/index.html
servizi web è come mostrare il fianco al nemico. Oc-
[4]corre
http://www.epm.ornl.gov/pvm/PVMvsMPI.ps
utilizzare tutti gli accorgimenti per evitare che altri ne
- Primi legami con C++ per la struttura del linguaggio. abusino (ad esempio con un blocco su referrer) e per i dati
Firebug
sensibili occorre sempre proteggere l’accesso e fornire i dati
Uno dei problemi di chi sviluppa con AJAX è monitorare solo in HTTPS. Sono accorgimenti comuni ma spesso trascu-
Conclusioni
il dialogo client/server per individuare facilmente dove rati, per la percezione errata che nessuno conosce il servizio
possono annidarsi eventuali problemi. L’ultimo stru- e quindi nessuno lo chiamerà direttamente.
Èmento
meglio che
dunque PVM oèMPI?
consiglio ForseSi
Firebug. nessuna
tratta delle
di undue… È
plugin Note Biografiche
infatti la possibilità
per Firefox di combinare
in grado le potenzialità
di intercettare, tra ledialtre
entrambi
cose, Note Biografiche
Luigi Morelli, è un consulente informatico. Si occupa di system
i l’uso
sistemidel
ad oggetto
offrire leXHR,
caratteristiche
mostrando di macchina virtuale che
sia la chiamata di &Luigi
network management, ma da
Zanderighi è Ingegnere delsempre
softwarecerca
ed èdi coniugare
esperto nellailpro-
PVM e le caratteristiche di message-passing avanzato di MPI;
la risposta. lato ludico didiMatematica
gettazione architetturee distribuite
Scienza dell’Informazione.
e di software Java.
Titoli preferenziali:
Passione per il mondo Internet, le nuove tecnologie, l’integrazione tra sistemi, lo studio e la realizzazione di community dedicate al
mondo consumer dell’entertainment (web e mobile).
Completano il profilo autonomia e spirito d’iniziativa, orientamento ai risultati e motivazione ad inserirsi in un contesto giovane e
molto dinamico.
SPECIALE
Ü di Natale Fino
Obiettivo della progettazione di un cluster è la rea- Nella configurazione IP dei nodi del cluster poter
lizzazione di un’infrastruttura di calcolo affidabile disporre di indirizzi IP privati è utile sia per motivi
costituita da gruppi di PC “standard” (anche in ter- di sicurezza sia perché non tutti dispongono di deci-
mini di “media” affidabilità). In letteratura, chiun- ne di preziosi indirizzi IP pubblici da poter sottrar-
que si è cimentato nel confronto economico tra so- re per i nodi di un cluster (numero che può variare
luzioni con macchine parallele dedicate e cluster di da pochi PC a centinaia di nodi). Inoltre col passar
unità di calcolo (ossia semplici PC) ha constatato che del tempo, ad esempio utilizzando gli indirizzi IP di
il prezzo per unità di prestazione di una soluzione classe C 192.168.x, si possono utilizzare fino a 256
cluster è di gran lunga inferiore al costo di una so- indirizzi di rete per configurare ulteriori cluster che
luzione parallela dedicata: e ad incidere sono anche si andranno a sviluppare in futuro.
i costi relativi all’alimentazione e alla dissipazione
del calore. Ulteriori vantaggi delle soluzioni cluster
rispetto a sistemi paralleli dedicati sono la facilità di Interconnessione dei nodi
scalabilità (possibilità di aggiungere ulteriori PC con
costi operativi contenuti) e la maggiore affidabilità Esistono più metodi per l’interconnessione dei nodi
non essendoci un “unico punto critico” in caso di del cluster: ciascuna tecnica comporta un determi-
malfunzionamento di un nodo (con possibilità di so- nato bilancio tra vantaggi e svantaggi a livello di
stituzione a caldo dell’hardware o di ridistribuire il costo e di efficienza della soluzione ottenuta. Due
carico di lavoro su altri nodi). macrocategorie topologiche per realizzare un cluster
fisico (tralasceremo quindi le soluzioni “sparse”) si
ottengono in base al tipo di interconnessione tra i
Indirizzi IP del cluster nodi:
Ovviamente le macchine del cluster avranno in- · interconnessioni dirette: ogni nodo ha la duplice
dirizzi IP non pubblici, e al più esisteranno una o funzione di “nodo” di calcolo e di switch
più macchine con indirizzi IP pubblici a garantire
l’accesso via Internet al cluster (sistemi che hanno la · interconnessioni indirette: ogni nodo o è un nodo
funzione di dispathcer). In tal modo i problemi di si- di calcolo o è uno switch
curezza si concentrano su queste macchine “proxy”,
mentre, per via dell’indirizzamento IP con indirizzi Nel caso di nodi a interconnessione diretta, si ricorre
privati, l’accesso diretto ai nodi del cluster non può a una o più schede di rete per macchina e alla attenta
avvenire, né i pacchetti della rete IP privata potran- configurazione delle tabelle di routing del nodo per
no essere inoltrati all’esterno della rete dei nodi del poter realizzare le connessioni desiderate con gli al-
cluster. Come è noto sono tre gli intervalli IP riser- tri nodi; nel caso delle interconnessioni indirette i
vati per reti private: nodi sono tipicamente connessi tramite switch.
Gli aspetti di progettazione topologica di un cluster
· 10.0.0.0 – 10.255.255.255 sono concetti derivati e in comune con la progetta-
· 172.16.0.0 – 172.31.255.255 zione delle reti (specie reti geografiche complesse) e
· 192.168.0.0 – 192.168.255.255 dei sistemi paralleli: per cui si parla di configurazio-
29
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
FIGURA 1 Collegamento con port trunking di due switch Gb/s. Le quattro porte da 1 Gb/s in
trunking realizzano una porta logica a 4 Gb/s.
di prestazione di una
Interconnessioni con switch
soluzione cluster è A differenza di un hub (che è un mero “ripetitore broadcast”
di gran lunga infe- di pacchetti di rete) uno switch interpreta gli indirizzi di de-
stinazione dei pacchetti in ingresso su ogni porta e li inoltra
riore al costo di una attraverso la porta a cui è connesso il nodo (o il segmento di
cui il nodo fa parte) di destinazione. Gli switch possono esse-
soluzione parallela re amministrati o non amministrati. Gli switch amministrati
hanno un costo maggiore ma permettono configurazioni più
dedicata avanzate. Molti switch di fascia alta, ad esempio, hanno pos-
sibilità di connessioni dedicate inter-switch a larga banda, tra
cui alcuni esempi sono:
ni bidimensionali a maglia (mesh), toroidali (una maglia in · Port trunking ossia “segmentazione della porta” (noto anche
cui ogni nodo estremo è connesso sia all’altro nodo estremo come Cisco EtherChannel). Permette fino a 8 porte di essere
della stessa riga sia al nodo estremo della riga ortogonale), ad trattate come una porta logica. Ad esempio, si possono connet-
anello (nodi connessi in sequenza e i nodi estremi a loro volta tere due switch Gb/s con una connessione a 4 Gb/sec “sacrifi-
interconnessi), a ipercubo (i nodi sono i vertici di cubi “con- cando” quattro porte su ogni switch. La possibilità del port
centrici” o “adiacenti” fra loro connessi), ad albero e via dicen- trunking sullo switch consente anche di utilizzare su macchi-
do. Ad esempio, così come accade per la progettazione delle ne Linux il cosiddetto channel bonding. Channel bonding si-
reti e dei sistemi paralleli due proprietà a cui si è interessati gnifica collegare assieme più NIC in una connessione logica
anche nella progettazione topologica di un cluster (ne diamo di rete, ed è supportato su Linux a livello di kernel (a partire
solo un breve cenno) sono: dalla versione 2.4.x in poi).
· latenza di commutazione (tempo che un “messaggio” impie- · Switch meshing. Permette fino a 24 porte tra switch di essere
ga ad attraversare la rete) trattate come una unica porta logica, creando una connessione
con banda molto alta.
· banda di bisezione (somma della banda di comunicazione del
minor numero di canali che se rimossi separano la rete in due · Switch impilabili. Gli switch impilabili dispongono della
sottografi equivalenti disgiunti) possibilità di interconnessione ad alta banda tra gli switch che
costituiscono un rack (ad es. fino a 8 switch). Queste connes-
30
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
FIGURA 3 FNN con 3 switch e 8 nodi. intercorrono tra numero di switch, porte da dedicare al port
La disposizione delle connessioni è trunking e numero di nodi del cluster (Figura 2)? Ho provato
ricavabile a mano solo per pochi nodi, a fare qualche semplice conto algebrico e a ricavare una for-
poi è necessario ricorrere a un algoritmo mula di calcolo per ottenere un costo indicizzato per soluzioni
di ausilio (miste o omogenee), che utilizzano switch, ad esempio a 8, 16 e
48 porte. Va detto che non ho tenuto conto di eventuali limita-
zioni “costruttive”, che possono quindi impedire determinate
soluzioni, basate su un numero di switch omogenei o eteroge-
nei. Le formule ricavate vanno prese come mero esercizio, per
cui sono suscettibili a critiche e a correzioni, e sono comunque
da raffinare con i vincoli imposti dalla realtà.
Switch e port trunking Z = numero totale nodi (porte non occupate dal trunking)
Ne = numero porte per switch estremi
Nel caso di utilizzo di switch che supportano il port trunking Ni = numero porte per switch interni
è necessario riservare un certo numero di porte al trunking in
modo da realizzare una porta logica con maggiore velocità di otteniamo:
cifra: nel caso tipico (è il caso ad esempio di alcuni modelli
di switch Gb/s), vengono messe in trunking fino a 8 porte fi- Z = 2*(Ne - KT)+ K*(Ni - 2*KT)
siche, per cui con gli switch Gb/s si possono realizzano porte
logiche fino a 8 Gb/s. Un esempio di port trunking a 4 Gb/s è Nel caso Kt = 4 abbiamo:
mostrato in Figura 1. Per non commettere errori di connessio-
ne vanno considerati alcuni vincoli basilari del port trunking, Z = 2*(Ne-4)+ K*(Ni-8)
ad esempio:
con i vincoli
· Le porte in trunking su uno switch vanno connesse solo a
porte in trunking di un altro switch. Ne>4, Ni>=8, K = 0,1,2,...
· Le porte in trunking devono essere della stessa velocità: non Vale a dire gli switch interni (valore K) possono essere 0 o più,
si possono connettere porte in trunking a 100 Mbps con porte e che per via del fattore di trunking (nei nostri esempi pari
da 1 Gbps aggregate in trunking. a 4) è tassativo utilizzare switch estremi con più di 4 porte e
switch interni con almeno 8 porte. Possiamo anzi considerare
Detto ciò, supponendo che il numero di nodi da collegare il caso con switch estremi e interni a 8 porte un caso degene-
sia tale da dover utilizzare due o più switch, quali relazioni re, in quanto
Z = 2*(8-4)+ K*(8-8) = 8
TABELLA 1 Stima utilizzata del prezzo di
acquisto degli switch Gb/s ha come risultato sempre 8 nodi, indipendentemente dal nu-
mero di (inutili) switch interni utilizzati.
Invece, nel caso di utilizzo di switch estremi a 8 porte e switch
Numero porte Costo interni a 16 porte si ha:
(euro)
SW16 100 per cui ogni ulteriore switch interno a 16 porte comporta ulte-
riori 8 porte disponibili (e quindi 8 ulteriori nodi collegabili).
SW48 3800
Per stabilire un costo delle soluzioni ho ipotizzato alcuni prez-
zi per gli switch Gb/s a 8, 16 e 48 porte (Tabella 1).
A questo punto, con un semplice foglio elettronico, è sta-
31
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
Reti FNN Nel caso del collegamento diretto, viene meno il costo di ap-
provvigionamento degli switch, ma si amplificano i costi del-
Una rete FNN (Flat Neighborhood Network) si basa sull’uti- le schede di rete e dei cavi Ethernet di categoria 5e (costi che
lizzo di più schede di rete su ogni macchina (tipicamente due), tuttavia sono minori rispetto a quelli degli switch). Con più
per realizzare connessioni tramite switch con un solo hop per schede di rete per macchina si possono creare più o meno age-
il collegamento a qualsiasi altra macchina della FNN (un al- volmente diverse topologie; il punto critico però è una attenta
tro modo per indicare una latenza “single-switch”). Per gestire configurazione delle tabelle di routing di ogni nodo, per per-
l’instradamento è necessario configurare opportunamente il mettere ai pacchetti di attraversare la rete. I nodi, quindi, as-
routing su ciascun nodo. La configurazione delle connessioni sumono una ulteriore funzionalità di router.
disponendo di n porte switch, consente di collegare, con PC
muniti di due schede di rete, n/2 macchine. La tecnica si basa Anelli
sulla constatazione che è possibile far sì che ogni macchina sia
connessa a due switch distinti: in tal modo ogni PC appartiene
Un anello è una disposizione in cui ogni macchina, dotata
a due “regioni” diverse della rete. Un caso con quattro switch
di due schede di rete, viene connessa alla macchina succes-
siva tramite un’interfaccia (ad
TABELLA 3 Confronto delle soluzioni implementabili con un budget di circa esempio eth0) e alla macchi-
mille euro per l’acquisto degli switch na precedente tramite l’altra
interfaccia (ad esempio eth1).
Soluzione Numero nodi Costo Per l’assegnazione degli indi-
(sw estremi /sw interni) (euro) rizzi IP conviene adottare una
strategia che impiega due di-
2 8 porte + 8 16 porte 72 920 stinte classi di indirizzi di rete,
uno per ciascuna “dimensio-
2 8 porte + 9 16 porte 80 1020
ne”: ad esempio, gli indirizzi
2 16 porte + 7 16 porte 80 900 della rete 192.168.0 verranno
assegnati alle schede connesse
2 16 porte + 8 16 porte 88 1000 ai sistemi “successivi”, mentre
2 16 porte + 9 16 porte 96 1100 gli indirizzi di rete 192.168.0
verranno assegnati alle schede
connesse ai sistemi “preceden-
32
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
FIGURA 4 Un anello con 4 nodi: ogni sistema è dotato di due interfacce di rete.
Cubi e ipercubi
Nel caso più semplice di cubo, costituito da 8 sistemi inter-
connessi senza switch, possiamo ricavare il numero di schede
di rete necessarie per ciascun sistema da una semplice consi-
derazione: da ogni vertice di un cubo (a sei facce) si diparto-
no tre spigoli (che conducono ad ulteriori tre vertici distinti).
Immaginando ogni sistema posizionato su un vertice del cubo
è quindi evidente che ciascun “nodo” dovrà comunicare con
altri tre nodi del cubo. Pertanto, ogni sistema sarà dotato di tre
interfacce di rete, banalmente eth0, eth1 e eth2, realizzando
così tre canali di comunicazione paralleli che coincidono con
le tre “dimensioni” del cubo (Figura 5). Una strategia utile per
“orientarsi” in cluster con topologie a più dimensioni è utiliz-
zare un indirizzo di rete per ogni dimensione, e all’interno di
ogni dimensione utilizzare la parte host dell’indirizzo IP della
rete per enumerare gli indirizzi dei nodi. Per cui, nel caso a tre Il channel bonding … in pillole
dimensioni (ossia per un cubo a 8 vertici) avremo le dimensio-
ni 0, 1 e 2 che corrispondono alle interfacce eth0, eth1 e eth2 Il channel bonding è una tecnica che si basa su un particola-
di ogni nodo. Ad esempio: re driver, supportato dal kernel Linux, che permette di con-
figurare in modalità slave più interfacce di rete che saranno
· dimensione 0: 192.168.0.x (con x che va da 1 a 8) associate a una interfaccia “virtuale” master. Si può utilizza-
33
Login Internet Expert n.63 Marzo/Aprile 2007
speciale CLUSTER BEOWULF
/etc/modules.conf
/etc/sysconfig/network-scripts
Modificati gli script di configurazione, basta riavviare lo stra-
Il contenuto di questo file potrebbe essere to di rete, riavviando il sistema o meglio, con comandi spe-
cifici, ad esempio su sistemi Fedora si potrebbe ricorrere al
DEVICE=bond0 comando
IPADDR=192.168.1.1
NETMASK=255.255.255.0 ifup bond0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255 o eseguire lo script di inizializzazione della rete:
ONBOOT=yes
BOOTPROTO=none /etc/rc.d/init.d/network restart
USERCTL=no
A questo punto le due interfacce saranno gestite e supervi-
Le interfacce che fanno parte del bonding avranno nel rispet- sionate come “unicum” dal driver di bonding, aumentando
tivo file di configurazione (ad esempio, ifcfg-eth0 e ifcfg-eth1) la banda di connessione disponibile in ingresso/uscita sulla
due parametri specifici: SLAVE e MASTER. Ad esempio il rete.
file di configurazione per eth0 che fa parte del bond0 potreb-
be essere:
Conclusioni
DEVICE=eth0
USERCTL=no La topologia di un cluster dipende anche dal tipo di problema
ONBOOT=yes parallelo da trattare, pertanto le valutazioni su quale tipologia
MASTER=bond0 adottare è anche funzione della classe specifica di problemi
SLAVE=yes computazionali da trattare. Per quanto concerne l’aspetto eco-
BOOTPROTO=none nomico, invece, è opportuno richiedere delle offerte commer-
ciali a più fornitori, poiché l’acquisto in quantità di un con-
La direttiva MASTER indica il nome dell’interfaccia di bon- gruo numero di PC, di schede di rete e di switch può far de-
ding che funge da MASTER (ad esempio, bond0, bond1, ecc. terminare sconti variabili che possono ridurre, anche sensibil-
se nel sistema sono definite più interfacce di bonding) men- mente, il costo teorico previsto dell’architettura da realizzare.
tre la direttiva SLAVE definisce l’interfaccia di rete corrente
come interfaccia slave associata all’interfaccia MASTER.
Riferimenti
Se la distro Linux utilizzata non interpreta i parametri MA-
STER e SLAVE nei file di configurazione delle interfacce di [1] Brown R. G., “Engineering a Beowulf-style Compute Clu-
rete, non resta che procedere con i comandi ifconfig e ifen- ster” http://www.phy.duke.edu/~rgb/Beowulf/beowulf_book/
slave: beowulf_book/index.html
[2] Adams J., Vos D., “Small-College supercomputing: buil-
/sbin/ifconfig bond0 192.168.1.1 netmask 255.255.255.0 ding a Beowulf cluster at a comprehensive college”
broadcast 192.168.1.255 up http://www.calvin.edu/~adams/professional/publications/Sm
allCollegeSupercomputing.pdf
e l’associazione tra la master e le due (o più) slave avviene per [3] Linux Channel Bonding - http://sourceforge.net/projects/
mezzo del comando bonding
[4] FNN – http://aggregate.org/FNN
/sbin/ifenslave bond0 eth0
/sbin/ifenslave bond0 eth1
34
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
Java e RFID
Le architetture Java a supporto dei processi di approvvigionamento
Ü di Andrea Leoncini
35
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
36
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
so l’EPCglobal è definire l’Auto-ID Reader Protocol anche nei reparti, in modo che ogni tanto si possa
Specification, ossia il protocollo con cui il lettore fare un controllo sulla spesa fin lì effettuata e cono-
comunica i dati al middleware. scere l’importo totale.
37
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
Inghilterra; e questo hub inoltra il pacco ad un hub Tipicamente, i reader espongono un’interfaccia a cui
europeo (in Germania). Dall’hub europeo, il plico è attribuito un indirizzo IP, per cui l’Event Manager
viene inviato all’hub regionale in Italia, ed infine un può processare i dati tramite delle connessioni TCP/
corriere effettua la consegna a domicilio. Si tratta di IP. Questa componente deve occuparsi fondamental-
una modalità più o meno standard per questo tipo di mente di due aspetti:
spedizioni.
Se tutti i nodi di questo percorso hanno adottato la · raccogliere ed interpretare i dati che i reader pro-
tecnologia RFID, in ogni nodo si può controllare ducono;
l’integrità del contenuto, ossia che tutti gli articoli
della spedizione siano presenti e che non ci siano · filtrare i dati stessi.
state manomissioni. Inoltre, il tag RFID può tenere
traccia di tutti i passaggi avvenuti (data, ora di arrivo Sebbene i dati EPC siano definiti secondo degli stan-
e di partenza) per ogni nodo del percorso (Figura 3). dard, il protocollo di trasmissione di questi dati, os-
sia le modalità con cui l’Event Manager ed il reader
si scambiano i dati, è invece legato all’hardware. In
Architettura di riferimento altre parole, i vari produttori di antenne hanno adot-
tato ciascuno un proprio protocollo di trasmissione:
il nostro Event Manager, quindi, deve essere in grado
Se tag RFID e antenne rappresentano l’hardware di gestire apparati differenti. L’idea è che l’Event
adottato dalla ACME, passiamo ora ad analizzare Manager sia predisposto per poter essere configurato
anche il lato software dell’architettura (Figura 4). con dei driver specifici, in base al modello di reader.
Aspetto che ci riguarda più direttamente. Deve quindi essere predisposto con un “Adapter” sul
Analizziamo perciò l’architettura logica che serve a quale installare i vari driver (o plug-in) forniti a cor-
implementare un sistema informativo basato sulla redo dell’apparato hardware.
tecnologia RFID; e partiamo dalla periferia del siste- Riguardo al filtro sui dati, questo deve essere in gra-
ma, ossia dai lettori (EPC Tag Reader). do di processare gli eventi per poter estrapolare solo
Prima di tutto, serve una componente software che quelli significativi.
si occupi di processare i dati grezzi trasmessi dalle Nel caso del carrello della spesa, ad esempio, se un
antenne o, come si è detto prima, dai reader. Questa pacco di pasta (lo stesso pacco di pasta) viene letto
componente la chiameremo Event Manager. dall’antenna due volte, è chiaro che l’informazione
38
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
“pacco di pasta nel carrello” deve essere processata o l’ufficio spedizioni) si abbia la certezza di poter
una sola volta. Praticamente, quando le letture di un effettuare delle letture dobbiamo eventualmente
medesimo oggetto vengono processate entro un certo ridondare il reader, piazzando due antenne o più
intervallo di tempo, il filtro deve emettere un solo antenne (in questo caso la funzione di filtro dell’EM
evento. Tipicamente, il valore dell’intervallo di con- sarà maggiormente necessaria). La pratica di ridon-
trollo è uno dei parametri configurabili del sistema. dare le antenne viene adottata anche per evitare che
interferenze o impedimenti facciano perdere delle
Da un punto di vista logico abbiamo quindi una o letture.
più antenne o reader che fanno riferimento ad un Per quanto riguarda l’EM, invece, possiamo gestire
Event Manager (EM). l’HA moltiplicando le istanze applicative, quindi
dati N reader, avremo due o più istanze di EM di
riferimento.
39
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
simpatia per l’uso di termini in inglese, ma per adat- gli eventuali filtri sui dati, confeziona gli eventi e li
tarci alla terminologia già in uso in questo settore. invia all’IS (ossia invia dei messaggi JMS all’Appli-
Possiamo pensare all’IS come ad una applicazione cation Server dell’IS).
JEE (Java Enterprise Edition): in questo caso abbia- A questo punto, l’IS, leggendo i messaggi in arrivo,
mo bisogno di un Application Server. potrà applicare la logica di business opportuna, che
Quindi l’IS quando riceve una notifica del tipo: nel caso delle casse equivale a creare una lista degli
“letto EPC abc dall’antenna xyz” sa che equivale a articoli, riportando il relativo prezzo e il totale della
dire “entrato in magazzino l’articolo xxx”, che, tra- spesa effettuata. Questo processo potrebbe facil-
dotto in termini informatici, equivale più o meno ad mente essere implementato con dei Message Driven
aggiungere dei dati in un certo formato all’interno Bean.
di un archivio. L’IS è una componente tipicamente Passati i varchi, il cliente troverà lo scontrino pronto
asincrona del nostro sistema distribuito. e dovrà solo effettuare il pagamento (magari anch’es-
Se ci pensate bene, i due momenti, ricezione della so automatizzato). Preparare lo scontrino, natural-
notifica e transazione sul sistema informativo, sono mente, non sarà l’unica operazione da associare agli
di fatto disaccoppiati. Da un lato, infatti, abbiamo eventi: il sistema dovrà infatti interagire con una
bisogno di poter ricevere e trattare anche grosse qualche componente del sistema legacy dei magazzi-
quantità di eventi di lettura e di prepararli per essere ni, per “avvisare” che si devono rimuovere certi arti-
processati; successivamente, si potrà gestire l’intera- coli dalla lista degli articoli presenti sugli scaffali dei
zione con i sistemi informativi (tenendo conto che reparti; operazione che potrebbe consistere nell’in-
questo secondo passaggio potrebbe anche richiedere vocare un apposito Web service o più semplicemente
l’intervento di un operatore). Si tratterà quindi di in una invocazione di una stored procedure SQL su
implementare una coda di eventi e una serie di sotto- un database.
scrittori alla coda che processino gli eventi stessi. Oltre ai sistemi legacy già presenti in azienda, da un
punto di vista logico non c’è altro: gli Event Manager
e l’Information Server sono le componenti di base (il
Un esempio: la spesa ai grandi magazzini numero degli EM e degli IS è naturalmente variabi-
ACME le e dipende dalle caratteristiche dell’impianto). È
Il carrello della spesa passa tra i “varchi” delle casse quindi l’architettura del sistema a differenziarsi in
e i reader leggono i tag degli articoli contenuti nel funzione degli impianti e, naturalmente, le logiche
carrello; l’EM riceve i dati grezzi delle letture, esegue di business da applicare agli eventi.
40
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
41
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
Elementi di sicurezza
elettrica nelle reti dati
sanitarie:
il trasformatore
d’isolamento
In alcune realtà, nel progettare una rete dati si devono affrontare
problematiche non proprio comuni
Ü di Alberto Rosotti
Introduzione
Le reti Ethernet in rame trasportano i dati all’evoluzione degli standard, confermando
utilizzando basse tensioni elettriche, come nel tempo di essere un ottimo supporto. Il
stabilito dall’IEEE 802.3. In condizioni or- basso costo lo rende conveniente, non solo
dinarie tali tensioni non sono pericolose, ma per realizzare reti dati bensì anche come
negli ambienti sanitari, ove possono essere semplice doppino telefonico (collegando
applicati degli elettrodi sul paziente, la rete una sola coppia di fili ritorti invece delle
dati va progettata con particolari accorgi- quattro coppie), realizzando in tal modo
menti. Questo articolo richiama nozioni un’infrastruttura che al bisogno è già pronta
di cablaggio strutturato, leggi in vigore in per il Voice Over IP, ed è anche in grado di
Italia e tecniche di progettazione, oltre ad trasportare il segnale video in alta definizio-
introdurre un elemento poco conosciuto dai ne (HDTV).
network designer: il trasformatore elettrico In merito all’integrazione, stiamo assistendo
d’isolamento. all’esplosione della domotica, cioè alla possi-
bilità di gestire strumenti elettrici come gli
impianti d’illuminazione, i sistemi antincen-
Verso un sistema di cablaggio dio, di allarme, di irrigazione o di riscalda-
universale mento, solo per citare qualche esempio, di
Se analizzassimo la storia dei progressi avve- industrie, alberghi, ospedali o abitazioni, tra-
nuti negli ultimi 15 anni relativamente al ca- mite un bus dati in bassa tensione che pilota,
blaggio strutturato ci accorgeremmo di come sotto il controllo di un computer, i relè di po-
tra le linee guida ne siano emerse tre: tenza finali. L’integrazione della rete dati con
la rete elettrica ha posto non pochi problemi
· Convergenza; di sicurezza, intesa non solo come sicurezza
· Integrazione; logica legata agli attacchi di virus o hacker,
· Sicurezza. ma anche in termini di sicurezza elettrica e
di conformità alle leggi. Capita, così, che i
Relativamente alla convergenza, abbiamo progettisti di reti ben conoscano i vantaggi
assistito all’utilizzo sempre più diffuso di derivanti da una comune piattaforma di co-
un unico tipo di cavo, l’UTP (Unshielded municazione, in termini di crescita, efficacia
Twisted Pair) per trasportare sia i dati digitali ed efficienza dei processi, ma spesso ignorino
sia il segnale analogico. Tra questi, l’UTP in i potenziali rischi dovuti all’integrazione con
classe 5e si è dimostrato in grado di adattarsi la rete elettrica. Una piattaforma dati comu-
42
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
ne ed aperta si adatta più efficacemente alle esigenze logica: dei nodi collegati fisicamente tra loro a stella
del mercato, mostrando maggiore flessibilità agli possono comunicare sfruttando diversi schemi logici
sviluppi imprevedibili della ricerca, riducendo i costi mentre l’unione dello schema fisico e logico è il punto
di esercizio, con il vantaggio di un controllo centra- di partenza nella progettazione delle reti integrate.
lizzato, vantaggio che da solo spesso ripaga i sacrifici
compiuti nel progettarla in modo convergente ed
elettricamente a norma. Livelli di cablaggio
I prossimi due paragrafi richiamano i concetti di
cablaggio strutturato ed introducono il problema Generalmente, la progettazione di LAN complesse
dell’integrazione con gli impianti elettrici.
FIGURA 1a Topologia d’interconnessione
a stella
La progettazione di
LAN complesse richie-
de generalmente tre
livelli di cablaggio.
43
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
TABELLA 1
44
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
45
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
Obiettivo del
“network designer”
sanitario è realizzare
una rete affidabile e
che non causi danni
da microshock
46
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
47
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
nali e cosa in quelle dotate di trasformatore d’isola- tradizionale con il trasformatore d’isolamento. In
mento. Nelle reti dati tradizionali gli switch sono ali- tal modo, una dispersione di corrente che arrivi al
mentati dalla rete elettrica mediante due conduttori: cuore di un paziente non lo attraverserà, perché non
una fase (solitamente di colore nero, bianco o grigio) cercherà di scaricarsi a terra. Infatti, la corrente di
ed un neutro (colore blu); inoltre sono collegati a dispersione si scaricherà verso il suo neutro, che è
terra da un cavo di colore giallo-verde. Se lo switch collegato al trasformatore d’isolamento e che non
si guasta, i 220 V potrebbero disperdersi sulla sua passa certamente per il corpo del paziente.
scocca (o peggio sul cavo UTP): chi tocca lo switch Inoltre, tutti i trasformatori d’isolamento sono dotati
chiude con il proprio corpo il circuito verso terra! per legge di un sistema d’allarme acustico e luminoso
Il neutro dell’alimentazione elettrica tradizionale è (una vera sirena posta dentro al locale alimentato dal
infatti a terra (chi dispone di un tester può verifica- trasformatore) che avvisa immediatamente dell’esi-
re che benché la tensione sia alternata, uno dei due stenza di una dispersione, senza peraltro bloccare il
conduttori del circuito elettrico di casa è a potenziale flusso di corrente, come fa il salvavita nelle abitazioni
zero) e così facendo viene attraversato da una corren- (detto tecnicamente “interruttore differenziale”, che
te elettrica. Se mettessimo ai nostri piedi un bel paio analizza costantemente la corrente che esce dalla fase
di zoccoli in legno perfettamente isolanti, il circuito ed entra nel neutro: se c’è una differenza maggiore di
rimarrebbe aperto e saremmo salvi. Per questo moti- una tolleranza prefissata interrompe il flusso di cor-
vo gli elettricisti usano scale di legno, e per lo stesso rente. Queste differenze sono dovute alle dispersioni
motivo i piccioni non vengono arrostiti sui cavi: i di elettroni che in casi normali non si devono verifi-
10.000 volt dell’alta tensione non si scaricano sul care, perché tanti elettroni devono uscire da un polo
corpo dei piccioni perché la corrente non ha motivo della presa quanti ne devono entrare nell’altro).
di scorrere in essi (come è noto, la corrente elettrica Questo accorgimento è indispensabile per non far
è costituita da elettroni che fluiscono dal potenziale mancare l’alimentazione ad apparecchi elettromedi-
più alto a quello più basso, esattamente come l’acqua cali di supporto alle funzioni vitali. La sirena è tacita-
scorre dalle quote alte verso quelle basse). bile, la luce no: in tal modo i chirurghi hanno tempo
Ora, non potendo isolare una sala operatoria (che è per continuare ad operare e chiamare immediata-
fatta di mattoni e cemento) o sospenderla nel vuoto, mente l’elettricista di turno per riparare il guasto.
la soluzione più semplice è realizzare una rete elet- Nei locali sanitari di gruppo due (sale operatorie,
trica dedicata al locale medico, isolandola da quella terapie intensive, UTIC, ecc.), le norme CEI EN
48
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
61558-1 prescrivono che i trasformatori d’isolamento Isolare la rete dati dalla LAN
siano raffreddati ad aria, abbiano una tensione non
superiore a 250 V, abbiano un doppio isolamento Abbiamo detto che nei locali medici di gruppo 2 dob-
rinforzato tra gli avvolgimenti e fra questi e le masse biamo collegare gli apparecchi elettrici al trasforma-
dall’apparecchiatura, abbiano una potenza compresa tore d’isolamento per evitare lesioni al paziente, ma
tra 0,5 KvA e 10 KvA. Inoltre, consigliano d’installa- i lettori più attenti avranno notato che c’è ancora un
re un sensore della temperatura all’interno del cabi- problema: la rete dati del locale sanitario deve essere
net del trasformatore, in grado di attivare un allarme collegata anche al resto dell’ospedale tramite la LAN
acustico.
49
Login Internet Expert n.63 Marzo/Aprile 2007
cutting edge
e questo collegamento fa venir meno l’isolamento. switch avremmo perso l’isolamento elettrico: la
Per risolvere il problema ci sono due soluzioni: o ri- corrente di dispersione di un trasformatore potrebbe
nunciamo a collegare la rete dati del locale sanitario riversarsi sull’altro tramite lo switch, passando per
alla LAN, oppure la colleghiamo tramite la fibra otti- il paziente che farebbe da ponte, ed avremmo perso
ca. Visto che la prima soluzione è spesso impraticabile l’effetto “piccione”.
(perchè nelle sale operatorie si ha la necessità di avere Un metodo alternativo, per evitare che la rete dati
dati in tempo reale provenienti dal laboratorio d’ana- infici l’isolamento elettrico senza usare uno switch
lisi, dalla sala TAC oppure di richiedere la “second con porte in fibra GBIC per ogni trasformatore, è
opinion” con il teleconsulto via Internet), si attua la concentrate tutta la rete dati su un unico switch, con
seconda soluzione utilizzando switch con una (o due sole porte in fibra ottica. Questo comportamento
per ridondanza) porte in fibra ottica (le GBIC) che potrebbe essere giustificato anche dalle maggiori pre-
disaccoppiano il segnale elettrico da quello ottico. La stazioni della rete in fibra rispetto a quella in rame.
fibra di vetro trasporta solo fotoni che non possono Ci sono però quattro svantaggi che lo rendono scon-
in nessun caso scaricare a terra l’eventuale corrente veniente da adottare:
derivante da una dispersione e d’altro canto non pos-
sono trasferire sul paziente un’eventuale corrente di 1. La fragilità dei cavi in fibra, che mal si prestano a
dispersione proveniente dalla LAN. situazioni d’emergenza in cui è preferibile disporre
di cavi in rame flessibili, in grado di seguire gli stru-
menti, di essere calpestati o ritorti attorno o dentro
Come disaccoppiare le reti multiutente gli stativi (bracci o snodo che scendono dal soffitto);
In una sala operatoria con un solo letto è relativa- 2. l’obsolescenza di alcuni apparecchi elettromedica-
mente semplice disaccoppiare la rete elettrica e la rete li, che necessariamente richiedono il cavo in rame;
dati interna da quella esterna, usando il trasformatore
d’isolamento ed uno switch con unlink in fibra. 3. la praticità e la sicurezza dall’innesto RJ45 a baio-
Il problema si complica quando si devono realizza- netta, rispetto alla boccola della fibra ottica;
re impianti elettrici e reti dati in sale con più letti,
come le terapie intensive o il pronto soccorso. In 4. L’elevato costo dello switch in fibra, che oltretutto
questo caso ci sono due soluzioni: o si usa un unico è necessario acquistare in due esemplari per ottenere
trasformatore d’isolamento per tutta l’area, oppure la ridondanza.
si realizzano delle aree elettricamente isolate con un
trasformatore per ogni area, facendo in modo che la È pur vero che i punti uno e due si potrebbero ri-
parte elettrica afferente ad un trasformatore sia isola- solvere dotando ogni letto di un trasduttore optoe-
ta da quelle afferenti agli altri (Figura 6). lettronico (convertitore di segnali da ottico a rame
e viceversa), ma questi dovrebbero essere alimentati
Avendo i trasformatori un amperaggio massimo fis- dal trasformatore d’isolamento e costituirebbero un
sato per legge, ed essendo tanti gli elettromedicali altro “point of failure”, che si tende ad evitare negli
in uso, quando gli ospedali non hanno problemi di ambienti sanitari.
budget usano un trasformatore per ogni letto (crean-
do tante aree quanti sono i letti), ma quando i soldi Conclusioni
mancano al progettista è richiesto di accorpare elet-
tricamente due o tre letti. La legge stabilisce che at- Può capitare che giungano in pronto soccorso pazien-
torno al paziente si deve creare un’area elettricamente ti, pensando che ad accogliergli ci sia lo staff di ER,
isolata con un margine di 1,5 metri in orizzontale e con George Clooney in camice bianco. Ed essendo
2,5 metri in verticale. La distanza orizzontate può caricate di un notevole stato d’ansia, non tollerano ri-
essere usata come riferimento per posizionare le pre- tardi e pretendono d’essere visitate subito, senza con-
se a muro, mentre la distanza verticale è importante siderare che la fila viene servita per urgenza, non per
perché spesso i pazienti sono monitorati da telecame- ordine d’arrivo. Inevitabilmente, infermieri e medici
re a circuito chiuso poste sopra i letti e collegate ad vengono criticati, e qualcuno da troppo in attesa im-
uno switch dedicato al segnale video: se le webcam preca contro la malasanità. Permettetemi di spezzare
sono poste a più di 2,5 metri dal paziente possiamo una lancia a favore degli infermieri; quegli “angeli”
usare un unico switch in rame, mentre se il soffitto che quando si guasta una presa elettrica si rifiutano
è più basso, dobbiamo applicare le medesime consi- di usare quella attigua, facendo perdere le staffe a chi
derazioni fatte per gli elettromedicali (sopratutto se pensa si tratti della solita incomprensibile inefficien-
il circuito TVCC è PoE). Riassumendo, in ogni area za pubblica: stanno solo tentando di salvarci la vita, e
elettricamente isolata dobbiamo installare come mi- i network designer ne comprendono i motivi!
nimo uno switch con uplink in fibra, un trasformato-
re d’isolamento ed un quadro elettrico dedicato con Note Biografiche
sezionatori di fase e differenziali (Figura 7).
Alberto Rosotti è consigliere dell’Ordine degli Ingegneri di Pe-
Quest’ultima considerazione è fondamentale, perché saro. Attualmente fa parte dello staff Sistemi Informativi del-
se collegassimo due aree afferenti a trasformatori l’Ospedale della sua città.
d’isolamento diversi con cavi in rame su un unico
50
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
Accesso esterno
sicuro:
sottoreti Windows e
VPN
Realizzare un accesso remoto trami- Ü di Filippo Martinelli
te VPN è un compito concettualmente
semplice ma che può riservare amare
sorprese e noiosi inconvenienti nella
fase di messa a punto. Questo articolo
è un resoconto dettagliato di un caso
reale di media complessità per la cui
risoluzione sono stati necessari studio,
ricerca, perseveranza ed intuito.
52
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
53
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
Gestione antivirus Dmz_2 -> Lan Tcp 80 e 4343 Accesso limitato al solo DC
Utilizzo di WSUS Dmz_2 -> Lan Tcp 8080 Accesso limitato al solo DC
Accesso a SqlServer Dmz_2 -> Lan Tcp 1433 Limitato alla coppia luxp8, lu2003se1
Cartelle condivise Lan->Dmz_2 Tcp 445, Tcp 139, Udp Accesso alle cartelle condivise anche
137, Udp 138 dal client legacy Win98
Trasferimento file sui web Dmz_2 -> Dmz Ssh, ftp e http Limitata ai soli web servers
servers
Accesso internet Dmz_2 -> Dmz Tcp 8080 Accesso al proxy server
54
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
RIQUADRO 1 Passi consigliati per la copia di un profilo FIGURA 2 Finestra Gestione nomi utente e
password archiviati in sottoreti
Ssubinacl è un tool
Ognuno di noi sa bene quanto sia più facile collegarsi
alle risorse di rete utilizzando il nome mnemonico
supportato da Mi- del server remoto piuttosto del corrispondete indiriz-
zo IP: ciò, in una rete Windows, è reso possibile sia
crosoft per sosti- dal protocollo NETBIOS (che, quando abilitato, ese-
gue un broadcast del nome della macchina in modo
tuire, nelle ACL, il che sia conosciuto e registrato dagli altri computer),
sia dal DNS, componente fondamentale all’interno
SID di un utente con di un dominio basato su Active Directory. Visto che
i server in DMZ_2 non fanno parte del dominio, il
quello di un altro. DNS integrato in Active Directory non registra au-
tomaticamente i loro nomi; né è possibile risolverli
tramite NETBIOS, visto che i pacchetti broadcast
non transitano tra sottoreti diverse. È perciò utile un
elenco di tutte le necessità relative alla risoluzione di
nomi per trovare una soluzione idonea:
cartelle condivise in DMZ_2: allo scopo si creano
due nuovi utenti locali, chiamiamoli lettore e scrit- 1. Dalla LAN è necessario accedere ai server in
tore, con permessi, rispettivamente, di sola lettura e DMZ_2: per farlo, è sufficiente aggiungere a mano
lettura/scrittura sulle aree in condivisione. Tramite la dei record host nel DNS.
gestione delle password di rete, disponibile in Win-
dows XP, si configurano su alcune macchine della 2. Il server Efforts, per le sue elaborazioni, deve po-
LAN le credenziali per poter autenticarsi sui server tersi collegare ad una serie di server FTP in Internet,
55
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
Tramite GPO comuni a tutto il dominio vengono Le configurazione devono essere replicate a mano,
impostati alcuni parametri fondamentali come il proxy eventualmente importando opportune chiavi di registro.
per l’accesso internet, la modalità di lavoro del servizio di
aggiornamento automatico (che nel caso in esame utilizza
WSUS) ecc.
Accesso a cartelle condivise con le credenziali utilizzate in Per accedere a cartelle condivise su macchine in dmz_2 è
fase di login. necessario fornire le credenziali di un utente locale.
La risoluzione dei nomi è affidata a DNS integrati in active Occorre predisporre un idoneo sistema di risoluzione dei
directory che registrano automaticamente i nomi delle nomi in dmz_2 e registrare manualmente i nomi delle
macchine in dmz_2. macchine sul dns del dominio.
tramite il rispettivo nome pubblico. Nelle proprietà nesso uno sniffer (ethereal). Così facendo, è risultato
TCP/IP della connessione di rete basta allora impo- che le richieste di connessione arrivavano corretta-
stare i DNS forniti dal provider internet. mente a Luxp8 dalla LAN, ma non veniva data alcu-
na risposta. Che fare?
3. Sia Efforts, sia Luxp8, si collegano ad una serie li- La prova effettuata da Efforts non lasciava dubbi sul
mitata di macchine della DMZ e della LAN. Tramite corretto funzionamento del servizio di condivisione;
il file hosts (memorizzato nella directory %windir%\ così come quella con lo sniffer evidenziava che il pro-
system32\drivers\etc) è possibile inserire un elenco blema era su Luxp8.
di associazioni indirizzo IP/nome mnemonico. Ov- Su quest’ultimo, era attivo il firewall integrato di
viamente, tutte le macchine dell’elenco devono avere Windows e per scrupolo ne ho abilitato il log: è ri-
un IP statico; la flessibilità garantita dal DNS o da sultato che era proprio questo componente a scartare
NETBIOS in combinazione con il DHCP che si ha i pacchetti provenienti dalla LAN, a causa di un pa-
per i client della LAN non può essere raggiunta. rametro di configurazione che fino a quel momento
non avevo mai notato. Il servizio era sì aperto alle ri-
Da quanto esposto sinora, si evince che con configu- chieste esterne, ma solo a quelle provenienti dall’am-
razioni non troppo impegnative è possibile evitare bito locale (Figura 3); quando si lavora con un’unica
che le macchine in DMZ_2 debbano accedere al sottorete, come nel caso di piccole e medie reti da
DNS nella LAN. In tal modo, le policy di transito sul ufficio, queste problematiche non emergono, e posso-
firewall possono essere ristrette in modo da garantire no disorientare il sistemista quando si manifestano.
un maggior isolamento tra le due aree. Un’altra sorpresa è venuta da un client legacy con
sistema operativo Windows 98, dotato di una vecchia
Condivisione file applicazione di visualizzazione che utilizza come
sorgente dati un file su Luxp8. Il servizio di con-
Come si è accennato prima, entrambe le macchine in divisione file utilizza le porte NETBIOS 137, 138 e
DMZ_2 hanno delle cartelle condivise che devono 139, e quindi non è rimasta altra scelta che aprirle sul
essere visibili dalla LAN. Questo servizio è disponi- firewall. Per inciso, aggiungo che i sistemi operativi
bile sulla porta 455 che quindi dovrà essere aperta sul Windows 2000 e Windows XP (proprio per compati-
firewall in modo unidirezionale, da LAN a DMZ_2. bilità con le precedenti versioni) hanno abilitato di
Dopo aver effettuato le necessarie configurazioni, il default anche le porte NETBIOS e quindi gestiscono
primo tentativo di instaurare una connessione dalla in modo trasparente all’utente le richieste provenien-
LAN a Luxp8 è miseramente fallito, mentre funzio- ti da computer con Win98: questo comportamento
nava correttamente da Efforts, posizionato nella sua può essere modificato tramite le proprietà avanzate
stessa sottorete. Era forse sbagliata la regola imposta- del protocollo TCP/IP nella scheda WINS.
ta sul firewall?
In simili circostanze, per isolare il problema, è utile
eseguire una cattura dei pacchetti che transitano in Gestione degli aggiornamenti di sistema
rete, per poi procedere ad una loro analisi: pertanto,
ho configurato lo switch in modo che replicasse il Gli aggiornamenti critici e di sicurezza del sistema
traffico di interesse su una porta, porta a cui ho con- operativo vengono approvati ed installati tramite
56
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
WSUS, uno dei prodotti gratuiti sviluppati da Mi- una sottorete diversa rispetto ai client e quindi ho
crosoft per soddisfare le esigenze di amministrazione proceduto con le conoscenze pregresse, e con un ap-
centralizzata degli aggiornamenti per piccole e medie proccio “per induzione ragionata”. OfficeScan ha la
reti. I client sono istruiti ad avvalersi di WSUS trami- veste di una Web application che si appoggia ad IIS
te un opportuna GPO, che stabilisce sia le modalità e rende disponibile, tramite collegamento HTTPS
di aggiornamento sia l’indirizzo del server e la porta sulla porta 4343, sia un’interfaccia amministrativa sia
su cui lavora. Sebbene WSUS sia installato su un l’installazione, tramite il browser, della parte client.
Domain Controller, può comunque lavorare senza Quest’ultima recupera gli aggiornamenti dei pattern
appoggiarsi ad Active Directory, e quindi è in grado dei virus collegandosi alla porta 80 del server e vie-
di gestire anche computer che non fanno parte del ne interrogata sullo stato corrente tramite la porta
dominio, come quelli in DMZ_2. 58662. Da esperienze precedenti già sapevo che il
Oltre ad aprire le porte necessarie sul firewall, oc- firewall integrato di Windows non veniva corret-
corre anche configurare in modo opportuno Luxp8 tamente configurato nei computer dotati di doppia
e Efforts poiché nel loro caso non sono utilizzabili scheda di rete (situazione tipica di workstation non
le GPO del dominio. I parametri con cui lavora recentissime), in cui la LAN integrata nella scheda
Windows Update sono però facilmente rintracciabili madre non garantisce le stesse prestazioni degli appa-
all’interno del registro, sotto la chiave rati di rete con cui colloquia. Infatti, durante l’instal-
lazione OfficeScan si preoccupa sì di aprire la porta
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ del servizio alle connessioni esterne, ma lo fa sulla
WindowsUpdate scheda di rete sbagliata! Ed occorre intervenire per
replicare la configurazione sulla interfaccia Ethernet
si possono quindi esportare su un file .reg ed impor- effettivamente utilizzata. Purtroppo, anche dopo aver
tarli da quest’ultimo sulle macchine in DMZ_2. compiuto questa operazione, controllando dalla con-
sole di amministrazione, le macchine in DMZ_2 ve-
Installazione dell’antivirus nivano segnalate come spente, situazione legata alla
mancata connessione sulla porta 58662.
L’antivirus utilizzato in azienda è OfficeScan di Ho quindi controllato il log del firewall di rete, per
TrendMicro, soluzione in architettura client-ser- vedere se venivano bloccati dei pacchetti: ma l’unica
ver che permette il controllo centralizzato delle cosa che ho notato erano delle echo-request dirette al
impostazioni, dell’aggiornamento e del monitoraggio server antivirus; ho però avuto la sensazione che il
delle infezioni. Non sono riuscito a trovare documen- server, per alcune operazioni, usasse l’IP della mac-
ti che descrivessero il caso in cui il server si trova in china client. Il servizio di risoluzione dei nomi, già
57
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
58
Login Internet Expert n.63 Marzo/Aprile 2007
solutions
59
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage
60
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage
sorizzandoli, o addirittura organizzandoli. Come è compagnato durante tutto il soggiorno: certo, il pa-
stato nel caso di Sorrento, in cui, Abstract, giovane norama non è indispensabile per produrre del buon
società napoletana attiva nel panorama italiano come codice, ma di sicuro aiuta lo spirito, al punto che al-
una delle aziende leader nella fornitura di soluzioni cune sessioni di lavoro si sono tenute direttamente
basate su Plone, ha fortemente voluto lo sprint par- nel giardino dell’hotel o nel foyer, seduti sui comodi
tenopeo. Il ruolo di Abstract è stato, appunto, fornire divani. Non va dimenticato, infatti, che i partecipanti
un apporto fattivo per ospitare lo sprint a Sorrento. ad uno sprint sono dei volontari: ed è fondamentale,
Abstract, con questo sprint, ha anche voluto offrire anche per gli orari massacranti, che possano operare
uno stimolo alla comunità Plone italiana: infatti, uno nel contesto migliore possibile.
sprint costituisce un ottimo contesto per la discussio-
ne di idee, non solo tecniche, e per la condivisione
delle esperienze dei singoli sviluppatori e utenti di Gli argomenti dello sprint
software open source.
Nonostante la scarsa presenza di italiani nel gruppo Il Sorrento Sprint ha avuto come finalità principale
centrale di sviluppo di Plone non giocasse a favore di l’evoluzione della prossima versione di sviluppo di
una richiesta di organizzare l’evento in Italia (attività Plone, la 3.5; tuttavia, l’evento si è svolto a ridosso
che deve essere approvata e sostenuta dalla fondazio- dell’uscita della versione 3.0, prevista per Maggio.
ne), l’ottimo lavoro di Vincenzo Barone e di tutto lo Per cui, è stato naturale collocare un “Bug Day” nel
staff di Abstract ha fatto sì che questa possibilità si bel mezzo dello sprint e buona parte dei partecipan-
concretizzasse: con buoni auspici per tutti nel poter ti, per un intero giorno, si è dedicata a risolvere i bug
aumentare la propria esposizione e il proprio apporto segnalati sul collector ufficiale, contribuendo così
alla comunità Plone internazionale. anche a migliorare la qualità della nuova versione di
Il gruppo di lavoro è stato ospitato nella splendida Plone (decisamente più ricca di novità e di migliora-
cornice della costa sorrentina, che ha positivamente menti rispetto alla precedente).
colpito i suoi ospiti fin dal primo arrivo. Lo sprint Plone 3.0 dispone di meccanismi nativi di versioning
si è tenuto nella sala riunioni di un magnifico hotel, e di staging dei contenuti, strumenti molto potenti e
fornita delle attrezzature necessarie e dotata per l’oc- piuttosto invidiati anche da soluzioni a licenza chiu-
casione di abbondante connettività rispetto alle nor- sa. Chiaramente, sono migliorabili ed estensibili a
mali esigenze della struttura. casi d’uso diversi da quelli di partenza; perciò uno
Una vista mozzafiato sul golfo di Napoli ci ha ac- degli obiettivi dello sprint è mostrarne le potenzialità
61
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage
ai partecipanti, e chiedere il loro supporto per la pro- lease manager di Plone 2.5 e autore di molti prodot-
secuzione dello sviluppo di questi meccanismi. ti basati su tecnologia Zope, tra cui Relationship, il
Altra questione molto sentita, e centrale durante lo nuovo modulo di gestione delle relazioni tra oggetti
sprint, è il processo di supporto a AJAX dell’interfac- di Zope 3. Alec ha svolto un ottimo lavoro: non era
cia di Plone, un’evoluzione in corso da tempo (è sta- infatti facile, soprattutto i primi giorni, coordinare
ta già scelta la metodologia da seguire e siamo nella un così folto gruppo di sviluppatori, ma ci è riuscito
fase di viva realizzazione di quanto è necessario). Gli al meglio, grazie all’immensa disponibilità, alla capa-
sviluppatori Plone dispongono già oggi di una infra- cità di ascolto, e al grande rispetto e fiducia che ha sa-
struttura, KSS, che li mette in condizione di rendere puto infondere anche a chi non lo conosceva già.
dinamiche intere parti dell’interfaccia di Plone, sen- Tra le altre presenze “eminenti” citiamo anche Rob
za inficiare la bontà dei meccanismi di base (che re- Miller, responsabile tecnico di Open Plans, una no-
stano funzionanti anche se il javascript non è attivo o profit newyorkese piuttosto sensibile alle nuove tec-
non è disponibile nel browser web). nologie, noto per molti importanti prodotti per Zope
L’impiego di Plone negli ambiti più disparati ha reso e Plone, e per essere l’autore del portale del Burning
necessaria nel tempo l’implementazione di un’infra- Man, un evento unico nel suo genere ed estremamen-
struttura di gestione utenti molto ricca e flessibile: te noto soprattutto negli Stati Uniti. A questo sprint,
oggi Plone può facilmente autenticare utenti a fronte Rob si è dedicato alle problematiche inerenti alla ge-
di servizi esterni (tra cui LDAP o Active Directory), stione utenti, essendo il leader del progetto Remem-
può autorizzarli sulla base di regole contestuali molto ber, a cui abbiamo accennato prima.
specializzate, può gestirne gli attributi ottenendoli e Per quanto riguarda la gestione di AJAX in Plone, lo
memorizzandoli, se necessario, in sorgenti distribui- sprint ha ospitato due degli sviluppatori fondamen-
te. Tutto ciò utilizzando dei plugin che si agganciano tali di KSS, Godefroid Chapelle e Balasz Ree, prove-
al servizio di base, PAS, e lo specializzano in modo nienti rispettivamente da Belgio e Ungheria. Anche
semplice ed efficace. Allo sprint si è lavorato su Re- per loro si sono registrate lunghe sessioni di forma-
member, un prodotto capace di sfruttare le tecnologie zione e sviluppo, dato che moltissimi dei presenti
PAS per dotare Plone di un oggetto “utente” più ver- erano interessati a questi nuovi e promettenti mecca-
satile, i cui attributi possano essere facilmente estesi, nismi che rendono l’interfaccia di Plone ancora più
e che sia agganciabile ad un workflow (utile ad esem- moderna e potente, grazie all’adozione di AJAX.
pio per gestire fasi di approvazione di richieste di re- I neofiti di KSS si sono detti sbalorditi e molto sod-
gistrazione al portale). Ulteriore argomento notevole, disfatti per le scelte operate dagli strateghi di Plone:
tra quelli trattati allo sprint, è stata l’importazione e KSS permette di sviluppare la parte AJAX dell’inter-
l’esportazione di contenuti in Plone. Anche in que- faccia senza andare a manipolare le skin di base (che
sto caso, da tempo esistono tecnologie molto valide, devono essere mantenute tali per consentire di usare
capaci di assistere gli sviluppatori nel risolvere tali l’applicazione anche in caso AJAX non sia funzio-
esigenze, ma non esistono analoghe funzioni efficaci nante). In sintesi, Plone non riscrive le proprie libre-
per permettere all’utente finale di Plone di effettua- rie AJAX, ma fa utilizzare ai suoi sviluppatori quelle
re queste operazioni in modo semplice e completo. già esistenti, senza impedire ai singoli di implemen-
Durante lo sprint sono stati valutati diversi approcci, tare e adottare le proprie!
e probabilmente uno tra questi sarà presto parte del A questo sprint ha anche partecipato Jens Klein, svi-
Plone base. luppatore austriaco molto in vista nella comunità (è
coinvolto in progetti fondamentali quali Archetypes
e ArchGenXML, strumenti che rendono la produt-
I partecipanti tività nei progetti basati su Plone estremamente ele-
vata). Jens è arrivato a Sorrento per interessarsi alle
A detta dei veterani presenti, lo sprint di Sorrento è problematiche di migrazione di contenuti Plone ba-
stato uno dei più affollati (vedi foto di gruppo) e ric- sata su XML, ma ha anche cercato supporto per Ge-
chi di tematiche organizzati negli ultimi anni. Tra gli nesis, il progetto di riscrittura di ArchGenXML, per
oltre 60 partecipanti, molti rappresentavano aziende il quale ha in programma di organizzare uno sprint
europee e americane (perciò, come di consueto, la nei prossimi mesi.
lingua più parlata allo sprint era l’inglese), ma erano Tra i partecipanti che hanno fatto più strada per rag-
presenti anche dei freelance e alcuni “decisori” e IT giungere Sorrento ci sono Rocky Burt (dall’isola di
manager, interessati a capire cosa Plone può offrire Terranova!) e Nate Aune, entrambi insigni rappre-
loro: non potevano scegliere occasione migliore! Fol- sentanti della Plone Foundation ed esperti delle tec-
ta anche la presenza italiana, con una importante rap- nologie Zope 3. Durante lo sprint hanno lavorato a
presentanza dell’Associazione Zope Italia. Plone4Artist, una verticalizzazione open source di
Gli sprint rappresentano uno dei principali momenti Plone orientata alla gestione di file multimediali utile
di miglioramento di Plone: pertanto, in base alle te- alle comunità di artisti che vogliono rendere disponi-
matiche trattate e alla propria disponibilità, gli svi- bili online i propri lavori audio-video. Plone4Artist è
luppatori più importanti alternano la propria presen- in grado di gestire agevolmente file di grandi dimen-
za fisica a questi eventi. sioni e le problematiche legate al multimedia (come
Nel caso di Sorrento, il Coach designato è stato Alec lo streaming). Plone4Artist è anche un ottimo esem-
Mitchell, freelance proveniente da Los Angeles, re- pio di come le tecnologie Zope 3 possono potenzia-
62
Login Internet Expert n.63 Marzo/Aprile 2007
Reportage
re Plone: chi ha supportato Plone4Artist durante lo permette sia di poter lavorare in moltissimi in modo
sprint è rimasto sbalordito di quel che si riesce a fare coerente sulla stessa base di codice, sia di rifattorizza-
con tali tecniche rispetto a quello a cui si è abituati re il codice nel caso in cui vengano proposte imple-
con lo sviluppo Zope classico. mentazioni migliori di specifiche funzionalità.
Per quanto riguarda l’Italia, segnaliamo la partecipa- Lo sprint è anche stato occasione per potersi cimen-
zione di Vincenzo di Somma, uno dei più importanti tare nell’apprendimento delle tecniche mutuate da
sviluppatori italiani della comunità Plone internazio- Zope 3 introdotte in Plone già dalla versione 2.1.
nale, che da sempre fa parte del gruppo responsabile Rispetto a Zope 2, Zope 3 si pone al contempo in
dell’infrastruttura di Plone. Vincenzo si è dedicato al un’ottica di continuità e di rottura: buona parte del
miglioramento del supporto ai workflow di Plone, e materiale implementato per Zope 3 può essere facil-
ha dispensato infiniti consigli a chi stava cercando di mente adattato e utilizzato anche in ambiente Zope 2
perfezionare Plone 3.0 in vista del rilascio ufficiale. (e questo ne testimonia la continuità), tuttavia i prin-
Restando in ambito italiano, l’Associazione Zope cipi alla base di Zope 3 sono in alcuni casi nuovi in al-
Italia ha approfittato dell’evento anche per coordi- tri addirittura alternativi a quelli adottati da Zope 2.
nare con Redomino, sponsor dello sprint, un’azione Ad esempio, mentre in Zope 2 è il concetto di oggetto
comunitaria sull’Italian Skin, un prodotto realizzato che pervade tutto il framework, in Zope 3 tutto è in-
e mantenuto finora da Redomino, capace di dotare centrato sul concetto di componente. E da ciò deriva
Plone di un’interfaccia mirata a risolvere le richieste una serie di possibilità che si manifestano concreta-
di accessibilità definite per i portali delle pubbliche mente in Plone in vari modi, portando gli sviluppa-
istituzioni dalla Legge Stanca. Infatti, Plone rispet- tori Plone ad apprezzare i vantaggi dell’adozione di
ta da sempre i canoni internazionali di accessibilità, Zope 3 come ambiente di sviluppo. Solo per citare
quasi da farsene un fiore all’occhiello. Ma per l’Italia alcune delle caratteristiche più evidenti e più attese,
si è ben visto di darsi obiettivi ancor più stringenti, e nella versione Plone 3.0 sono stati integrati i mecca-
per questo si rende necessario estendere ulteriormen- nismi di versioning e di staging dei contenuti, sono
te, secondo le regole XHTML Strict, la già accessibi- stati introdotti elementi AJAX lato client (che faci-
le interfaccia di Plone. litano molto la vita agli utilizzatori finali), ed è stato
introdotto un servizio di gestione degli eventi sugli
oggetti. Non resta che sperimentarlo un po’!
Sviluppo, ma non solo!
Lo sprint non è stato (e non vuole essere) solo una Conclusioni
lunga sessione di sviluppo software. I nuovi arrivati
vengono accolti con molta disponibilità, e i vetera- Al termine di questa magnifica settimana, il bilancio
ni possono farsi conoscere, per le doti tecniche e per è positivo: oltre sessanta partecipanti, quasi tutti pre-
quelle umane. Insomma, è un bellissimo modo per senti per l’intera durata di questo sprint (caratterizza-
dare un volto e stringere amicizia con quei nomi che to da orari che potremmo dire “disumani”, soprattut-
appaiono nella documentazione del software, nelle to se correlati alla sua abnorme durata: di solito due-
mailing list e nelle chat tecniche. Dopo esserci incon- tre giorni, invece dei sei del Sorrento Sprint!).
trati, sarà molto più facile e proficuo, tornati a casa, Il coach, e quindi la Foundation, si è detto soddisfat-
scambiare le proprie idee e collaborare insieme, an- to della buona riuscita dell’incontro, considerandolo
che a migliaia di chilometri di distanza. molto produttivo, ed è stato anche molto contento
Non sono mancate sessioni di presentazione e di for- delle “new entry” nel gruppo di lavoro di Plone: la
mazione su tecnologie e prodotti innovativi (alcune mancanza di sprint in Italia non ha certo favorito fi-
addirittura improvvisate, grazie alla disponibilità de- nora una partecipazione fattiva. Anche i leader dei
gli specialisti presenti). Tutti hanno imparato qualco- vari gruppi di lavoro, che si sono formati più o meno
sa di nuovo, hanno potuto vivere il flusso creativo che spontaneamente, hanno riportato buoni risultati con-
caratterizza lo sviluppo software, e hanno sperimen- seguiti durante la permanenza a Sorrento, sia per i
tato le tecniche e le metodologie utilizzate nello svi- progressi fatti sia per le nuove prospettive raggiunte
luppo del core di Plone (predisposizione delle istanze sui problemi aperti. Molti dei presenti hanno utiliz-
di lavoro, versioning, testing automatico, tecniche zato tutte le pause disponibili per scambiarsi idee,
mutuate da Zope 3, strumenti di lavoro alternativi a comprendere nuove possibilità di collaborazione,
quelli di solito utilizzati). e anche per fare amicizia: questo è il modo con cui
In particolare, molti dei “nuovi” sono rimasti sbigot- la comunità Plone si è sviluppata fin dagli inizi, ed
titi e affascinati dall’approccio test-driven che carat- è quello in cui ci aspettiamo che continui a prospe-
terizza Plone e tutti i prodotti di qualità che ne esten- rare. Arrivederci alla Plone Conference di Ottobre a
dono le funzionalità di base. Da anni Plone viene ri- Napoli!
lasciato con un corredo di test in grado di verificarne
automaticamente le funzionalità di base, a garanzia Note Biografiche
della sua qualità. In sostanza, per ogni nuova funzio-
Maurizio Delmonte, Ingegnere Elettronico, si occupa di tema-
nalità (e per ogni bug individuato) come primo passo tiche Zope/Plone da oltre cinque anni. Lavora in Redomino
viene implementata una o più funzioni che ne veri- come responsabile tecnico per l’implementazione ed il delive-
ficano il funzionamento (o la presenza del bug). Ciò ry di soluzioni document oriented.
63
Login Internet Expert n.63 Marzo/Aprile 2007
IN VETRINA
Windows Vista Masterizzare con Nero 7
The Definitive Guide di W. Wang
di W. R. Stanek
64
Login Internet Expert n.63 Marzo/Aprile 2007
LOGIN 63
Founders at Work: Stories Microsoft SharePoint 2007
of Startups’ Early Days Unleashed
di J. Livingston di Colin Spence, C. e Noel, M.
LOGIN 63
OFFERTE ABBONAMENTI