HPC di Windows Server 2008

Elevata Performance Computing in World REAL

Joshua M. Kunken

 

In un riepilogo delle:

  • Impostare e gestire il cluster di calcolo
  • Inviare i processi l'utilità di pianificazione HPC utilizzando Windows PowerShell
  • Elaborazione dati del foglio di calcolo sul server
  • Apportare elaborati i dati disponibili per gli utenti finali

Contenuto

Perché 2008 HPC?
Colpire l'esecuzione di piano
L'accesso a COMPUTE cluster
Amministrazione
Prendere Advantage di Windows PowerShell
Sviluppo di applicazioni
I fogli di lato server o cluster elaborazione del calcolo
Sul lato client, accesso a dati elaborati
Un set di dati molto grandi

Windows HPC Server 2008 (HPC 2008), il più recente Microsoft parallelo elaborazione pacchetto, è stato sviluppato appositamente per essere utilizzato in ambienti che utilizzano un'elevata quantità di calcolo, che descrive esattamente il laboratorio di ricerca. In questo articolo vengono descritte la distribuzione di un'ampia gamma di tecnologie Microsoft, in particolare HPC 2008, nello sviluppo di un sistema personalizzato che consente l'elaborazione automatica di dati generati da un dispositivo acquisizione immagini in un laboratorio life science.

