Oxygen HPC OpenMP fondamenti. Carmine Spagnuolo

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Oxygen HPC OpenMP fondamenti. Carmine Spagnuolo"

Transcript

1 Oxygen HPC OpenMP fondamenti Carmine Spagnuolo

2 1 Oxygen HPC Cluster Oxygen Ambiente - Module Environment - Portable Batch System 2 OpenMP 31 fondamend Modello di esecuzione OpenMP core DireGve OpenMP Roadmap 2014 Università degli Studi di Salerno

3 1 Oxygen HPC Cluster Oxygen Ambiente - Module Environment - Portable Batch System 2 OpenMP 31 fondamend Modello di esecuzione OpenMP core DireGve OpenMP Roadmap 2014 Università degli Studi di Salerno

4 Hardware: 9 x DELL PowerEdge PowerEdge C6220: - Processors: 2 x Intel(R) Xeon E5-2680, 8C, 27GHz, 20M Cache, 8GT/s, 130W TDP, Turbo, HT,DDR3-800/1066/1333/1600 MHz; - Memory: 256GB DDR3; - Hard Drive: 6 x 1TB; - Network: 2 x Intel CorporaDon I350 Gigabit, 2 x Intel CorporaDon 82599EB 10- Gigabit SFI/SFP+ Oxygen 2014 Università degli Studi di Salerno

5 Hardware: 12 x GPU NVIDIA Tesla M2090: - CUDA Driver Version / RunDme Version: 55 / 55 - CUDA Capability Major/Minor version number: 20 - Total amount of global memory: 5GB - MulDprocessors, ( 32) CUDA Cores/MP: 512 CUDA Cores - GPU Clock rate: 1301 MHz (130 GHz) - Memory Clock rate: 1848 Mhz - Memory Bus Width: 384- bit - L2 Cache Size: bytes Oxygen 2014 Università degli Studi di Salerno

6 wwwisislabit:8092/phpldapadmin PBS ssh p Oxygen 2014 Università degli Studi di Salerno

7 Nodi Oxygen: - Oxygen[1-8] - Oxygen1 (2 GPU) - Oxygen5 (8 GPU) SSH - ssh p SSH Key Exchange - ssh- keygen t rsa - cat ssh/id_rsa >> ssh/authorized_keys Oxygen - Ambiente 2014 Università degli Studi di Salerno

8 L ambiente utente è gesdto tramite: Environment Modules - hop://modulessourceforgenet/ Uno strumento per aiutare gli utend a gesdre il loro ambiente di shell Unix o Linux, permeoendo di gesdre le variabili di ambiente in modo dinamico Modules can be loaded and unloaded dynamically and atomically, in a clean fashion Oxygen - Module 2014 Università degli Studi di Salerno

9 Environment Modules: module [ switches ] [ sub- command ] [ sub- command- args ] sub- command 1 available (av) 2 load module- name 3 unload module- name 4 whads module- name 5 list 6 swap module- name1 module- name2 7 purge Oxygen - Module 2014 Università degli Studi di Salerno

10 Oxygen - Module

11 Ambiente di esecuzione: Portable Batch System (PBS) è un sistema di gesdone e controllo del carico su un insieme di nodi: Queuing Scheduling Monitoring PBS 2014 Università degli Studi di Salerno

12 Flow di esecuzione: - Creazione: script Unix per comunicare i vari parametri del job PBS: tempo di esecuzione (walldme), numero e caraoerisdche delle risorse e come eseguire il job - So9omissione: comando qsub [opdons] script_name - Esecuzione: verificato stato comando qstat [opdons] queue- name? - Finalizzazione: quando un job termina lo standard output ed error sono salvad in file e copiad nella cartella dalla quale il job è stato sooomesso PBS 2014 Università degli Studi di Salerno

13 Job flow: - Creazione - Sooomissione DireGve: - #PBS - l walldme=hh:mm:ss - #PBS - l pmem=size- GB - #PBS - l nodes=n:ppn=m (N può essere un pardcolare nodo del sistema) - #PBS - q queuename - #PBS j file_name Modalità interagva: - qsub - I - l nodes=1:ppn=1 - l walldme=4:00:00 PBS 2014 Università degli Studi di Salerno

14 Job flow: - Creazione: script Unix per comunicare i vari parametri del job PBS: tempo di esecuzione (walldme), numero e caraoerisdche delle risorse e come eseguire il job PBS 2014 Università degli Studi di Salerno

15 TORQUE PBS, basato sul progeoo PBS originale (OpenPBS, NASA Ames Research Center): - hop://wwwadapdvecompudngcom/products/open- source/torque/ - hop://wwwadapdvecompudngcom/support/download- center/torque- download/ - Feature: 1 Fault Tolerance 2 Scheduling Interface 3 Scalability 4 Usability PBS TORQUE MAUI Scheduler 2014 Università degli Studi di Salerno

16 MAUI scheduler: - hop://wwwadapdvecompudngcom/products/open- source/maui/ (registrazione) - Features: 1 Scalability 2 Rich administrator dashboard tools 3 Simplified HPC job submission and management 4 Grid and muld- cluster workload management capabilides 5 Enforce usage accoundng budgets or provide pay- for use PBS TORQUE MAUI Scheduler 2014 Università degli Studi di Salerno

17 TORQUE PBS installazione: /configure - - with- default- server=one - - with- server- home=/oxygen/var/ spool/pbs - - with- rcp=scp - - with- debug - - enable- nvidia- gpus - - with- nvml*- include=/oxygen/compilers/cuda/55/include - with- nvml- lib=/oxygen/ compilers/cuda/55/lib64 2>&1 tee configure_torquelog make j numero_di_processi make packages torque- package- clients- linux- x86_64sh - - install torque- package- devel- linux- x86_64sh install (solo head node) torque- package- doc- linux- x86_64sh install (solo head node) torque- package- mom- linux- x86_64sh - - install torque- package- server- linux- x86_64sh install (solo head node) trucco echo /opt/torque/lib > /etc/ldsoconfd/torqueconf *NVIDIA Management Library (NVML): A C- based API for monitoring and managing various states of the NVIDIA GPU devices PBS TORQUE MAUI Scheduler 2014 Università degli Studi di Salerno

