Laboratorio di Calcolo Parallelo

Documenti analoghi
Laboratorio di Calcolo Parallelo

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017

Modalità di utilizzo dei server di calcolo del C.E.D. di Frascati

Modelli di programmazione parallela

Laboratorio Centro Calcolo

Uso del terminale in ambiente UNIX

Architetture della memoria

USER Manual. Version Date: Right reserved

Nozioni Base di Linux

Uso di GCC da riga di comando

MANUALE UTENTE P/N: GW-IMP-WEB-1(-S) Edizione 1.0

Dipartimento di Scienze Chimiche Laboratorio Interdipartimentale di Chimica Computazionale

Il Sistema Operativo Ripasso

Programma svolto di INFORMATICA. Classe 3 - indirizzo MERCURIO A.S. 2009/2010

Componenti di un sistema operativo

Il Progetto di Centro di Reprocessing di BaBar: Requisiti per il Monitoring e il Management

CSN4! UP 22/23 settembre Calcolo teorico. E. Onofri, E. Vicari

Argomenti. Architettura fisica di U-Lite Architettura software di U-Lite Comandi gestione job: NFS contro AFS Licenze software

Programma svolto di INFORMATICA. Classe 3M - indirizzo MERCURIO A.S. 2010/2011

1. Introduzione. 1.1 Precauzioni di sicurezza. 1.2 Sistema richiesto. 1.3 Contenuto del pacco

Sistemi operativi e reti A.A Lezione 2

Appunti di SISTEMI OPERATIVI

HPC e Cloud 4 giugno 2018 Alberto Sabaini Anna Perina Piattaforma Computazionale

Lezione 1. Programmazione. Lab di Programmazione. Linux e la sua shell: questi sconosciuti. Filippo Gaudenzi. Università degli Studi di Milano

Router. E altri elementi di una rete LAN

Fondamenti di Informatica. Ingegneria elettronica

Comandi principali di Linux (1)

Tutorial. Cluster Linux Ultimo aggiornamento Ottobre 2004

FUTURA SERVICE S.r.l. Procedura GIMI.NET ver. 3.8 Agosto 2017

Dove siamo. Gestione della Memoria (1) Dove siamo. Dove siamo. Operating Systems and Distributed Systems. Operating Systems and Distributed Systems

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

L'ambiente DB2 in LAB (e come collegarsi da remoto)

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

Sistemi operativi 2003/2004. Input e output

Griglie Computazionali: GRID

Sistemi Di Elaborazione Dell informazione

Intel Parallel Studio Un caso di studio

Manuale telecamere IP

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

SOFTWARE SCIENTIFICO DISPONIBILE SUL CLUSTER DI CALCOLO DI IASF-BOLOGNA

MS Visual Studio: Linea di Comando

Nel mezzo del cammin di nostra vita

Seqrite Endpoint Security per Mac

Fondamenti di Informatica L-A

Obiettivi del corso. Parte II Aprire un programma di navigazione (browser) Internet explorer Ricercare una pagina Web Uso di Google

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Indice degli argomenti

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Principi operativi dei computer. Capitolo 7 Fluency Conoscere e usare l informatica

Sistema Operativo. (hardware e software) della della macchina

Il formato delle ricette Convenzioni tipografiche Versioni, ultima edizione ed errata corrige

Memoria Secondaria o di Massa

Corso di Informatica

Classificazione delle Architetture Parallele

Architettura dei Sistemi Informatici

Integrazione di ENEA GRID in EGEE

Fondamenti di Informatica

Il Software programmabili programma algoritmo

Introduzione ai. Sistemi Distribuiti

Sistemi Operativi FILE SYSTEM : INTERFACCIA. D. Talia - UNICAL. Sistemi Operativi 8.1

PREFAZIONE... IX Lo scopo di questo libro... ix La metodologia di insegnamento... ix Panoramica sul libro... xiii

Bologna Batch System (BBS) Franco Semeria Seminario di Sezione

Reti di Comunicazione e Internet

INFORMATICA DI BASE IL SISTEMA OPERATIVO

Il Sistema Operativo

Laboratorio di Informatica I

