Calcolo Parallelo: C.A.S.P.E.R.

  1. Introduzione
  2. Scopo del progetto
  3. Caratteristiche tecniche
  4. Benchmark
  5. Campi di applicazione
  6. Protocollo per l'utilizzo di CASPER

Introduzione

A partire dall'A.A. 2008/2009 il Labinf ha avviato un progetto di "cluster sostenibile" per il calcolo parallelo assieme al Dipartimento di Automatica e Informatica di questo politecnico.
Attualmente il progetto, dopo un iniziale periodo di test, si trova nella fase 2, che prevede la disponibilità di un cluster (CASPER) da 0,16 TFLOPS a fronte di un investimento tanto cospiquo in ore/uomo, quanto minimo in termini economici.

Scopo del progetto

Il nostro intento è quello di dotare il DAUIN di un cluster da 1.0 TFLOPS, eventualmente utilizzabile anche da altri dipartimenti del Politecnico di Torino. L'interesse e il coinvolgimento dei gruppi di ricerca e dei professori è essenziale per giustificare questo sforzo, così come il finanziamento che il DAUIN si è impegnato a garantire nella fase 3 del progetto.

Caratteristiche Tecniche

CASPER, acronimo di "Cluster Appliance for Small Parallel Execution and Rendering" è una griglia standard di 45 nodi Linux con capacità computazionale media (circa 160 GFLOPS).

Hardware: Cluster in stile Beowulf, assemblato usando:

ComponenteQuantitàDescrizione
Microprocessori25AMD Athlon XP @ 2.05 GHz
5Intel Pentium IV @ 2.80 GHz
9AMD Athlon 64 @ 2.15 GHz
6Intel Pentium IV @ 1.65 GHz
Memoria RAM51.3 GB (totale)
Filesystem circa 4TB (totale)
Rete2HP fast ethernet ProCurve switch 2124

Cluster Management: ROCKS 5.2.2, derivata da CentOS, a 32bit
Cluster Monitoring: Ganglia Cluster Toolkit 3.2.0, ROCKS command line, SGE command line
HPC Job Schedulers: Sun Grid Engine (SGE) 6.2, ROCKS HPC roll
Supported Parallel API(s): OpenMPI, MPICH
Parallel Compiler Suites: ROCKS Intel roll, Gnu Compiler Collection
Additional Software: Blender 2.49b, Matlab 7R2009b

Benchmark

Il cluster è stato testato con la versione di LinPack consigliata da TOP500, la nota organizzazione che si occupa di stilare una periodica lista dei supercomputer più veloci al mondo.
Questi i risultati in TFLOPS (TeraFLOPS):

Rpeak=0.180 Rmax=0.166

Da un veloce calcolo si deduce che per raggiungere l'obiettivo del progetto occorrerà quintuplicare la potenza di calcolo di CASPER.
Linpack è generalmente accettato come standard per la misura delle prestazioni dei cluster general-purpose. Anche la lista dei cluster che usano Rocks, dove CASPER è presente, adotta questo benchmark.

Campi di applicazione

HPC -GLi utilizzatori di CASPER possono compilare e inviare i job parallelizzati (MPI/MPICH) da eseguire al Sun Grid Engine (SGE).
Rendering - Attraverso vari scheduler (Farmerjoe, Yadra) disponibili per Blender e motori esterni di raytracing, come Yafaray, CASPER è in grado di fungere da render far per renderizzare filmati, animazioni o singoli frame particolarmente complessi.
Matlab Parallelo - Il calcolo parallelo matematico e scientifico con Matlab può essere eseguito attraverso una varietà di tool. MultiMATLAB (della Cornell University) e MPIMATLAB (sviluppato presso l'MIT) possono essere presi in considerazione.
Applicazioni Custom - La linea di comando di ROCKS fornisce un modo per eseguire qualsiasi comando, script di shell o programma binario su tutti i nodi di CASPER contemporaneamente. L'intera procedura avviene parallelamente al funzionamento di SGE e senza l'uso delle MPI.

Protocollo per l'utilizzo di CASPER

Trattandosi di un cluster in fase sperimentale, non esiste ancora nè una gestione automatica delle prenotazioni, nè un'interfaccia web per la sottomissione di job MPI o rendering distribuiti.

La procedura in vigore attualmente prevede invece i seguenti passaggi:

  1. Richiesta formale via mail o di persona, indicando almeno le proprie generalità, il proprio status all'interno del Politecnico (professore, ricercatore, studente?) e la tipologia di attività che si intende svolgere.
  2. Risposta dello Staff che, se positiva, contiene anche gli orari e i giorni in cui poter fissare un incontro preliminare. Se la richiesta sottintende un tipo di attività mai sperimentato prima, lo Staff richiederà formalmente una collaborazione attiva da parte del richiedente.
  3. Incontro/i presso il Labinf per lo studio della fattibilità e delle tempistiche. Questa fase può risultare molto breve nel caso in cui la la richiesta implichi l'uso di software già installati e collaudati su CASPER (tipicamente rendering con Blender standard o job MPI).
  4. Rilascio delle credenziali di accesso remoto.
  5. Inizio delle attività.