18 MAUI scheduler installazione: /configure - - with- pbs=/opt/torque - - with- spooldir=/opt/maui make j numero_di_processi make install Configurazione ambiente PBS e MAUI: oxyegn_set_envsh in /etc/profiled/ #oxygen setup /etc/profiled/modulessh export PATH=$PATH:/opt/torque/bin:/opt/torque/sbin:/opt/maui/sbin:/ opt/maui/bin NOTE OpenMPI /configure - - prefix=/oxygen/compilers/mpi/openmpi/ java- - oracle- 160_ enable- mpi- java - - with- jdk- bindir=/oxygen/compilers/java/oracle/160_25/bin - - with- jdk- headers=/oxygen/compilers/java/oracle/160_25/include - - with- tm=/opt/torque - - enable- mpi- thread- muluple PBS TORQUE MAUI Scheduler 2014 Università degli Studi di Salerno

19 Tempi di esecuzione: UDlizzare le API disponibili nella piaoaforma udlizzata Soluzione Veloce- Veloce Ume ls ac aout myjoberr real 0m0004s wall clock Dme (from start to finish the call) user 0m0003s CPU Dme (user- mode code) sys 0m0000s - CPU Dme (kernel code) user+sys CPU total Ume Oxygen performance 2014 Università degli Studi di Salerno

20 PBS Demo

21 1 Oxygen HPC Cluster Oxygen Ambiente 1 Oxygen HPC Cluster Oxygen Module Environment - Portable Batch System 2 OpenMP 31 fondamenu Roadmap 2014 Università degli Studi di Salerno

22 OpenMP (Open MulDprocessing) è un API muldpiaoaforma per la creazione di applicazioni parallele su sistemi a memoria condivisa (Fortran, C e C++) L obiegvo principale di OpenMP è quello di semplificare lo sviluppo di applicazioni muldthread RiferimenD: hop://openmporg/ hop://openmporg/mp- documents/omp- hands- on- SC08pdf Common Mistakes in OpenMP and How To Avoid Them A CollecUon of Best PracUces, Michael Süß and Claudia Leopold OpenMP Università degli Studi di Salerno

23 Compilatori: GNU: gcc 42 in poi [- fopenmp] Oracle [- xopenmp] Intel [- Qopenmp or openmp] PGI (Portland Group Compilers and Tools) [- mp] hop://openmporg/wp/openmp- compilers/ OpenMP Università degli Studi di Salerno

24 OpenMP 31

25 OpenMP 31

26 OpenMP 31

27 OpenMP core syntax I costrug udlizzad in OpenMP sono diregve al compilatore: #pragma omp construct [clause [clause] ] Esempio: #pragma omp parallel num_threads(4) ProtoDpi delle funzioni e i Dpi: #include <omph> Compilazione GCC: gcc - fopenmp hellompc - o helloout HelloWorld Example: #ifdef _OPENMP #include <omph> #endif void main() { #pragma omp parallel { int ID=omp_get_thread_num(); prin ( hello(%d),id); prin ( world(%d)\n,id); hello(3)hello(1)hello(5)world(5) hello(0)world(0) world(3) world(1) hello(2)world(2) hello(4)world(4) OpenMP 31

28 OpenMP Creazione dei Thread Fork- Join Parallelism: il master thread distribuisce un team di thread dinamicamente OpenMP Fork-Join Parallelism 2014 Università degli Studi di Salerno

29 OpenMP Fork-Join model

30 OpenMP creazione dei Thread Il construoo parallel consente di creare i thread Definizione del numero di thread: 1 Clausola alla diregva parallel: #pragma omp parallel num_threads(4); 2 RunDme funcdon: omp_set_thread_num(x); 3 Environment variable: export OMP_NUM_THREADS=x Example: #ifdef _OPENMP #include <omph> #endif void main() { double A[1000]; omp_set_num_threads(4); #pragma omp parallel { int ID=omp_get_thread_num(); func(id,a); BARRIER prin ( all done\n ); OpenMP 31

31 OpenMP sincronizzazione DireGve: cridcal atomic barrier ordered flush lock (simple e nested) In presuto da Golang OpenMP 31

32 OpenMP sincronizzazione DireGve: criucal solo un thread alla volta entra nella regione cridca atomic barrier ordered flush lock (simple e nested) criucal Example: float res; #pragma omp parallel { float B; int i,id,nthrds; id=omp_get_thread_num(); nthrds=omp_get_num_threads(); for(i=id;i<niters;i+nthrds){ B=big_job(); #pragma omp criucal cosume(b,res); I thread aoendono il loro turno e solo un thread alla volta chiama la consume OpenMP 31

33 OpenMP sincronizzazione DireGve: cridcal atomic operazioni in mutua esclusione barrier ordered flush lock (simple e nested) atomic Example: #pragma omp parallel { double tmp, B; B = DOIT(); tmp = big(b); #pragma omp atomic X += tmp; Operazione atomica solo sulla leoura/ aggiornamento di X OpenMP 31

34 OpenMP sincronizzazione DireGve: cridcal atomic barrier ogni thread aoende finché tug non raggiungono la barriera ordered flush lock (simple e nested) barrier Example: #pragma omp parallel { #pragma omp master prin ( I am the MASTER\n ); prin ( ID %d,id); #pragma omp barrier prin ( all done\n ); OpenMP 31

35 OpenMP sincronizzazione DireGve: cridcal atomic Barrier ordered flush lock (simple e nested) OpenMP 31 ordered Example: int i=0; #pragma omp parallel for schedule(stauc)\ ordered for ( i = 0; i <= 10; ++i) { // Do something here #pragma omp ordered prin ("test() iteradon %d\n", i); test() iteradon 0 test() iteradon 1 test() iteradon 2 test() iteradon 3 test() iteradon 4 test() iteradon 5 test() iteradon 6 test() iteradon 7 test() iteradon 8 test() iteradon 9 test() iteradon 10

