Note di ricercaUtilizzo del calcolo ad alte prestazioni nella lotta contro l'HIV

Kristin Firth e Mia Matusow

Pensando alle persone che conducono una ricerca medica, si immaginano sempre uomini e donne in camice bianco da laboratorio che lavorano con provette e microscopi? Forse un team di chimici all'università o presso un'azienda farmaceutica? Si tratta di immagini comuni e certamente reali di ricerca medica, ma rappresentano solo

un aspetto di un campo molto vasto. Nella realtà, alcune ricerche mediche vengono eseguite in condizioni molto diverse.

Potrebbe essere una sorpresa sapere che Microsoft Research riveste un ruolo chiave nell'impegno per sviluppare un vaccino contro il virus dell'immunodeficienza umano (HIV). Inoltre Microsoft opera senza un solo becco Bunsen. La struttura somiglia a un comune spazio per uffici, arredato con scrivanie tradizionali e molti computer.

Allora, quale ruolo svolge Microsoft nella ricerca? Le persone in camice bianco, ovvero gli scienziati nelle varie università e centri di ricerca, fra gli altri il Mass General di Boston, l'Università della British Columbia, l'Università di Washington, il Centro di ricerca sul cancro Fred Hutchinson e l'Università Murdoch in Australia, raccolgono grandi quantità di dati nei loro progetti. Il gruppo eScience presso Microsoft Research, formato da una mezza dozzina di persone, la maggior parte con base a Redmond, nello stato di Washington (e una persona in Nuovo Messico), aiuta i ricercatori a elaborare e analizzare enormi quantità di dati. Microsoft Research è stata coinvolta in questo progetto per la prima volta nel 2003 e oggi il gruppo eScience collabora con gli scienziati su un'intera gamma di progetti che affrontano i problemi della nostra società. La squadra lavora a stretto contatto con gli scienziati esterni, creando soluzioni personalizzate per i progetti, elaborando i numeri e analizzando i risultati.

In un progetto ad alta priorità, Microsoft sta contribuendo all'analisi dei dati relativi ai modelli di mutazione dell'HIV. David Heckerman, medico, Dottore di ricerca, Ricercatore senior presso Microsoft, spiega che l'HIV muta rapidamente quando viene attaccato dal sistema immunitario di un individuo infetto. "Lavoriamo su uno studio che tenta di determinare come muta l'HIV in risposta al sistema immunitario dell'ospite. A tale scopo, ricerchiamo correlazioni fra un tipo di sistema immunitario dell'individuo e le sequenze proteiche dell'HIV che lo infetta".

Gli scienziati utilizzano campioni prelevati da persone contagiate dall'HIV per determinare il loro tipo di sistema immunitario e le sequenze proteiche dell'HIV. A questo punto entra in gioco l'elaborazione dei dati. Lo studio ricerca correlazioni tra 3000 aminoacidi dell'HIV e le centinaia di tipi di sistema immunitario in molte centinaia di individui. "Abbiamo ideato test statistici che forniscono correlazioni più affidabili, con un numero ridotto di falsi positivi e negativi", afferma Carl Kadie, Dottore di ricerca, Principal Research Software Development Engineer per Microsoft. "Tuttavia quei test richiedono una grande potenza di calcolo. Inoltre più elevato è il numero di soggetti inclusi, migliori sono i risultati. L'idea è eseguire milioni di simulazioni per evidenziare le correlazioni più affidabili".

Utilizzo di HPC nella lotta contro l'HIV

Solo pochi anni fa, le limitazioni di elaborazione ostacolavano l'impegno nella ricerca. Con solo mezza dozzina di computer, i ricercatori Microsoft coinvolti in questo progetto non avevano a disposizione una potenza di elaborazione sufficiente per eseguire l'analisi in un tempo adeguato. Esaminare tutte le posizioni nel genoma virale per il vaccino e i diversi immunotipi avrebbe richiesto un intero anno per soli 200 soggetti. Anche se i ricercatori avessero avuto a disposizione 20 computer dedicati per l'analisi, avrebbero comunque dovuto affrontare il problema fondamentale di eseguire i test manualmente su 20 computer separati, ricevendo 20 serie singole di risultati, quindi sarebbe stato necessario un altro programma (e più tempo) per catalogare le serie separate di risultati. La gestione di vari lavori simultaneamente, la raccolta dei risultati parziali e tutte le altre singole attività coinvolte avrebbero richiesto troppo tempo. Pertanto si sono rivolti al gruppo High-Performance Computing (HPC) di Microsoft.