Corso Linux Base. 2. Uso del Sistema

IBM Scalable POWERparallel System 2

Linux nel calcolo distribuito

Fondamenti di Informatica Architettura del Calcolatore Alessandra Volpato

Linea di comando. Compilazione. Aprire una shell di DOS tramite:

Installazione Java Standard Edition (SDK)

21/09/2015 SISTEMI E RETI. Router Cisco. Parte 1 - Introduzione. A cura dell Ing. Claudio Traini

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Informatica Generale 06 - Introduzione ai Sistemi Operativi

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

Introduzione ai Sistemi Operativi. A cura di Massimo Scolaro Mob :

Laboratorio Centro Calcolo

Sistemi a processori multipli

M 2 M 1. Architettura. Architettura dei calcolatori. Paolo Bison. struttura e funzionalità di un calcolatore hardware software

Architettura. Neumann rivista

SLAVE MODBUS 6DI 4DO 2AI

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

MANUALE UTENTE. Gateway DLMS-MODBUS per ITRON/ACTARIS SL7000 con RS232 P/N: GW-DLMS-232-SL7. Edizione 2.0

Sistema Operativo (Software di base)

Transcript:

Laboratorio di Calcolo Parallelo Lezione 3: Aspetti pratici Francesco Versaci & Alberto Bertoldo Università di Padova 19 maggio 2009 Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 1 / 27

Sommario 1 IBM RS/6000 SP Hardware Programmazione LoadLeveler 2 Analisi delle prestazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 2 / 27

Sommario 1 IBM RS/6000 SP Hardware Programmazione LoadLeveler 2 Analisi delle prestazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 3 / 27

IBM RS/6000 SP Hardware Caratteristiche: Model IBM SP RS/6000 Power3 Processor (PE) Power3-II @ 375 MHz Number of PEs 24 Processor per node 6 nodes with 4 proc. DRAM 24 Gbytes (4 GB/node) Disk space 510 GB Peak performance 36 Gflop/s OS AIX 4.3.3 Internal Network SP Switch MX2 Available compilers Fortran F90, C, C++ Parallel libraries MPI Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 4 / 27

IBM RS/6000 SP Hardware Architettura di memoria: Cluster di SMP Ogni nodo è un SMP Possiede un nome: spnd0x con x {1,... 6} Processori uguali indistinguibili Memoria RAM condivisa Accesso uniforme (UMA) I nodi sono collegati tramite una rete dedicata Rete Ω doppia Memoria distribuita Accesso a memoria remota non possibile Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 4 / 27

IBM RS/6000 SP Schema 2 dischi interni da 9.1Gb 4 Gb ECC RAM Thin Node 4 CPU POWER3 II @375MHz SP Switch CD ROM floppy Cache L1 e L2 5 6 3 4 1 2 RS/6000 SP SSA drives SP LAB Legenda SSA loop eth1 (192.168.120.0/24) eth0 (192.168.1.0/24) Collegamento seriale N.B.: il collegamento tra i nodi e lo switch (192.168.2.0/24) non e esplicitamente indicato. control workstation DAT Drive Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 5 / 27

Accesso remoto Login L accesso avviene unicamente via ssh Dipende da dove vi state collegando (rispetto alla rete DEI): interno: ssh user@192.168.120.201 esterno: ssh user@splab.dei.unipd.it -p9001 Vi collegate a spnd01 Copia di file La copia avviene unicamente via scp Dipende da dove state lanciando il comando: splab: scp file miouser@miohost:path esterno: scp -P 9001 file user@splab.dei.unipd.it:path NOTE Per avere un account mandatemi al piú presto un email L accesso dall esterno passa per il firewall: 9001 è la porta Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 6 / 27

Esercizio 1 Accesso remoto 1 Aprire un client SSH 2 Collegarsi al nodo spnd01 con username e password 3 Copiare il file /ext/calcolo-parallelo/code/hello.c sulla propria home 4 Aprire il file locale con un editor (vi o emacs) Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 7 / 27

Sommario 1 IBM RS/6000 SP Hardware Programmazione LoadLeveler 2 Analisi delle prestazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 8 / 27

