Profiling Pompeo Faruolo. Profiling Tracciare il profilo del comportamentale di un PROCESSO in funzione delle risorse utilizzate Come il Sistema Operativo.

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

PROCESS MANAGEMENT: STRUTTURE DATI
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
PROGETTO PON 201/2012 IN CORSA PER LEUROPA. Parte fisica del computer: tastiera, mouse, penna ottica, scanner, monitor, Stampante; Hard-Disk, Floppy-
Da Unix a Linux Alessio Coraci V Dp.
Il Sistema Operativo.
Orario definitivo Martedì Aula 2 Polo Mercoledì Aula 1 Fondi Palazzina delle Scienze Giovedì 9-11 Aula 1 Fondi Palazzina delle Scienze Nota:
1 Approfondimenti su Linux. Corso di SISTEMI OPERATIVI Dipartimento di Informatica e Scienze dellInformazione 2 La storia Il sistema operativo Linux è
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
Gestione del processore
Esercitazione con socket
Operating System Concepts
I processi Concetto di processo Scheduling dei processi
Processi Concetto di processo Scheduling dei processi
Anno Accademico Corso di Informatica Informatica per Scienze Biologiche e Biotecnologie Anno Accademico
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Sistemi Operativi: avvio
I Thread.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
Corso di Laurea in Ingegneria Informatica Laboratorio di Sistemi Operativi II anno, III periodo 2 crediti 13 ore di lezione 16 ore di esercitazione.
1 LINUX: struttura generale The layers of a UNIX system. User Interface.
Introduzione ai Sistemi Operativi
SOFTWARE I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (alla lettera, ferramenta). La struttura.
Lezione 24 maggio 2007 Strutture File Allocazione dinamica della memoria.
Informatica per medici
Modulo 1 - Hardware u.d. 3 (syllabus – 1.3.5)
Silberschatz and Galvin Operating System Concepts CAP. 1 - INTRODUZIONE.
MicroSoft - Disk Operating System. MS-DOS è stato un sistema operativo commerciale della Microsoft Corporation dedicato ai personal computer con microprocessore.
La schedulazione dei processi
1 Scheduling in Windows 2000 Un thread entra in modalità kernel e chiama lo scheduler quando: Si blocca su un oggetto di sincronizzazione (semaforo, mutex,
AWK Salvatore Campagna
Il Sistema Operativo (1)
Sistemi e Tecnologie Informatiche
MS-DOS è il sistema operativo, Come praticamente tutti i sistemi operativi per i computer del periodo, l'MS- DOS era un sistema operativo mono utente.
Processi.
Threads.
Costruzione di una semplice Agenda telefonica Elettronica Esercizio sull'uso delle principali system call Unix.
1 Il Sistema Operativo: Esempio n Le operazioni effettuate sembrano abbastanza semplici ma … n Provocano una serie di eventi in cui vengono coinvolte sia.
1.1 Sistemi di elaborazione
STRUTTURA DI UN COMPUTER
1 I segnali. 2 Prima un po’ di teoria…... 3 Stati dei processi in UNIX Idle Sleeping Zombified Runnable Running Fork iniziata waitpid Fork terminata.
Sistema Operativo (Software di base)
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
1 Esercitazione finale per il corso di Sistemi Operativi (A.A. 2001/2002)
LE TIC INFANTE, VONA, D’AGOSTINO,PULCINO, GUIDONE, FINELLI, DE PADOVA.
Gestione dei dispositivi di I/O:
1 Amministrazione dei processi nel sistema operativo Unix (Bach: the Design of the Unix Operating System (cap: 6, 7, 8)
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Processi e Thread Processi e thread in Windows 2000.
1 Migrazione dei processi: Mosix. 2 Cosa è Mosix/OpenMOSIX ? OpenMOSIX è un è una patch del kernel di Linux che aggiunge funzionalit à avanzate di clustering.
1.1 Corso di Sistemi Operativi: Programmazione di Sistema Corso di Laurea in Informatica, Università di Firenze Anno accademico 2010/2011 Prof. Luca Ferrari.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
1 Processi e Thread Processi e thread in Unix. 2 UNIX/Linux Molte versioni di UNIX –trattiamo le caratteristiche più comuni) Ci riferiamo allo standard.
1 SYNCHRONOUS/ REACTIVE PROGRAMMING In Sistemi Software Concorrenti.
Informatica Generale Marzia Buscemi
I primi elaboratori Anni ‘50 Rigidamente sequenziali
STRUTTURA DELL’ELABORATORE
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Sistemi operativi.
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Dalla macchina di Von Neumann …
Il modello di Von Neumann
Il computer RAM: Unità di misura MByte e GByte MHz Processore: Unità di misura Singolo o multiprocessore 32/64 bit velocità GHz Mouse tastiera video stampante.
Un sistema operativo è un componente del software di base di un computer la cui funzione è quella di gestire le sue risorse hardware e software,fornendo.
© 2016 Giorgio Porcu - Aggiornamennto 31/01/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Thread G IORGIO P.
Definizione e obiettivi del Sistema Operativo. DIFFERENZA TRA SISTEMA OPERATIVO – SOFTWARE APPLICATIVO Sistema operativo è un insieme organico di programmi.
Checkpoint e restore di job LSF Workshop Congiunto INFN CCR e GRID Acireale, Maggio 2010 INFN - Sezione di Trieste - C. Strizzolo - L. Strizzolo.
Transcript della presentazione:

Profiling Pompeo Faruolo

Profiling Tracciare il profilo del comportamentale di un PROCESSO in funzione delle risorse utilizzate Come il Sistema Operativo esegue il processo

RisorseConteggiate Tempo Cpu Memoria IO (file, stampanti, etc..) Canali di comunicazione

Profiling tradizionale Il campionamento dei tempi in ambiente Unix prende come riferimento il clock di sistema Command Shell sampling time Embedded source-level sampling times(…) getitimer(…)/setitimer(…)

time time [-apvV] [-f format] [-o file] [--append] [-- portability] [--verbose] [--format=format] [--output- file=file] [--version] command [arg...] time esegue command, ed alla fine dellesecuzione mostra le risorse utilizzate Conteggia le risorse solo del processo lanciato escludendo i figli

time: statistiche dei tempi Tempo reale trascorso tra linizio del processo fino alla sua terminazione Numero totale di secondi di CPU utilizzati dal processo(in user-mode) Numero totale di secondi di CPU utilizzati dal sistema per gestire il processo(in kernel-mode) Percentuale di uso di CPU %CPU = (UserTime + SystemTime) / RealTime

time: statistiche della memoria Memoria media utilizzita Massima memoria utilizzata Tagli media dei dati condvisi Taglia media dei dati non-condivisi Numero di page fault Numero di context switch

time: statistiche dellIO Numero di file system output aperti Numero di file system input aperti Numero di messaggi su socket inviati Numero di messaggi su socket ricevuti Numero di segnali ricevuti Valore di exit del processo

time: esempi Processo CPU intensive for( i=0; i< ; i++) ; Processo IO intensive for( i=0; i<20000; i++) printf("%d\n",i); Processo MIX for( i=0; i<5000; i++) { for( j=0; j<50000; j++); printf("%d\n",j); }

time: esempi CPUIOMIX User System Real %CPU97%5%61% Statistiche a macchina scarica

time: esempi CPUIOMIX User System Real %CPU49%1%38% Statistiche rilevate con un processo CPU intensive concorrente

time: esempi CPUIOMIX User System Real %CPU8%0%8% Statistiche rilevate con 10 processi CPU intensive concorrenti

Profiling a livello macchina Aumentiamo il grado di dettaglio delle statistiche rilevate Registriamo come una porzione di codice interagisce con larchitettura sottostante

Parametri rilevati Total cycles Total instructions Floating point operations Load/store instructions Cycles functional units are idle Cycles stalled waiting for memory access waiting for resource Conditional branch instructions executed Mispredicted Cache miss

Hardware Performance Counter Le moderne CPU integrano questo hardware dedicato per il conteggio dellavvenimento di un particolare evento Quando un particolare evento accade viene lanciato automaticamente un segnale che incrementa il relativo registro

Funzionamento hardware REGISTRI CONTATORI CACHE L1 CACHE L2 BUS CPU HPC

Gestione HPC HPC necessitano di driver aggiuntivi perché non supportati dai sistemi operativi Questi moduli aggiuntivi costituiscono il tramite tra lhardware e lutente

Performance API Lo scopo di PAPI è progettare, standardizzare e implementare una interfaccia indipendente dalla piattaforma per accedere agli HPC dei vari processori

Funzionamento software Java Monitor GUI PAPI Low Level PAPI High Level Hardware Performance Counter Operating System Kernel Extension PAPI Machine Dependent Substrate Machine Specific Layer Portable Layer

PAPI high level int PAPI_num_counters(void) int PAPI_start_counters(int *events, int array_len) int PAPI_read_counters(long long *values, int array_len) int PAPI_accum_counters(long long *values, int array_len) int PAPI_stop_counters(long long *values, int array_len)

Latenze della mamoria (indicative) CPU register: 0 cycles L1 cache hit: 2-3 cycles L1 cache miss satisfied by L2 cache hit: 8-12 cycles L2 cache miss satisfied from main memory, no TLB miss: cycles TLB miss requiring only reload of the TLB: ~2000 cycles TLB miss requiring reload of virtual page – page fault: hundreds of millions of cycles

Utilizzo HPC CPU design Monitorare politiche di scheduling di un SO Compilatori Profiling di algoritmi