Nel 2006, i ricercatori hanno implementato Windows® Compute Cluster Server 2003. La soluzione HPC ha offerto ai ricercatori un modo semplice per convogliare la potenza di molti computer che lavorano insieme. Essenzialmente, Windows Compute Cluster Server consente di distribuire il lavoro su nodi server che funzionano in parallelo. L'attività di distribuire dati fra i nodi, gestire le informazioni e combinare i risultati è completamente automatizzata. La soluzione comprende le procedure di installazione, una suite di strumenti di gestione e un'utilità di pianificazione integrata.

Infine, con questa soluzione, erano stati superati gli ostacoli tecnici più significativi: la potenza di calcolo non era più limitata e il processo di distribuire il lavoro e gestire i dati era completamente automatizzato.

Installazione

Per Microsoft Research, l'approccio con cluster di calcolo era l'ideale. Windows Compute Cluster Server 2003 è perfetto per i progetti che coinvolgono applicazioni che eseguono la stessa operazione in continuo, ad esempio quando la risoluzione dei problemi e l'analisi possono essere accelerate procedendo in parallelo. Tuttavia la distribuzione di questa soluzione deve essere valutata con cura, poiché il calcolo ad alte prestazioni può rivelarsi dispendioso, specie in termini di alimentazione e raffreddamento. Coinvolge infatti vari server che spesso utilizzano la CPU al 100% per settimane.

Nei passaggi successivi viene illustrato come determinare le dimensioni del cluster appropriate per l'organizzazione e dove poterlo conservare. Se si tratta di un ambiente già basato su Windows con Active Directory® attivo, gli amministratori dispongono dell'infrastruttura necessaria per installare, distribuire e supportare un cluster. Negli ambienti dove Active Directory non è in uso, sono richiesti alcuni passaggi di configurazione aggiuntivi.

È inoltre necessario decidere come fornire nodi al cluster di calcolo, ovvero scegliere se utilizzare gli strumenti in dotazione con Windows Compute Cluster Server 2003 o ricorrere a tecniche di distribuzione interne. È necessario distribuire Windows Compute Cluster Server 2003 insieme alle applicazioni software che si desidera eseguire sul cluster. Devono essere stabiliti i criteri di accesso utente al cluster, in modo che gli utenti siano in grado di connettersi al cluster e inviare i lavori, tramite l'interfaccia utente grafica o mediante interfacce della riga di comando.