36 OpenMP sincronizzazione DireGve: cridcal atomic barrier ordered flush lock (simple e nested) flush Example: double A; A = compute(); flush(a); // flush to memory to make sure other // threads can pick up the right value Definisce un sequence point dove ad ogni thread è garandta la consistenza della memoria OpenMP 31

37 OpenMP sincronizzazione DireGve: cridcal atomic barrier ordered flush lock (simple e nested) Modello di memoria: Relaxed Consistency Variante della weak consistency Le operazioni S rispeoano l ordine sequenziale in ogni thread Le operazioni di W e R non possono essere riordinate rispeoo le operazioni S: S W, S R, R S, W S, S S (S=sincronizzazione, W=write e R=read) OpenMP 31

38 OpenMP sincronizzazione DireGve: cridcal atomic barrier ordered flush lock (simple e nested) simple lock Example: Il rilascio del lock implica il flush delle variabili visibili da tug I thread omp_lock_t lck; omp_init_lock(&lck); #pragma omp parallel private (tmp, id) { id = omp_get_thread_num(); tmp = do_lots_of_work(id); omp_set_lock(&lck); prin ( %d %d, id, tmp); omp_unset_lock(&lck); omp_destroy_lock(&lck); OpenMP 31

39 OpenMP Worksharing Consentono la distribuzione dell esecuzione di una regione di codice (in a clever fashion) Worksharing: 1 loop 2 secdons/secdon 3 single 4 task Barriera implicita in uscita ma non in ingresso (clausola nowait può eliminarla) OpenMP 31

40 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 Single 4 task La variabile i diventa automadcamente privata ad ogni thread, ciò può anche essere realizzato tramite la clausola private(i) for Example: #pragma omp parallel { #pragma omp for for (i=0;i<n;i++){ independent_work(i); OpenMP 31