Il sistema è in grado di eseguire automatica e automatico Excel foglio di calcolo analisi dei dati, inclusi non lineare della regressione. In cui questo tipo di analisi richiede in genere un scientist ricerca dedicare 10-15 minuti per sperimentare, richiede ora minore della metà un'ora per l'elaborazione 96 tutti gli esperimenti effettuati in un momento (senza l'intervento umano e di errore). Richiede anche meno tempo se si utilizza un cluster di elaborazione.

La soluzione utilizza inoltre un piccolo insieme di Windows PowerShell script, distribuito su 2008 HPC compute cluster, che elaborano sulla masse centinaia di gigabyte file XML entro un intervallo di tempo breve molto. Lo scopo consiste nell'illustrare come è possibile sfruttare Microsoft High Performance COMPUTE cluster 2008 e con altre tecnologie Microsoft per sviluppare facilmente applicazioni in grado di esecuzione dell'analisi ad alto livello e l'elaborazione dei tipi di file utilizzati regolarmente in un'ampia gamma di campi compresi tra degli interessi e medicine.

Perché 2008 HPC?

La decisione di utilizzare HPC 2008 è basato su diversi fattori. In primo luogo, 2008 HPC si integra molto bene con l'infrastruttura di Active Directory esistente. In questo modo ci consentono esistente Active Directory, distribuiti tra diverse aree geografiche, inviare i processi, nonché estendere i diritti di accesso all'interno del cluster utilizzando le coppie di nome utente/password esistenti. Non è necessario per essi per più credenziali di accesso per inviare i processi tra il cluster così come accedere al loro workstation.

In secondo luogo, scienziati laboratorio riguardano i fogli di calcolo di Excel costantemente per tenere traccia dei risultati sperimentali e per eseguire ulteriori analisi. Abbiamo necessarie per elaborare i fogli di calcolo di Excel dal punto di vista e sarebbe difficile così via una piattaforma non Windows. In terzo luogo, è impossibile eseguire le applicazioni sviluppate in Microsoft .NET Framework utilizzando C#, che apportate eseguire calcoli sui dati estratti da fogli di calcolo Excel in un cluster di Windows compute. Infine, è inoltre possibile utilizzare tali applicazioni per facilmente trasmettere informazioni a tabelle di database SQL Server.

Colpire l'esecuzione di piano

2008 HPC semplifica molto rendere disponibili hardware e configurare un cluster di calcolo. Con un cluster relativamente piccola utilizza solo ore per ottenere tutti i nodi compute fino e in esecuzione e comunicare con il nodo testina di stampa o master. A causa della natura del calcolo parallelo, intercorso la stessa quantità di tempo per la distribuzione HPC 2008 e Windows Server 2008 a un piccolo insieme di probabilmente otto calcolare nodi come per un gruppo compresi in centinaia.

Dopo avere impostato il nodo testina di stampa con Windows Server 2008 e HPC 2008, è stato possibile rapidamente partecipare al nostro dominio Active Directory (in esecuzione Windows Server 2003 R2). Viene quindi creata un'immagine di disco rigido (contenente una copia di Windows Server 2008 con HPC 2008) basata su nodo testina di stampa e distribuita l'immagine del disco in nostro molti nodi di calcolo. Tramite l'Autocomposizione di configurazione di rete 2008 HPC (vedere la Figura 1 ), viene selezionata una topologia di rete in cui il nodo testina di stampa è accessibile tramite un indirizzo IP pubblico mentre i nodi di calcolo ricevuti gli indirizzi IP non pubblici dal nodo testina di stampa tramite il ruolo DHCP distribuito su Windows Server 2008. È possibile distribuire facilmente i molti altri ruoli quali DNS, WINS e servizio di accesso remoto appropriati per l'impostazione di un calcolo cluster sia in modalità autonoma o aggiunto a un dominio di Windows.

fig01.gif

Figura 1 la selezione di una topologia di rete

L'accesso a COMPUTE cluster

Windows Server 2008 è dotato di una nuova versione dell'applicazione connessione desktop remoto (RDC), mstsc.exe. Con la tecnologia RDC, gli amministratori di sistema possono connettersi a e controllare altri host Windows (i client Windows Vista nonché i client di Windows Server) tramite un client grafico direttamente una connessione TCP / IP. Windows Vista viene fornito anche con una nuova versione di RDC che semplifica l'accesso il 2008 HPC calcolare nodo head del cluster e calcolare i nodi. Se connessi al nodo testina di stampa, gli amministratori del cluster possono aggiungere nuovi nodi, rimuovere nodi distribuire o annullare i processi tra i nodi ed eseguire molte altre funzioni amministrative.

La console Gestione cluster HPC offre l'amministratore del cluster, oltre a quelli con i privilegi appropriati, un'interfaccia semplice per l'invio di processi e attività manualmente (vedere la Figura 2 ). In questo campo in cui specificare la directory di lavoro, percorso di file eseguibili, le cartelle di output e parametri avanzati, nonché il numero minimo e massimo di core della CPU, calcola i nodi, nodo gruppi e i tipi di nodo.

fig02.gif

Nella figura 2 Specifica un processo nella console

Amministrazione

Con l'incorporati HPC cluster gestione si possono facilmente configurare e amministrare nodi compute cluster, monitorare i processi siano sia in esecuzione i nodi, determinare quali nodi sono in uso capacità in qualsiasi momento specificato e controllo i tipi di processo in esecuzione su qualsiasi nodo specifico. L'utilità cluscfg consente inoltre agli utenti di ottenere visione-a statistiche, inclusi il numero di processori sono in uso, quanti sono inattivi e quale calcolare nodi richiedono operazioni di manutenzione.

Il clusrun comando consente di esplorare il numero di processi eseguiti con un determinato momento, nonché verificare rapidamente quanti calcolare i nodi e le CPU sono attualmente in uso. È inoltre possibile aprire la console di gestione cluster HPC per visualizzare l'elenco di processi in esecuzione su cluster intero, nonché i processi ancora nella coda, i processi completati e quelli che sono stalling. Se i processi sono stalling, è possibile drill-down su un singolo processo o l'attività per individuare la causa.

Nell'esperienza le cause tipiche di processi non riusciti nel cluster compute includono condivisioni di file installato o attendibile non impostata su condivisioni UNC in più nodi di calcolo; impostato accesso autorizzazioni elenco di controllo, e calcolare di impostazioni delle autorizzazioni non adeguate per l'esecuzione di script di Windows PowerShell tra nodi. Risoluzione di questi problemi è relativamente semplice.

La console Gestione cluster HPC consente di visualizzare lo stato di tutti i nodi di calcolo in un unico snapshot nonché come in calore visivamente più intuitivo eseguire il mapping di visualizzazione. Questo caso, è possibile ottenere rapidamente una panoramica di come le risorse da consumati in ogni nodo da tutti i processi inviati. È possibile eseguire i test di diagnostica per tutti i compute nodi contemporaneamente (vedere la Figura 3 ) e i risultati di questi test forniscono l'amministratore del cluster con informazioni pertinenti per la risoluzione dei problemi all'intero set di nodi o per i singoli gruppi. Inoltre, HPC 2008 fornisce inoltre molto utili Visualizza grafico con compute cluster Utilizzo attraverso un'ampia gamma di periodi di tempo (figura 4). I grafici di grafici a torta e indicatori di prestazioni chiave consentono decisioni pertinenti ai decisori determinano se server e risorse IT correttamente allocate.

fig03.gif

Nella Figura 3 il test possono essere eseguiti in tutti i nodi di calcolo a una volta.

fig04a.gif
fig04b.gif

Nella figura 4 sono facilmente disponibili utili informazioni.

Prendere Advantage di Windows PowerShell

Con HPC 2008, non è possibile solo inviare dei processi in modo interattivo l'utilità di pianificazione mediante la console Gestione cluster HPC, è possibile anche eseguire questo tramite la riga di comando o tramite Windows PowerShell, consente agli utenti automatizzare i processi tramite l'utilità di pianificazione, chiamate di sistema C#, o Windows PowerShell chiama.

Il progetto utilizza un principale di Windows PowerShell script che esegue una query una condivisione di file in rete. La condivisione viene utilizzato come una input directory dei file in attesa di essere elaborati, che sono stati depositato dal sistema imaging dopo tutti gli esperimenti effettuati in corso. Lo script continua selezionando una directory di output per i file di output post-process. Se i file di input ancora non elaborati (ossia, se i file di output non vengono individuati all'interno della directory di output), lo script genera script di singoli figlio per consentire l'invio di singoli processi per l'utilità di pianificazione HPC tramite la riga di comando. Lo script di Windows PowerShell principale quindi iteratively invia tutti questi script figlio per l'utilità di pianificazione da loro inviando in job.exe, l'invio di processo della riga di comando HPC eseguibile. L'utilità di pianificazione di processo consente di inviare qualsiasi processo o l'attività per il cluster di calcolo HPC utilizzando un'ampia gamma di argomenti, fornendo un insieme di opzioni per l'esecuzione di un'applicazione su del cluster flessibile.

Sviluppo di applicazioni

In Visual Studio Professional 2008, che fornisce la possibilità di sviluppare console, Windows e applicazioni Web si basava nostri sforzi di sviluppo software principali. Visual Studio consente agli sviluppatori di progettare visivamente interessante interfaccia utente grafica lavorando contemporaneamente sulla regola business sottostanti all'interno dello stesso progetto.

Per il progetto, abbiamo sviluppato le diverse applicazioni basate sulla stessa logica business di base per soddisfare esigenze diverse. Viene avviato con una presentazione di Windows applicazione Foundation (WPF) per l'elaborazione l'input fogli di calcolo Excel, pertanto l'attivazione nostro ricercatori per verificare manualmente parametri accessorio iniziale diverso per stabilire se un set di dimensioni maggiore di tutti gli esperimenti effettuati (in base a parametri accessorio simile) può essere elaborato automaticamente sul HPC calcolano cluster.

Successivamente, è stato creato un'applicazione console per eseguire effettivamente in HPC compute cluster, accetta un numero di argomenti, inclusi un percorso per un foglio di calcolo di input, nonché i parametri di inizializzazione accessorio. Windows PowerShell fornisce gli argomenti e l'applicazione durante l'invio contemporaneamente l'attività il HPC calcolano cluster tramite la riga di comando. L'applicazione console, in esecuzione su ogni nodo compute singoli elabora l'input fogli di calcolo durante i fogli di anche generare output calcolo che contiene le soluzioni e contemporaneamente eseguire query di SQL Server INSERT per tenere traccia dei risultati di tutti gli esperimenti effettuati tutti i. .NET Framework 3.0 API di System.IO.Packaging è utilizzati in ogni nodo per elaborare i fogli di calcolo per il loro contenuto. Una volta che i valori vengono ottenuti dai fogli di input, C# viene utilizzato per gestire il resto.

Inoltre, abbiamo sviluppato un'applicazione WPF più grafica che consente la visualizzazione ricercatori risultati inviati al server SQL dal HPC calcolano cluster. Un sottoinsieme dei tutti gli esperimenti effettuati intrapresa nel nostro laboratorio viene eseguito all'interno di lastre 96 ben standard utilizzate regolarmente in biologia strutturale e l'interfaccia utente dell'applicazione WPF riflette la configurazione lastra fisico (vedere la Figura 5 ). Gli utenti solo necessario scegliere da un bene per recuperare i risultati per l'esperimento singola versione di valutazione. Facendo clic su una query SQL Server e avvia diverse tabelle di database per recuperare i risultati in precedenza elaborata nel HPC compute cluster e inviati alle tabelle. Viene inoltre utilizzato un controllo ListView che contiene un controllo GridView per fornire una panoramica di tutte le prove di 96 per un singolo esperimento. Ricercatori possono ottenere una tabella ordinabile visualizzazione di tutti i parametri accessorio e analisi statistiche per i tutti degli esperimenti effettuati elaborati. In questa tabella diventa disponibile quando il HPC calcolare non appena finisce cluster elaborazione relativi fogli di calcolo. Infine, viene effettuata utilizzare SSH tunnel all'interno dell'applicazione, consente agli utenti di fine tenere traccia in modo sicuro i relativi risultati sperimentali all'esterno del laboratorio.

fig05_new.gif

Nella figura 5 interfaccia grafica ’s applicazione

Risorse HPC

bluebullet.gif HPC di Windows Server 2008
Microsoft.com/HPC/
bluebullet.gif Sito Web TechCenter di Windows HPC
technet.microsoft.com/en-us/HPC/
bluebullet.gif Windows HPC community portale
windowshpc. NET/pagine /
bluebullet.gif Il blog del team HPC di Windows
blogs.technet.com/WindowsHPC/
bluebullet.gif Valutare HPC di Windows Server 2008
technet.microsoft.com/en-us/cc835241.aspx
bluebullet.gif Un'introduzione a Windows Compute Cluster Server
technet.microsoft.com/en-us/Magazine/2008.02.CCS.aspx
bluebullet.gif Scripting per Windows HPC
Microsoft.com/technet/scriptcenter/hubs/CCS.mspx
bluebullet.gif Installazione server HPC Windows, gestione e amministrazione
Social.Microsoft.com/Forums/en-US/windowshpcitpros/Threads/

I fogli di lato server o cluster elaborazione del calcolo

Ricercatori nel nostro laboratorio sono bello su osservare le modifiche in condizioni su molto breve scale cronologiche all'interno di ogni il wells 96 utilizzato nei tutti gli esperimenti effettuati. Modifiche condizionali vengono registrate utilizzando le fotocamere digitali collegate microscopes. Software converte quindi le informazioni di immagini digitali a livelli di intensità numerici, su base temporale, che quindi vengono archiviati in fogli di calcolo di Excel. Questi fogli di calcolo possono essere elaborati manualmente e inserire i dati risultanti, tramite regressione non lineare, con le funzioni matematiche attentamente speciali.

Il punto di adattamento i dati sperimentali con curve della regressione consiste nel determinare accessorio parametri, che possono lacune sulle modifiche sperimentali in condizioni. Tuttavia, il processo painstaking dietro i calcoli e curva accessorio richiede, come minimo, 10 minuti per ben e svolge la possibilità di errori umani, nonché il tedium associata a operazioni Taglia e Incolla.

Nell'utilità di pianificazione (lo snap-in sostituzione pianificate attività in Windows Server 2008), si consentono l'applicazione sul lato server, da eseguire a intervalli predefiniti. Se lo script di Windows PowerShell principale rileva i fogli di calcolo non elaborati presenti sul file server, genera uno script di invio del processo che sarà poi distribuito lo scheduler di processo, quindi chiama l'applicazione di elaborazione lato server che risiedono in ogni nodo compute tramite una cartella condivisa per elaborare l'dati non elaborati.

SQL Server, in esecuzione su un server remoto, viene utilizzato per organizzare i risultati ottenuti dopo l'elaborazione dati del foglio di calcolo di Excel per ogni esperimento (ovvero per lastra ben). Nostro scienziati interessati visualizzazione sia l'output di foglio di calcolo non elaborati e una rappresentazione visiva intuitiva di risultati sperimentali in un formato descrittivo, che è disponibile. L'applicazione sul lato server genera non solo fogli di calcolo dei risultati contenente il parametri di regressione non lineare, statistiche associate (Web di dimensioni e così via) e curva plots, esegue le query SQL archiviano le informazioni stesse in una tabella database associato contenente i dati per tutti gli esperimenti effettuati tutti i. In questo modo gli utenti finali in modo più efficiente, (tramite GUI) in query informazioni anziché cercare laboriously molti file capitale di fogli di calcolo.

Sul lato client, accesso a dati elaborati

L'applicazione grafica che abbiamo sviluppato per facilitare la visualizzazione agli utenti finali di dati elaborati viene utilizzato per eseguire le query remote a server SQL contenente i risultati elaborati e per presentare risultati di query per gli utenti finali in un formato descrittivo. Inoltre, gli utenti finali possibile esportare i risultati da SQL Server in fogli di calcolo Excel direttamente dall'interfaccia utente grafica, consentendo di incorporare i risultati in pubblicazioni e presentazioni. La possibilità per esportare i risultati in un nuovo foglio di calcolo Excel dipende dai risultati di SQL Server da associato tramite una struttura di dati di DataSet a un controllo ListView nell'applicazione. Ricercatori possibile visualizzazione sperimentare i risultati di una prospettiva consolidata che non erano in grado di sfruttare prima. Mentre in genere richiederebbe un membro di laboratorio 16 ore per elaborare una singola lastra 96 ben (a 10 minuti per ben), richiede ora una frazione di tale momento.

Un set di dati molto grandi

Oltre a sfruttare 2008 HPC automatizzare l'elaborazione di fogli di calcolo Excel generato dal nostro sistema di imaging, è inoltre utilizzare il processo query DataSet contenente decine di migliaia di file XML contenuto RTF del Windows compute cluster. La libreria XML è costituito da 300GB opportuno dei file XML, ciascuna contenente i nodi o i campi rispetto al quale è possibile eseguire query di più cento. Ovviamente con tali un set di grandi dimensioni dati, diventa unfeasible per importare la libreria XML in un'istanza di database di SQL Server singola mantenendo anche corrente.

Le prestazioni del database verifica non appena i file di database superano una determinata dimensione soglia più 100GB). Di conseguenza, condividere la libreria XML attraverso un numero elevato di nodi di calcolo e distribuire la somma dei nostre query in tutti i calcolare i risultati di nodi del cluster nel tempo turnaround query minimo tali uno spazio di ricerca estese. Allo stesso tempo, memorizzando il contenuto della libreria di una condivisione server singolo file, è mantenere Manutenzione set di dati overhead minimo.

nome Joshua m Kunken funge da sistema sviluppatore e amministratore all'Istituto di ricerca Scripps in Jolla la, California. Ha ottenuto il grado del feste Nell'università della California, Berkeley. È possibile raggiungere Davide in jkunken@scripps.edu. Le operazioni descritte in questo articolo è stata supportata per il centro tecnologie Accelerated per Gene alla struttura 3D.