Windows Compute Cluster Server 2003 è un sistema operativo a 64 bit (l'architettura tipica di un ambiente Windows Compute Cluster Server 2003 è illustrata nella Figura 1). Al momento della redazione del presente articolo (giugno 2007), Microsoft Research eseguiva una varietà di applicazioni diverse su un cluster creato con 25 eServer 326 IBM. Ciascuno di questi server è dotato di 2 processori Opteron AMD a 2,6 GHz.

Figura 1 Ottimizzazione della potenza con Windows Compute Cluster Server 2003

Figura 1** Ottimizzazione della potenza con Windows Compute Cluster Server 2003 **(Fare clic sull'immagine per ingrandirla)

Una volta distribuito Windows Compute Cluster Server, il gruppo ha aggiornato l'applicazione utilizzata per eseguire la correlazione genetica sul cluster. La distribuzione delle applicazioni nei cluster di calcolo può variare per complessità. L'entità della programmazione richiesta dipende dalle applicazioni stesse.

Inizialmente il gruppo ha utilizzato gli strumenti integrati in Windows Compute Cluster Server per definire in modo rapido un'interfaccia utente generica. Si trattava di una misura provvisoria. Infatti poco dopo il gruppo ha creato la propria applicazione Web personalizzata, che assicura una maggiore flessibilità e supporta l'opzione di esporre alcuni dei nodi cluster agli scienziati esterni a Microsoft. Microsoft fa parte dell'Open Grid Forum e alcuni dei cluster di Microsoft Research vengono quindi messi a disposizione degli utenti di altre università nel mondo, consentendo ai ricercatori di collaborare e condividere il carico di lavoro.

Oltre alle interfacce utente grafiche, in Windows Compute Cluster Server sono supportate le operazioni da riga di comando e gli utenti possono creare script. Inoltre sono disponibili API di alto livello per scrivere programmi che interagiscono direttamente con Windows Compute Cluster Job Scheduler, una tecnica che Microsoft Research ha scelto di utilizzare.

Conseguimento dei risultati

Grazie all'utilizzo del calcolo ad alte prestazioni, il gruppo eScience di Microsoft Research ha compiuto grandi progressi verso lo sviluppo di un vaccino per l'HIV. "Con il calcolo ad alte prestazioni, siamo riusciti ad approfondire le nostre conoscenze più rapidamente", afferma Heckerman. "Diversi dei gruppi esterni con cui collaboriamo adesso utilizzano le nostre tecniche statistiche e condividono le loro scoperte. Di conseguenza, gli scienziati si presentano da noi già con le nuove ipotesi da verificare. In precedenza, ottenere i risultati avrebbe richiesto un anno per ciascun passaggio del processo. Ora è sufficiente un solo giorno".

Prima di Windows Compute Cluster Server, i metodi utilizzati da Microsoft Research non sarebbero stati adeguati, a causa del tempo necessario per eseguire l'analisi. "Con Windows Compute Cluster Server," dichiara Kadie, "possiamo eseguire 50 lavori di 200.000 elementi ciascuno nello stesso tempo utilizzato per portare a termine 1 lavoro".

Ora che il gruppo eScience dispone di enormi funzionalità di calcolo, può condurre test con molte elaborazioni su dati simulati. Le elaborazioni su dati simulati consentono di individuare quali risultati sui dati reali possono rivelarsi interessanti. Più simulazioni vengono eseguite, maggiore sarà l'affidabilità dei risultati.

Esperienze acquisite

Microsoft Research ha ricavato ovvi benefici dall'uso di Windows Compute Cluster Server, ma si tratta di una relazione di natura simbiotica. Gli sviluppatori del gruppo High-Performance Computing, impegnati su una seconda versione di Windows Compute Cluster Server, continuano ad aumentare le proprie conoscenze grazie a commenti e suggerimenti forniti dal gruppo eScience.

In particolare, il gruppo HPC ha acquisito una grande esperienza nell'allocazione delle risorse monitorando e analizzando il comportamento del cluster di Microsoft Research per determinare il modo migliore di bilanciare le risorse del cluster fra i vari utenti. Ad esempio, su questo progetto, un utente crea in genere un lavoro per volta con una media di 50 attività associate a ciascun lavoro. L'utente invia il lavoro e Windows Compute Cluster Job Manager assegna risorse sufficienti per gestire tutte le 50 attività. A tale scopo, vengono immediatamente richiesti tutti i nodi disponibili sul cluster per lavorare sulle attività. Questo scenario non sarebbe problematico in un ambiente a singolo utente, ma lo diventa in un'impostazione multiutente dove è molto importante che i progetti avanzino simultaneamente.

Al momento, quando 10 delle 50 attività sono state completate, non vengono liberati 10 server. Job Manager attende finché tutte le 50 attività del lavoro non vengono completate prima di liberare i server e affrontare un altro lavoro. Gli sviluppatori HPC ora sono impegnati a trovare un modo per riallocare le risorse al completamento di ciascuna attività, senza dover attendere il completamento dell'intero lavoro.

Microsoft Research ha richiesto il supporto del gruppo HPC anche per risolvere problemi specifici riguardo al modo in cui i ricercatori desideravano utilizzare Windows Compute Cluster Server. Nello specifico, i ricercatori desideravano impostare la protezione in modo che le credenziali utente si propagassero automaticamente dal front-end Web al cluster di calcolo. La soluzione era utilizzare Microsoft® .NET Framework ed estendere l'autenticazione di moduli ASP.NET in modo che l'applicazione Web potesse fornire ai nodi cluster le credenziali utente complete ogni volta un utente inviava un lavoro.

Ora i componenti del team eScience presso Microsoft Research e i loro colleghi di tutto il mondo possono concentrarsi sulle parti più importanti del lavoro e lasciare ai computer tutte le attività coinvolte nell'elaborazione e nella gestione dei dati. "Di conseguenza, possiamo procedere come una squadra", afferma Heckerman. "Ci stiamo spingendo oltre i limiti della conoscenza sull'HIV, con grandi progressi nella lotta contro la malattia."

Kristin Firth e Mia Matusowentrambe di Blue Line Writing & Editing, hanno trascorso gli ultimi dieci anni creando contenuto strategico per le aziende e le organizzazioni nei settori pubblici e privati in tre continenti.

© 2008 Microsoft Corporation e CMP Media, LLC. Tutti i diritti riservati. È vietata la riproduzione completa o parziale senza autorizzazione.