Programmazione Creazione degli eseguibili Compilazione Compilatori MPI = mp + compilatore Sono script: richiamano i compilatori standard IBM + link alle librerie MPI C: mpcc, mpcc_r C++: mpcc, mpcc_r Fortran: mpxlf, mpxlf90, mpxlf95 (e le versioni _r) Opzioni comuni Standard: -c, -o nome, --Idir -Ldir -llib Ottimizzazione: -On -qarch=pwr3 -qtune=pwr3 -qcache=auto Debug: -g e -C (Fortran) Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 9 / 27

Programmazione Esecuzione Modalità di esecuzione Interattiva: Esecuzione immediata, per il debug, non adatta all analisi delle prestazioni Batch: Utilizza un sistema di gestione basato su code Interattiva Direttamente tramite il Parallel Operating Environment Es: poe./a.out -procs 4 -labelio yes oppure:./a.out -procs 4 -labelio yes Richiede un file che descrive la macchina: host.list Opzioni Opzioni di poe Variabili di ambiente Direttive a LoadLeveler Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 10 / 27

Esercizio 2 Programmare 1 Compilare hello.c con mpcc hello.c -o hello 2 Provare a eseguire./hello 3 Copiare il file /ext/calcolo-parallelo/host.list da SP al Desktop locale 4 Aprire il file locale con un editor 5 Copiare il file su SP nella propria home 6 Riprovare a eseguire./hello 7 Provare a eseguire./hello -procs 4 8 Provare a eseguire poe -h 9 Provare a eseguire./hello -procs 4 -labelio yes 10 Provare a eseguire./hello -procs 4 -stdoutmode 0 11 Provare a eseguire./hello -procs 4 -stdoutmode ordered Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 11 / 27

Sommario 1 IBM RS/6000 SP Hardware Programmazione LoadLeveler 2 Analisi delle prestazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 12 / 27

IBM LoadLeveler Panoramica Cos è? È un sistema per la gestione dei job job = esecuzione di un programma (seriale o MPI) su un sistema IBM Perché si usa? Permette una migliore allocazione delle risorse di sistema Ottimizza l esecuzione Suddivide il carico tra i processori Permette un utilizzo equo da parte di più utenti Permette l esecuzione batch (non interattiva) Quando si deve usare? Il più possibile, perché aumenta l efficienza del sistema Non è adatto per fare debug Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 13 / 27

IBM LoadLeveler Job command file Esempio di job file #! /bin/bash #@ job_name = helloworld #@ initialdir = /home/versacif/hello #@ input = /dev/null #@ output = $(job_name).out #@ error = $(job_name).err #@ class = short #@ job_type = parallel #@ node_usage = shared #@ blocking = unlimited #@ total_tasks = 8 #@ environment = MP_SHARED_MEMORY=yes; MP_LABELIO=yes #@ network.mpi = switch,shared,us #@ queue./hello http://www.dei.unipd.it/~addetto/manuali_online/sp/ LLUAdmin/lllv2mst85.html Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 14 / 27

IBM LoadLeveler Comandi Permettono di interagire con LoadLeveler Comandi principali Nome Descrizione llsubmit Sottomettere un job file per l esecuzione di un programma llq Controllare lo stato di un job llcancel Cancellare un job precedentemente sottomesso llstatus Controllare lo stato della macchina llclass Ottenere la lista delle code di esecuzione http://www.dei.unipd.it/~addetto/manuali_online/sp/ LLUAdmin/lllv2mst200.html Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 15 / 27

Esercizio 4 Job command file 1 Copiare il file /ext/calcolo-parallelo/jobfile/hello.job da SP al Desktop locale 2 Aprire il file locale con un editor e sistemarlo 3 Copiare il file su SP nella propria home 4 Provare a sottomettere il job usando i comandi di LoadLeveler llclass, llstatus, llsubmit, llq, llcancel NOTE Ricordatevi di cancellare i job bloccati!!! Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 16 / 27

Sommario 1 IBM RS/6000 SP Hardware Programmazione LoadLeveler 2 Analisi delle prestazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 17 / 27

