WAMM 1.0 Introduzione Ranieri Baraglia, Gianluca Faieta, Marcello Formica, Domenico Laforenza CNUCE - Istituto del Consiglio Nazionale delle Ricerche Via S.Maria, 36 - I56100 Pisa, Italy Tel. +39-50-593111 - Fax +39-50-904052 email: R.Baraglia@cnuce.cnr.it, D.Laforenza@cnuce.cnr.it meta@calpar.cnuce.cnr.it La realizzazione di ambienti di metacomputing richiede la risoluzione di alcuni problemi di tipo hardware (reti di interconnessione, memorie di massa ad accesso parallelo) e software (linguaggi, ambienti di sviluppo, strumenti per la gestione delle risorse). Nonostante molti dei problemi hardware si avviino ad una soluzione, le questioni rimaste aperte sul fronte del software sono ancora molteplici. Gli ambienti di sviluppo oggi disponibili prevedono generalmente dei meccanismi di gestione delle risorse del metacomputer, ma spesso non forniscono strumenti adeguati per la progettazione e la scrittura dei programmi. In mancanza di tali strumenti, il ciclo di progettazione del software per un metacomputer puo' comportare notevoli difficolta'. Tipicamente, per costruire una applicazione per un metacalcolatore si effettuano i seguenti passi: - l'utente sviluppa i codici sorgenti su un nodo locale del metacomputer; - i sorgenti vengono poi trasferiti su {\em ogni} altro nodo; - si esegue la relativa compilazione su {\em tutti} i nodi; - se si verificano errori o si rendono necessarie modifiche, si rieseguono tutti i passi precedenti. La compilazione su tutti i nodi e' necessaria in quanto, a priori, non e' possibile determinare su quali macchine saranno lanciati i moduli che compongono l'applicazione, quando essa sara' eseguita sul metacalcolatore. Se non sono disponibili strumenti opportuni, l'utente deve effettuare "a mano" il trasferimento dei sorgenti e la relativa compilazione su tutti i nodi, e ripetere le operazioni ogni volta che occorre correggere anche il piu' piccolo errore. Percio', gia' con poche macchine, un metodo per automatizzare queste attivita' diventa utile, se non indispensabile. Alcuni ambienti per il metacomputing mettono a disposizione programmi per controllare certi aspetti di configurazione e gestione della macchina virtuale, quali l'attivazione, l'inserimento o la rimozione dei nodi, ecc. (es: la console PVM). In certi casi, tuttavia, si sente la necessita' di strumenti di gestione piu' semplici da usare, soprattutto quando si deve lavorare con metacomputer "grandi" con decine di nodi. Per alleviare questi problemi, abbiamo realizzato una interfaccia grafica basata su OSF/Motif e PVM che consente di semplificare le operazioni normalmente svolte per programmare e utilizzare applicazioni per metacomputer, nonche' per la gestione della macchina virtuale parallela.