41 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 Single 4 task Clausola schedule: StaDc: esecuzione divisa in chunk, assegnazione round- robin Dynamic: ogni thread richiede un chunk alla volta Guided: esecuzione divisa in chuck di taglia differente, assegnazione dinamica (caso speciale Dynamic) Run- Dme: controllato da variabili di ambiente OpenMP 31 for Example: Codice sequenziale: for (i=0;i<n;i++){ a[i]=a[i]+b[i]; Single Program MulCple Data: #pragma omp parallel { int id, i, Nthrds, istart, iend; id = omp_get_thread_num(); Nthrds = omp_get_num_threads(); istart = id * N / Nthrds; iend = (id+1) * N / Nthrds; if (id == Nthrds- 1) iend = N; for(i=istart;i<iend;i++) {a[i]=a[i]+b[i]; Worksharing: #pragma omp parallel schedule(stauc,1) { #pragma omp for for (i=0;i<n;i++){ work(i);

42 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 Single 4 Task Trucco per testare la dipendenza: Verificare che un loop sequenziale produca lo stesso risultato in reverse order OpenMP 31 for Example: int i, j, A[MAX]; j = 5; for (i=0;i< MAX; i++) { j +=2; A[i] = big(j); int i, A[MAX]; #pragma omp parallel for for (i=0;i< MAX; i++) { int j = 5 + 2*i; A[i] = big(j); Data dependencies: A[0] = 0; A[1] = 1; for(i = 3; i < 99; i++){ A[i] = A[i- 1] + A[i- 2];

43 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 single 4 task Clausola collapse(n) for Example: NO error nested loop #pragma omp parallel { #pragma omp for for (i=0;i<n;i++){ #pragma omp for for (j=0;j<n;j++){ work(i,j); #pragma omp parallel for collapse(2) for (i=0;i<n;i++){ for (j=0;j<n;j++){ work(i,j); OpenMP 31

44 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 single 4 task Clausola reducdon(op,var): op: +, -, *, MIN,MAX var: shared Viene creata una copia locale della variabile (inizializzata in modo appropriato +,0 *,1 +,0) alla terminazione della regione parallela viene aggiornato il valore della variabile condivisa for Example: double ave=00, A[MAX]; int i; for (i=0;i< MAX; i++) { ave + = A[i]; ave = ave/max; double ave=00, A[MAX]; int I; #pragma omp parallel for reducuon (+:ave) for (i=0;i< MAX; i++) { ave + = A[i]; ave = ave/max; OpenMP 31

45 OpenMP Worksharing Worksharing: 1 loop 2 secuons/secuon 3 single 4 task OpenMP 31 for Example: int main() { #pragma omp parallel secuons\ num_threads(4) { prin ("Hello from thread OUT %d\n", omp_get_thread_num()); prin ("Hello from thread OUT %d\n", omp_get_thread_num()); #pragma omp secuon prin ("Hello from thread %d\n", omp_get_thread_num()); #pragma omp secuon prin ("Hello from thread %d\n", omp_get_thread_num()); #pragma omp secuon Hello from thread 0 prin ("Hello from thread %d\n", Hello from thread 0 omp_get_thread_num()); Hello from thread OUT 3 #pragma omp secuon Hello from thread OUT 3 prin ("Hello from thread %d\n", Hello from thread 1 omp_get_thread_num()); Hello from thread 2

46 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 single 4 task Denota un blocco di codice eseguibile da un solo thread single Example: #pragma omp parallel { do_many_things(); #pragma omp single { exchange_boundaries(); do_many_other_things(); Alla terminazione del blocco è presente una barriera implicita OpenMP 31

47 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 single 4 task DireGva introdooa in OpenMp 30 e migliorata in 31 e 40 Task sono unità di lavoro indipendend Ogni task viene assegnato a un thread Il rundme system decide dinamicamente come eseguire i task OpenMP 31

48 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 single 4 task Un thread prepara l esecuzione dei task: packaging (code and data) execudon (un thread del team esegue il task) I task sono gesdd in una coda OpenMP garandsce che alla terminazione della regione parallela ogni task è terminato OpenMP 31

49 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 Single 4 task La diregva task è udle per la parallelizzazione di paoern irregolari e funzioni ricorsive Soluzione 1: Troppa sincronizzazione (nested parallel regions) Poca flessibilità OpenMP 31 task Example: Soluzione 1: void preorder(node *p) { process(p- >data); #pragma omp parallel secuons if (p- >le ) #pragma omp secuon preorder(p- >le ); if (p- >right) #pragma omp secuon preorder(p- >right); Soluzione 2: void preorder (node *p) { process(p- >data); If (p- >le ) #pragma omp task preorder(p- >le ); if (p- >right) #pragma omp task preorder(p- >right);

50 OpenMP Worksharing Worksharing: 1 loop 2 secdons/secdon 3 Single 4 task Sincronizzazione task: taskwait task Example: void traverse(node *p) { If (p- >le ) #pragma omp task traverse(p- >le ); if (p- >right) #pragma omp task traverse(p- >right); if(postorder) #pragma omp taskwait process(p- >data); OpenMP 31

51 OpenMP RunUme Library Modificare/Verificare il numero di thread: - omp_set_num_threads(n) - omp_get_num_threads() - omp_get_thread_num() - omp_get_max_threads() Regione parallela? - omp_in_parallel() GesDone dinamica del numero di thread tra le regioni parallele: - omp_set_dynamic() - omp_get_dynamic() Numero di processori disponibili? - omp_num_procs() OpenMP 31

52 OpenMP Data sharing Nei costrug è possibile definire la visibilità delle variabili: shared private firstprivate, privata ma inizializzata col valore della variabile prima della regione parallela Thread number: 5 x: 5 lastprivate, privata ma alla terminazione della regione Thread number: 9 x: 9 parallela il valore è quello dell uldma Thread number: iterazione 4 x: 4 OpenMP 31 lastprivate Example: x=44; #pragma omp parallel for lastprivate(x) for(i=0;i<=10;i++){ x=i; prin ("Thread number: %d x: %d \n",omp_get_thread_num(),x); prin ("x is %d\n", x); Thread number: 1 Thread number: 2 Thread number: 7 Thread number: 3 Thread number: 8 Thread number: 10 Thread number: 0 Thread number: 6 x is 10 x: 1 x: 2 x: 7 x: 3 x: 8 x: 10 x: 0 x: 6

53 PADABS 2014 Università degli Studi di Salerno

54 wwwdmasonorg wwwisislabit

Si digita login e password e si clicca su accedi. Si apre la finestra di collegamento:

Si digita login e password e si clicca su accedi. Si apre la finestra di collegamento: Corso di Laurea Specialistica Ingegneria Informatica Laboratorio di Calcolo Parallelo Prof. Alessandra d Alessio GUIDA AL LABORATORIO DI CALCOLO PARALLELO Il progetto SCoPE (www.scope.unina.it) ha messo

Dettagli

CLUSTER COKA. Macchine e Risorse

CLUSTER COKA. Macchine e Risorse CLUSTER COKA Macchine e Risorse Il cluster per il progetto COKA si compone complessivamente delle seguenti 5 macchine: rd coka 01 : server con il MIC e le GPU K20; rd gpu 01 : server con GPU C1060; rd

Dettagli

Prodotto Matrice - Vettore in OpenMP

Prodotto Matrice - Vettore in OpenMP Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Elaborato di Calcolo Parallelo Prodotto Matrice - Vettore in OpenMP Anno Accademico 2011/2012 Professoressa Alessandra D Alessio Studenti

Dettagli

Laboratorio Turing @ Centro Calcolo

Laboratorio Turing @ Centro Calcolo INTRODUZIONE AI CLUSTER DI CALCOLO DEL DIPARTIMENTO DI MATEMATICA Centro di Calcolo Ottobre 2014 A cura di L. Ciambella, A. Gabrielli, A. Seghini {ciambella, gabrielli, seghini}@mat.uniroma1.it Laboratorio

Dettagli

Tutorial. Cluster Linux 15-09-2003 Ultimo aggiornamento Ottobre 2004

Tutorial. Cluster Linux 15-09-2003 Ultimo aggiornamento Ottobre 2004 Documento tratto dal CD multimediale disponibile presso la biblioteca del Dipartimento di Matematica Tutorial Cluster Linux 15-09-2003 Ultimo aggiornamento Ottobre 2004 Istruzioni base CLUSTER LINUX ULISSE

Dettagli

ENEA GRID. CRESCO: Corso di introduzione. Autore: Alessandro Secco alessandro.secco@nice-italy.com

ENEA GRID. CRESCO: Corso di introduzione. Autore: Alessandro Secco alessandro.secco@nice-italy.com ENEA GRID CRESCO: Corso di introduzione Autore: Alessandro Secco alessandro.secco@nice-italy.com 1 Lezione 1 Introduzione Architettura Connessione Lancio di job Riferimenti 2 Introduzione 3 Introduzione

Dettagli

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2

Computazione multi-processo. Condivisione, Comunicazione e Sincronizzazione dei Processi. Segnali. Processi e Threads Pt. 2 Computazione multi-processo Avere più processi allo stesso momento implica/richiede Processi e Threads Pt. 2 Concorrenza ed efficienza Indipendenza e protezione dei dati ma deve prevedere/permettere anche:

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti

Sistemi Operativi. Processi GESTIONE DEI PROCESSI. Concetto di Processo. Scheduling di Processi. Operazioni su Processi. Processi Cooperanti GESTIONE DEI PROCESSI 4.1 Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in diversi S.O. 4.2 Concetto di

Dettagli

Ottimizzazioni 1 Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Ottimizzazioni 1 Corso di sviluppo Nvidia CUDATM. Davide Barbieri Ottimizzazioni 1 Corso di sviluppo Nvidia CUDATM Davide Barbieri Panoramica Lezione Principali versioni dell'hardware CUDA Tesla Fermi Accesso veloce alla memoria globale Accesso veloce alla memoria condivisa

Dettagli

Architettura CUDA Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Architettura CUDA Corso di sviluppo Nvidia CUDATM. Davide Barbieri Architettura CUDA Corso di sviluppo Nvidia CUDATM Davide Barbieri Panoramica Lezione Modello Architetturale CUDA Modello di programmazione CUDA Hello World in CUDA Gestione degli errori Terminologia Host

Dettagli

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job.

Gestione dei processi. Marco Cesati. Schema della lezione. Blocco di controllo 2. Sezioni e segmenti. Gestione dei processi. Job. Di cosa parliamo in questa lezione? Lezione 4 Cosa è un processo e come viene gestito dal SO 1 e job 2 Il blocco di controllo Sistemi operativi 3 Struttura di un file eseguibile 4 La schedulazione dei

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

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

Modalità di utilizzo dei server di calcolo del C.E.D. di Frascati Modalità di utilizzo dei server di calcolo del C.E.D. di Frascati 1 Macchine per lavori interattivi e batch Nome macch. Arc. Sist. Oper. N cpu RAM Freq. sp3-1 Power III AIX 5.1.3 16 16 GB 375 MHz sp3-2

Dettagli

Schedulazione in RTAI

Schedulazione in RTAI Schedulazione in RTAI RTAI: modulo kernel rt_hello_km.c #include #include Thread real-time... Ciclo infinito RT_TASK task; Periodico... void task_routine() { while(1) { /* Codice

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

RTAI e scheduling. Andrea Sambi

RTAI e scheduling. Andrea Sambi RTAI e scheduling Andrea Sambi Scheduling Linux Due politiche di scheduling priority-driven possibili. FIFO priorità uguali Processo 1 iniziato Processo 1: iterazione 1 Processo 1: iterazione 2 Processo

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Posix Threads: l evoluzione dei processi UNIX

Posix Threads: l evoluzione dei processi UNIX Posix Threads: l evoluzione dei processi UNIX Raffaele Quitadamo, PhD in Computer Science Università di Modena e Reggio Emilia quitadamo.raffaele@unimore.it Sommario Pthreads vs Unix processes L API per

Dettagli

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Modello dei processi. Riedizione delle slide della Prof. Di Stefano Modello dei processi Riedizione delle slide della Prof. Di Stefano 1 Processi Modello di Processi asincroni comunicanti Process Scheduling Operazioni sui Processi Cooperazione tra Processi Interprocess

Dettagli

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario

Processi e thread. Dipartimento di Informatica Università di Verona, Italy. Sommario Processi e thread Dipartimento di Informatica Università di Verona, Italy Sommario Concetto di processo Stati di un processo Operazioni e relazioni tra processi Concetto di thread Gestione dei processi

Dettagli

How build a Fedora HPC cluster running OpenFoam in parallel, using Torque/PBS, OpenMPI, Host-based authentication and NFS

How build a Fedora HPC cluster running OpenFoam in parallel, using Torque/PBS, OpenMPI, Host-based authentication and NFS How build a Fedora HPC cluster running OpenFoam in parallel, using Torque/PBS, OpenMPI, Host-based authentication and NFS Pier Paolo Ciarravano 19/07/2010 Descrizione dell architettura Il cluster si compone

Dettagli

Introduzione ecos. Agenda. Giovanni Perbellini

Introduzione ecos. Agenda. Giovanni Perbellini Introduzione ecos Giovanni Perbellini Agenda Introduzione ecos Toolchain Download codice sorgente Binutils GCC/G++ Newlib GDB/Insight Compilazione toolchain Selezione Target Compilazione ecos Configtool

Dettagli

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività:

Concetto di processo. Processi. Immagine in memoria di un processo. Stati di un processo. Un SO esegue una varietà di attività: Impossibile visualizzare l'immagine. Processi Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo

Dettagli

Running batch jobs on supercomputers

Running batch jobs on supercomputers Running batch jobs on supercomputers Catello Di Martino Catello.dimartino@unina.it University of Naples Federico II, Dipartimento di Informatica e Sistemistica DIS Materiale a cura di Giulio Merolla (gmerolla@yahoo.it)

Dettagli

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Enrico Zimuel Senior Consultant & Architect Zend Technologies enrico@zend.com Sommario Zend Server Community Edition (CE) Perchè eseguire

Dettagli

Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno

Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno LEZIONE N. 16 Resource Management Systems: PBS, MAUI Il Computing Element Griglie computazionali

Dettagli

Il kit di installazione delle farm di CMS. Giovanni Organtini CMS/Roma

Il kit di installazione delle farm di CMS. Giovanni Organtini CMS/Roma Il kit di installazione delle farm di CMS Giovanni CMS/Roma Introduzione CMS in produzione MC dal 1999 Organizzazione della produzione! 2 tornate/anno! O(10 6 eventi)/tornata! Produzione distribuita! Contributo

Dettagli

GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU

GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU GPGPU GPGPU GPGPU Primi In (General Purpose computation using GPU): uso del processore delle schede grafice (GPU) per scopi differenti da quello tradizionale delle generazione di immagini 3D esperimenti

Dettagli

Capitolo 3 -- Silberschatz

Capitolo 3 -- Silberschatz Processi Capitolo 3 -- Silberschatz Concetto di processo Un SO esegue una varietà di attività: Sistemi batch job Sistemi time-sharing programmi utenti o task Nel libro i termini job e processo sono usati

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Parallelizzazione Laplace 2D: MPI e MPI+OMP. - Cineca - SuperComputing Applications and Innovation Department

Parallelizzazione Laplace 2D: MPI e MPI+OMP. - Cineca - SuperComputing Applications and Innovation Department Parallelizzazione Laplace 2D: MPI e MPI+OMP - Cineca - SuperComputing Applications and Innovation Department Outline Parallelizzazione Laplace 2D Parallelizzazione Laplace 2D - MPI bloccante Parallelizzazione

Dettagli

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID Prestazioni computazionali di OpenFOAM sul sistema HPC CRESCO di ENEA GRID NOTA TECNICA ENEA GRID/CRESCO: NEPTUNIUS PROJECT 201001 NOME FILE: NEPTUNIUS201001.doc DATA: 03/08/10 STATO: Versione rivista

Dettagli

Sistemi Operativi (modulo di Informatica II) I processi

Sistemi Operativi (modulo di Informatica II) I processi Sistemi Operativi (modulo di Informatica II) I processi Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario Il concetto di processo Schedulazione dei processi e cambio di contesto

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Supporto al Sistema Operativo

Supporto al Sistema Operativo Supporto al Sistema Operativo Middleware di supporto al sistema operativo in sistemi distribuiti Funzione del nucleo Modelli architetturali di SO Decomposizione delle funzionalità Processi, thread, processi

Dettagli

Laboratorio Centro Calcolo

Laboratorio Centro Calcolo INTRODUZIONE AI CLUSTER DI CALCOLO DEL DIPARTIMENTO DI MATEMATICA Centro di Calcolo Novembre 2015 A cura di L. Ciambella, A. Gabrielli, A. Seghini {ciambella, gabrielli, seghini}@mat.uniroma1.it Laboratorio

Dettagli

Openmosix e Beowulf: introduzione e confronto

Openmosix e Beowulf: introduzione e confronto Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -

Dettagli

Manuale utente del cluster Linux

Manuale utente del cluster Linux Manuale utente del cluster Linux Giancarlo Bartoli (giancarlo.bartoli@isti.cnr.it) Tiziano Fagni (tiziano.fagni@isti.cnr.it) 29 marzo 2004 In questo rapporto tecnico descriveremo come poter usare, in modo

Dettagli

Unix e GNU/Linux Eugenio Magistretti emagistretti@deis.unibo.it Prima Esercitazione Fork Stefano Monti smonti@deis.unibo.it Unix: sviluppato negli anni '60-'70 presso Bell Labs di AT&T, attualmente sotto

Dettagli

La gestione dei processi in Minix

La gestione dei processi in Minix La gestione dei processi in Minix Sistemi Operativi Lez. 28 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Lo scheduler di UNIX (1)

Lo scheduler di UNIX (1) Lo scheduler di UNIX (1) Lo scheduling a basso livello è basato su una coda a più livelli di priorità 1 Lo scheduler di UNIX (2) Si esegue il primo processo della prima coda non vuota per massimo 1 quanto

Dettagli

Multithreading in Java. Fondamenti di Sistemi Informativi 2014-2015

Multithreading in Java. Fondamenti di Sistemi Informativi 2014-2015 Multithreading in Java Fondamenti di Sistemi Informativi 2014-2015 Multithreading La programmazione concorrente consente di eseguire più processi o thread nello stesso momento. Nel secondo caso si parla

Dettagli

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition

Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Enrico Zimuel Senior Consultant & Architect Zend Technologies enrico@zend.com 9 Ottobre 2010 JoomlaDay Verona Sommario Zend Server

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Pietro Frasca Lezione 5 Martedì 21-10-2014 Thread Come abbiamo detto, un processo è composto

Dettagli

Processi. Laboratorio Software 2008-2009 C. Brandolese

Processi. Laboratorio Software 2008-2009 C. Brandolese Processi Laboratorio Software 2008-2009 Introduzione I calcolatori svolgono operazioni simultaneamente Esempio Compilazione di un programma Invio di un file ad una stampante Visualizzazione di una pagina

Dettagli

Grid Tutorial Day Palermo, 13 Aprile 2011 Job Description Language Gestione job utente

Grid Tutorial Day Palermo, 13 Aprile 2011 Job Description Language Gestione job utente Grid Tutorial Day Palermo, 13 Aprile 2011 Marco Cipolla Job Description Language Gestione job utente Jobs e Applicazioni Utente I job permettono l esecuzione di programmi utente sulla GRID Per sottomettere

Dettagli

Java Virtual Machine

Java Virtual Machine Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina

Dettagli

SISTEMI OPERATIVI THREAD. Giorgio Giacinto 2013. Sistemi Opera=vi

SISTEMI OPERATIVI THREAD. Giorgio Giacinto 2013. Sistemi Opera=vi SISTEMI OPERATIVI THREAD 2 Mo*vazioni» Un programma complesso può eseguire in modo concorrente più funzioni agraverso la creazione e ges=one di processi figli agraverso il meccanismo dei thread» La creazione

Dettagli

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO

Componenti di Sistemi Operativi. System Call Programmi di sistema Componenti di un SO Servizi di SO Componenti di so 1 Componenti di Sistemi Operativi System Call Programmi di sistema Componenti di un SO Servizi di SO 2 System Call Le system call forniscono l'interfaccia tra running program e SO Generalmente

Dettagli

Add workstations to domain. Adjust memory quotas for a process. Bypass traverse checking. Change the system time. Create a token object

Add workstations to domain. Adjust memory quotas for a process. Bypass traverse checking. Change the system time. Create a token object SeTcb Act as part of the operating system Consente ad un processo di assumere l identità di un qualsiasi utente ottenere così l accesso alle risorse per cui è autorizzato tale utente SeMachineAccount SeIncreaseQuota

Dettagli

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1). Speedup Vediamo come e' possibile caratterizzare e studiare le performance di un algoritmo parallelo: S n = T 1 T p n Dove T 1 e' il tempo impegato dal miglior algoritmo seriale conosciuto, mentre T p

Dettagli

Modelli di programmazione parallela

Modelli di programmazione parallela Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici

Dettagli

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

Dettagli

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica Scheduling della CPU Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica prof. Ing. Corrado Santoro A.A. 2010-11 Architettura di un sistema operativo Progr 1 Progr 2 Progr

Dettagli

Guida introduttiva e regole per l uso del cluster Casper. Lo Staff di HPC@Polito - 31 luglio 2015

Guida introduttiva e regole per l uso del cluster Casper. Lo Staff di HPC@Polito - 31 luglio 2015 Guida introduttiva e regole per l uso del cluster Casper Lo Staff di HPC@Polito - 31 luglio 2015 Questa guida è rivolta a tutti gli utenti del cluster e si applica ai casi d uso più comuni. Qualora fossero

Dettagli

ENEA GRID. Corso di introduzione all'uso ed all'amministrazione. Autore: Alessandro Secco alessandro.secco@nice-italy.com

ENEA GRID. Corso di introduzione all'uso ed all'amministrazione. Autore: Alessandro Secco alessandro.secco@nice-italy.com ENEA GRID Corso di introduzione all'uso ed all'amministrazione Autore: Alessandro Secco alessandro.secco@nice-italy.com 1 Lezione 4 Riepilogo lezione 3 LSF: Job environment LSF: Lancio di un job multi-caso

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Workshop CCR-INFNGRID 2010. Survey MPI. Roberto Alfieri - Università di Parma & INFN, Gr.Coll. di Parma. Catania, 18 Maggio 2010

Workshop CCR-INFNGRID 2010. Survey MPI. Roberto Alfieri - Università di Parma & INFN, Gr.Coll. di Parma. Catania, 18 Maggio 2010 Workshop CCR-INFNGRID 2010 Survey MPI Roberto Alfieri - Università di Parma & INFN, Gr.Coll. di Parma Catania, 18 Maggio 2010 1 Sommario - Survey sull uso di MPI - Stato dei cluster che supportano MPI

Dettagli

Realizzazione di un cluster Condor su macchine virtuali

Realizzazione di un cluster Condor su macchine virtuali Realizzazione di un cluster Condor su macchine virtuali Davide Petturiti Sistemi Operativi Avanzati Prof. Osvaldo Gervasi A.A. 2007/2008 Corso di Laurea Specialistica in Informatica Facoltà di Scienze

Dettagli

Processi e Thread. Scheduling (Schedulazione)

Processi e Thread. Scheduling (Schedulazione) Processi e Thread Scheduling (Schedulazione) 1 Scheduling Introduzione al problema dello Scheduling (1) Lo scheduler si occupa di decidere quale fra i processi pronti può essere mandato in esecuzione L

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

Controllo di processi

Controllo di processi Controllo di processi Ogni processo del sistema ha un PID (Process Identity Number). Ogni processo può generare nuovi processi (figli). La radice della gerarchia di processi è il processo init con PID=1.

Dettagli

Lezione 5. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata

Lezione 5. Processi e thread. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata Lezione 5 Sistemi operativi 24 marzo 2015 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 15 5.1 Di cosa parliamo in questa lezione? Relazione tra processi e thread, e relative

Dettagli

Scheduling. Tipi di processi. Classi di scheduling. P1 (CPU bound) P2 /I/O bound) Scheduling a lungo termine. A. Ferrari

Scheduling. Tipi di processi. Classi di scheduling. P1 (CPU bound) P2 /I/O bound) Scheduling a lungo termine. A. Ferrari Scheduling A. Ferrari Tipi di processi CPU Bound Processi che sfru;ano pesantemente le risorse computazionali del processore, ma non richiedono servizi di ingresso/uscita dab al sistema operabvo in quanbtà

Dettagli

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

IL SISTEMA OPERATIVO

IL SISTEMA OPERATIVO IL SISTEMA OPERATIVO... è l insieme dei programmi che rende agevole l uso dell hardware, mascherando le caratteristiche delle risorse fisiche (interfaccia) gestisce le risorse fisiche ottimizzandone l

Dettagli

Sistemi Operativi. Esercitazione 2 Compilazione, Makefile e Processi

Sistemi Operativi. Esercitazione 2 Compilazione, Makefile e Processi Sistemi Operativi Esercitazione 2 Compilazione, Makefile e Processi Percorso Compilazione programmi in c Makefiles Processi definizione gestione creazione Compilazione di programmi in C Compilazione e

Dettagli

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core PAES Analisi e sviluppo di un implementazione parallela dell AES per architetture eterogenee multi/many-core Candidato Paolo Bernardi Relatore Osvaldo Gervasi Laurea Specialistica in Informatica Contesto

Dettagli

Griglie computazionali

Griglie computazionali Griglie computazionali Università degli Studi di Napoli Federico II Corso di Laurea Magistrale in Informatica I Anno LEZIONE N. 5 Caratterizzazione di un sistema di calcolo distribuito convenzionale High

Dettagli

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. I Sistemi Operativi Il Software di Base Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer. Il sistema operativo è il gestore di tutte le risorse

Dettagli

Corso di Laurea in Ingegneria Informatica. Laboratorio di Sistemi Operativi. II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione

Corso di Laurea in Ingegneria Informatica. Laboratorio di Sistemi Operativi. II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione INFORMAZIONI UTILI Docente: Gianluigi Folino tel. : 0984/831731

Dettagli

I multi processori. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it. Università degli Studi di Milano

I multi processori. Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it. Università degli Studi di Milano I multi processori Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Patterson, sezione 1.5, 1.6, 2.17, 7.1, 7.2, 7.3, 7.4, 7.5, 7.6,

Dettagli

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti

Nascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del

Dettagli

Blocchi funzione: FbModbusAsciiMs

Blocchi funzione: FbModbusAsciiMs Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione

Dettagli

Cosa si intende per GPGPU? Il modello di programmazione di CUDA. GPU di precedente generazione. Storia delle GPU

Cosa si intende per GPGPU? Il modello di programmazione di CUDA. GPU di precedente generazione. Storia delle GPU Cosa si intende per GPGPU? Il modello di programmazione di CUDA Calcolo General Purpose su GPU (Graphic Processing Unit) in applicazioni differenti dalla grafica 3D tradizionale Le GPU sono usate come

Dettagli

Sommario. Introduzione al problema Infrastruttura realizzata Procedure di ottimizzazione Validazione Conclusioni

Sommario. Introduzione al problema Infrastruttura realizzata Procedure di ottimizzazione Validazione Conclusioni Sommario Introduzione al problema Infrastruttura realizzata Procedure di ottimizzazione Validazione Conclusioni 2 Il cluster INFN Perugia Oltre 250 cpu e 40TB di spazio dati 9 gruppi, 100 utenti locali

Dettagli

POWEREDGE T20 E3-1225V3/4G(1X4)/1TB/290W/ 1YNBD

POWEREDGE T20 E3-1225V3/4G(1X4)/1TB/290W/ 1YNBD POWEREDGE T20 E3-1225V3/4G(1X4)/1TB/290W/ 1YNBD :20-3708 Dell T20, il server conpatto ad alte prestazoni. Produttività superiore Il server racchiude un'ampia capacità di storage interno e prestazioni elevate

Dettagli

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche m.bernaschi@iac.cnr.it L'evoluzione del calcolo ad alte prestazioni dal punto di vista dell'utente e dello sviluppatore

Dettagli

Il Progetto di Centro di Reprocessing di BaBar: Monitoring e Simulazione

Il Progetto di Centro di Reprocessing di BaBar: Monitoring e Simulazione Il Progetto di Centro di Reprocessing di BaBar: Monitoring e Simulazione Moreno Marzolla Email marzolla@pd.infn.it WWW: http://www.pd.infn.it/~marzolla INFN Padova BaBar Collaboration & Dip. Informatica,

Dettagli

CVserver. CVserver. Micky Del Favero micky@linux.it. BLUG - Belluno Linux User Group Linux Day 2008 - Feltre 25 ottobre 2008. Un cluster di VServer

CVserver. CVserver. Micky Del Favero micky@linux.it. BLUG - Belluno Linux User Group Linux Day 2008 - Feltre 25 ottobre 2008. Un cluster di VServer Un cluster di VServer Micky Del Favero micky@linux.it BLUG - Belluno Linux User Group Linux Day 2008 - Feltre 25 ottobre 2008 p. 1 Motivazione Legge di Murphy: Se qualcosa può andare storto allora lo farà.

Dettagli

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna

Davide Cesari Massimo Bider Paolo Patruno. Emilia Romagna 1 IMPLEMENTAZIONE OPERATIVA DI UN MODELLO DI PREVISIONI METEOROLOGICHE SU UN SISTEMA DI CALCOLO PARALLELO LINUX/GNU Davide Cesari Massimo Bider Paolo Patruno Emilia Romagna LM-COSMO-LAMI 2 Il modello LM

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

Dettagli

Ottimizzazione dei Sistemi di Test Automatico: Multithreading in NI TestStand

Ottimizzazione dei Sistemi di Test Automatico: Multithreading in NI TestStand Multithreading in NI TestStand - 2 Ottimizzazione dei Sistemi di Test Automatico: Multithreading in NI TestStand Ing. Luigi Magni Responsabile Sviluppo ATS Pragma Engineering Srl (Perugia Italy) Multithreading

Dettagli

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows

La genealogia di Windows. Windows NT e Windows 95/98. Dimensioni del codice. Parte IX. Windows La genealogia di Windows Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1

Parte IX. Windows. Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 Parte IX Windows Sistemi Operativi - prof. Silvio Salza - a.a. 2008-2009 IX - 1 La genealogia di Windows DOS: sistema operativo monoutente Windows 3.1 interfaccia a finestre che gira su DOS Windows 95/98

Dettagli

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst!

Capitolo 5: Scheduling della CPU! Scheduling della CPU! Concetti di Base! Alternanza di Sequenze di CPU- e I/O-Burst! Capitolo 5: Scheduling della CPU Criteri di Scheduling Algoritmi di Scheduling Cenni Scheduling per sistemi multprocessore Modelli Asimmetrico e Simmetrico Scheduling della CPU 5.2 Concetti di Base Alternanza

Dettagli

Sistemi Operativi (M. Cesati)

Sistemi Operativi (M. Cesati) Sistemi Operativi (M. Cesati) Compito scritto del 16 luglio 2015 Nome: Matricola: Corso di laurea: Cognome: Crediti da conseguire: 5 6 9 Scrivere i dati richiesti in stampatello. Al termine consegnare

Dettagli

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza

Dipartimento di Informtica e Sistemistica Università di Roma La Sapienza Dipartimento di Informtica e stica Università di Roma La Sapienza Cosa è un sistema operativo Esempi di Insieme di componenti SW che gestiscono le operazioni di basso livello dell elaboratore Compiti di

Dettagli

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013 Architetture Paride Dagna SuperComputing Applications and Innovation Department 18/02/2013 Introduzione Grazie alle moderne tecniche di programmazione e agli strumenti di sviluppo attualmente disponibili,

Dettagli

Configurare TPTP in Eclipse e testare un applicazione

Configurare TPTP in Eclipse e testare un applicazione Configurare TPTP in Eclipse e testare un applicazione Questa guida concentra la sua attenzione sul tool TPTP (Test & Performance Tools Platform) presente nell ambiente di sviluppo Eclipse. Verrà descritta

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Scrivere un programma in Java

Scrivere un programma in Java Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche

ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche ISTVAS Ancona Introduzione ai sistemi operativi Tecnologie Informatiche Sommario Definizione di S. O. Attività del S. O. Struttura del S. O. Il gestore dei processi: lo scheduler Sistemi Mono-Tasking e

Dettagli

Sistemi di Elaborazioni delle Informazioni I

Sistemi di Elaborazioni delle Informazioni I Sistemi di Elaborazioni delle Informazioni I Docente: Marco Aldinucci aldinuc@di.unito.it http://www.di.unito.it/~aldinuc Ricevimento: Su appuntamento Esercitatore: Fabio Tordini tordini@di.unito.it 1

Dettagli

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002

Database & FreeBSD. Come configurare il sistema operativo ottimizzando le prestazioni sul DB. GufiCon#3 Milano, 12 Ottobre 2002 Database & FreeBSD Come configurare il sistema operativo ottimizzando le prestazioni sul DB GufiCon#3 Milano, 12 Ottobre 2002 Gianluca Sordiglioni inzet@gufi.org I database sono applicazioni particolari

Dettagli

Meccanismi di sincronizzazione: Semafori e Monitor

Meccanismi di sincronizzazione: Semafori e Monitor Meccanismi di sincronizzazione: Semafori e Monitor 1 Introduzione Nelle prossime lezioni vedremo alcuni meccanismi dei sistemi operativi e dei linguaggi di programmazione sviluppati per facilitare la scrittura

Dettagli