Analisi delle prestazioni Misure Misure dirette Tempo di esecuzione aggregato T (n) con n processi Numero di istruzioni eseguite (in genere floating-point) Ricavato analiticamente Ricavato sperimentalmente (vedi HPM Toolkit) Sfruttamento delle risorse di calcolo (vedi HPM Toolkit) ES: L1 miss, TLB miss, FMA Misure indirette Scalabilità: S(n) = T (1) T (n) flop/s: F (n) = flop T (n) Efficienza di calcolo: E c (n) = F (n) peak(n) = F (n) n 1.5 10 9 Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 18 / 27

Analisi delle prestazioni Parametri di test Differenti algoritmi Differenti parametri dell algoritmo taglia dei blocchi layout dei dati... Differenti protocolli di comunicazione Primitive bloccanti o non bloccanti Modalità diverse Primitive collettive... Numero di processi utilizzati (da 1 a 24) Taglia dell input Differenti parametri di esecuzione Mappa processi/processori Rete di comunicazione: switch o ethernet Uso della memoria condivisa: MP_SHARED_MEMORY (yes o no) Buffering intermedio: MP_EAGER_LIMIT (default = 4K, max = 64K) Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 19 / 27

Analisi delle prestazioni HPM Toolkit Cos è? È una libreria scritta da IBM per accedere ai contatori hardware Alcuni contatori del Power3 Cicli macchina TLB misses Cache misses Floating point operations Load e Store... e molti altri http://www.hpcx.ac.uk/support/documentation/ IBMdocuments/HPM.html Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 20 / 27

Analisi delle prestazioni Uso di HPM Toolkit #include " libhpm. h "... hpminit ( taskid, "my program " ) ; hpmstart ( 1, " outer c a l l " ) ; do_work ( ) ; hpmstart ( 2, " computing meaning of l i f e " ) ; do_more_work ( ) ; hpmstop ( 2 ) ; hpmstop ( 1 ) ; hpmterminate ( taskid ) ;... NOTE In compilazione va aggiunto: -lhpm -lpmapi -lm Quando termina crea dei file con i risultati Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 21 / 27

Esempi Prove di esecuzione 1 Copiare tutti i file da /ext/calcolo-parallelo/code/esempi 2 Aprire i file locali con un editor e cercare di capire cosa fanno 3 Copiare il file su SP nella propria home e provarli in interattivo Misurare le prestazioni 1 Scegliete un programma della prima prova 2 Aggiungete le istruzioni per misurarne le prestazioni con MPI_Wtime e HPM Toolkit 3 Provare e analizzare i risultati Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 22 / 27

Cosa deve esserci nella relazione? Breve descrizione dell algoritmo parallelo Prestazioni sia assolute che relative Grafici con la scalabilità per le diverse taglie di input Grafici con i rapporti fra calcolo e comunicazioni Confronti cambiando la configurazione (con o senza shared memory, usando la rete ethernet anziché lo switch, variando le primitive, ecc. ecc.) Non mettete 1000 tabelle piene di dati se non le spiegate Analisi delle prestazioni: i.e. perché l algoritmo si comporta cosí, quali sono i colli di bottiglia Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 23 / 27

Cosa deve esserci nella relazione? Grafico con la scalabilità Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 24 / 27

Cosa deve esserci nella relazione? Peso delle comunicazioni Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 25 / 27

Altro software utile Accesso remoto e copia in Windows PuTTY e PSCP: interfaccia semplice e leggera Secure Shell Client: interfaccia completa, drag-and-drop Per il download: http://www.dei.unipd.it/~addetto/ssh/index.html Implementazioni free di MPI OpenMPI http://www.open-mpi.org (no Windows) MPICH http://www-unix.mcs.anl.gov/mpi/mpich1 (anche Windows) Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 26 / 27

Riferimenti Per lo standard: http://www.mpi-forum.org/docs Tutorial: https://computing.llnl.gov/tutorials/mpi Per l implementazione IBM: http://www.dei.unipd.it/~addetto/manuali_online/ index.html In particolare: http: //www.redbooks.ibm.com/redbooks/pdfs/sg245380.pdf Francesco Versaci (Università di Padova) Laboratorio di Calcolo Parallelo Lezione 3 19 maggio 2009 27 / 27