POLITECNICO DI BARI Facoltà di Ingegneria

Slides:



Advertisements
Presentazioni simili
1 Introduzione ai calcolatori Parte II Software di base.
Advertisements

Corso « Clean Energy Project Analysis »
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 Meccanismi di IPC, Inter Process Communication (1)
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Protocolli.
Organizzazione e dimensione della forza di vendita
1 Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando: Livio Murianni A.A. 2002/2003 Determinazione mediante Reti.
Mastertitelformat bearbeiten Dateiname/Verfas- ser Mastertitelformat bearbeiten 1 L Automazione Industriale.
ANALISI DELLA COVARIANZA
Lezione N° 6 L’organizzazione
L’organizzazione corso di Gestione e controllo imprese di servizi - prof Bronzetti Giovanni Corso di E.A. - prof Bronzetti Giovanni.
Reti Neurali: studi sull'intelligenza artificiale
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Apprendimento di funzioni algebriche
INFERENZA NEL MODELLO DI REGRESSIONE LINEARE MULTIPLA (parte 1)
Dip. Economia Politica e Statistica
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
8. Reti di Code Nella maggior parte dei processi produttivi risulta troppo restrittivo considerare una sola risorsa. Esempio: linea tandem arrivi 1 v.
Attività specializzate
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Proposta di integrazione e consolidamento delle risorse presenti nellinfrastruttura Grid dellItalia Meridionale (L. Merola, )
Risorse e Stallo.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
BIOINGEGNERIA S. Salinari Lezione 4.
TECNOLOGIE DEI SISTEMI DI CONTROLLO
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
Modelli e Algoritmi per la Logistica
Apprendimento di movimenti della testa tramite Hidden Markov Model
Alternative al Paradigma Rappresentazionale
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
17/12/02 1 Direzione Sviluppo Servizi su rete, Banche dati IRIDE Infrastruttura di Registrazione e IDEntificazione.
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Reti Neurali Ricorrenti
FONDAMENTI DI INFORMATICA III A2A2-1 CARATTERISTICHE E MODELLIZZAZIONE DEL LAVORO DUFFICIO Argomento 2 Approfondimento 2 CARATTERISTICHE E MODELLIZZAZIONE.
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
Labortaorio informatica 2003 Prof. Giovanni Raho 1 INFORMATICA Termini e concetti principali.
La struttura organizzativa e informativa del controllo
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
RETI NEURALI ARTIFICIALI
Elementi di Informatica di base
Esercizio 10.* Un cassiere vuole dare un resto di n centesimi di euro usando il minimo numero di monete. a) Descrivere un algoritmo goloso per fare ciò.
Information-intensive
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Il modello di riferimento OSI
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
1 AUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAIAUTOMATIZZAI S.I. SISTEMASISTEMA INFORMATIVO INFORMATIVO PROCESSOPROCESSO DECISIONALE DECISIONALE DECISIONEDECISIONE.
LE COMPONENTI DEL SISTEMA INFORMATIVO
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
1.1 Sistemi di elaborazione
Corso di ELETTROTECNICA
POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica STUDIO E REALIZZAZIONE DI UN BRACCIO ROBOTICO ANTROPOMORFO E SOLUZIONE.
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
PROGETTO E REALIZZAZIONE DI UN COMPONENTE SOFTWARE PROGRAMMABILE PER LA PIANIFICAZIONE DI COMMISSIONI DI LAUREA FACOLTA’ DI INGEGNERIA Corso di Laurea.
REGRESSIONE LINEARE Relazione tra una o più variabili risposta e una o più variabili esplicative, al fine di costruire una regola decisionale che permetta.
Intelligenza Artificiale Reti Neurali
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Gestionale Ricerca Operativa MODELLI PER L’OTTIMIZZAZIONE DELL’OFFERTA.
Internetworking V anno. Le soluzioni cloud per la progettazione di infrastrutture di rete.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
A.A Roma Tre Università degli studi “Roma Tre” Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Servizi di localizzazione a livello.
Le basi di dati.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
FESR Trinacria Grid Virtual Laboratory PROGETTO “MAMMO” Sviluppo e ottimizzazione di algoritmi adattativi, specificatamente di Artificial.
Transcript della presentazione:

POLITECNICO DI BARI Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Tesi di Laurea in Sistemi Operativi Determinazione mediante Reti Neurali del profilo dell’Utente di una Computing Grid Relatori: Chiar.mo Prof. Giacomo Piscitelli Chiar.mo Dott. Marcello Castellano Laureando: Livio Murianni A.A. 2002/2003

Obiettivo del lavoro di Tesi Definire il modello comportamentale dell’utente di una griglia computazionale. Griglia Computazionale Infrastruttura su larga scala il cui scopo è quello di coordinare l’uso di Risorse di calcolo affinché possibili utenti ne sfruttino le capacità aggregate.

Computing Grid vs Electrical Power Grid Rete Elettrica: Griglia: fornitura di servizi computazionali e/o di memorizzazione senza interruzione attraverso l’uso di risorse fisiche (CPU, memoria ). fornitura di energia senza interruzione. l’utente paga l’utilizzo dell’energia, senza interessarsi della sua provenienza. l’utente paga per l’uso del servizio senza conoscere le modalità di erogazione del servizio. Griglia: Infrastruttura fatta di servizi e protocolli capaci di fornire accesso condiviso e trasparente a risorse distribuite. 1 di 2

La Griglia deve essere multi-purpose. Computing Grid vs Electrical Power Grid La griglia deve soddisfare esigenze di: Applicazioni con un forte grado di parallelismo ( es. simulazioni di fenomeni meteorologici); Applicazioni Data-Intensive che utilizzano un’elevata mole di dati distribuiti. La rete elettrica fornisce energia per soddisfare esigenze di tipo domestico, industriale e pubblico La Griglia deve essere multi-purpose. Deve, pertanto, essere realizzata con moduli che possano essere sostituiti o integrati con facilità. Il componente di Griglia che soddisfa questa specifica è il Resource Management System. 2 di 2

Resource Management System Il Resource Management System ha il compito di gestire le risorse al fine di eseguire le applicazioni in modo efficiente. Utenti RISORSE Resource Management System (RMS) Information Server(s) (IS) Affinché la Griglia sia multi-purpose è necessario che l’RMS si adatti alle esigenze degli utenti appartenenti ad una stessa Virtual Organization (V.O).

Esempio di Griglia : Progetto che vede il CERN partner principale. Sono in programma diversi esprimenti che utilizzeranno l’acceleratore LHC. È stimata una produzione di 109 eventi/anno Modello dell’analisi dei Dati: RAW (output rilevatori) ESD (Event Summary Data) AOD (Analysis Object Data) DPD (Derived Physics Data) È conveniente ricorre al modello di analisi distribuito dei dati e ad una organizzazione gerarchica delle risorse.

Resource Broker assegna i CE ai job In funzione: L’RMS di DataGrid è composto da diversi moduli, il più importante è il Resource Broker (R.B.). assegna le risorse (Computing Element o CE) ai job. Per garantire l’adattabilità dell’RMS l’utente ha la possibilità di modificare la strategia di selezione adottata dal Resource Broker. Resource Broker L’ utente ha dei bisogni specifici ad es. minimizzare il tempo di esecuzione del Job; minimizzare il costo d’esecuzione del job. L’utente determina: requisiti di esecuzione; Criteri di selezione. Stato delle Risorse; requisiti di esecuzione; Criteri di selezione. Resource Broker assegna i CE ai job In funzione: DataGrid.

Mediante i requisiti (Requirements) specifica le caratteristiche che le risorse devono possedere senza le quali il Job non può essere eseguito ad esempio: Il numero di CPU presenti; Quantità minima di memoria; La presenza di un determinata libreria. Utente Con i Criteri di selezione (Rank) e utilizzando informazioni aggiuntive stabilisce un ordinamento dei CE es. Tempo d’attesa in coda (Queuing Time QT); Accessibilità ai Dati (Closeness CL). In questo modo è possibile definire una funzione costo o di Ranking es: DataGrid.

L’assegnazione delle Risorse in DataGrid avviene in due fasi: 1)Il Resource Broker, utilizzando i Requirements, individua le risorse che sono in grado di eseguire il job. JOB R.B 2)Per ogni CE il R.B. misura i parametri di selezione, applica la funzione di Ranking e ottiene l’elenco ordinato dei CE CE2 CEj CEn CE1 c2 CE2 c1 CE1 cn CEn Rank Risorsa Il job è assegnato al CE che massimizza il Rank DataGrid.

Problematiche individuate Mediante la definizione dei Requirements e Rank: L’utente, in generale la V.O. di appartenenza, ha la possibilità di definire una strategia di selezione in funzione dei job da eseguire. Per una corretta selezione delle Risorse l’utente deve : 1)Conoscere le caratteristiche del Job per stimare, ad esempio, il tempo di completamento o l’utilizzo della memoria. L’utente, pertanto, deve essere esperto del dominio applicativo. 2)Conoscere i modelli delle risorse di griglia per sapere quali e quante informazioni dispone. L’utente, pertanto, deve essere esperto di Grid. Una conoscenza non approfondita di questi elementi causa una non efficiente selezione delle risorse  caso limite: totale inesperienza, scelta casuale del CE.

Problematiche individuate. Un esempio di utilizzo “non esperto” della Grid. Risorse disponibili Parametri CE1 CE2 Freq. Clock CPU [MHz] 1000 100 N° Job in attesa 20 Max N° job in attesa 40 50 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Il R.B seleziona sempre CE1 Effetti dannosi: CE1 raggiunge il max numero di Job in coda; CE1 inizia a rifiutare i job (30 job non verranno eseguiti); CE2 rimane inutilizzato. Problematiche individuate.

Un esempio di utilizzo “esperto” della Grid. 50 utenti di una V.O utilizzano la seguente funzione di Ranking: Consideriamo le stesse risorse dell’esempio precedente Risorse disponibili Parametri CE1 CE2 Freq. Clock CPU [MHz] 1000 100 N° Job in attesa 20 Max N° job in attesa 40 50 Effetti positivi: CE1 non raggiunge il max numero di Job; Dopo 15 assegnazioni il R.B. inizia ad inviare i job a CE2; i job non vengono rifiutati e CE2 non rimane inutilizzato. Problematiche individuate.

Valutare la strategia di selezione proposta dall’utente non esperto; Obiettivo della Tesi Gli esempi precedenti dimostrano che è necessario realizzare un sistema software che, integrandosi con il R.B, conferisca alla Griglia la capacità di: Valutare la strategia di selezione proposta dall’utente non esperto; Proporre una strategia alternativa; Sostituire l’utente non esperto durante la selezione delle risorse. Caratteristiche del Job; Stato delle Risorse; Metriche opportune. La valutazione della strategia di selezione deve essere fatta in base a: 1 di 2

Quali metriche utilizzare ? Obiettivo della Tesi Quali metriche utilizzare ? Come metriche è possibile utilizzare le strategie di selezione, di utenti esperti, che hanno dimostrato di essere vantaggiose. È necessario, pertanto, verificare se è possibile realizzare il modello dell’utente di Grid allo scopo di apprendere la strategia che ha utilizzato. 2 di 2

Il modello dell’utente Ipotizziamo di conoscere: Le caratteristiche del job da sottomettere; Lo stato delle risorse disponibili; Il risultato della scelta. Utente CEx Job (J),CE1,.....,CEN Caratteristiche del modello: Adattabile: deve essere in grado di adattarsi ai diversi comportamenti senza che si renda necessaria la sostituzione di componenti software; Scalabile: deve essere in grado di simulare il comportamento dell’utente indipendentemente dal numero di CE disponibili. 1 di 7

È possibile utilizzare una Rete Neurali Feed Forward (NN_FF) Il modello dell’utente Per ogni esempio disponiamo unicamente dell’ input e dell’output del sistema-utente. In queste condizioni risulta particolarmente difficile risolvere il problema in termini teorici Conoscendo, per ogni esempio, l’input e l’output possiamo ricorrere all’apprendimento supervisionato È possibile utilizzare una Rete Neurali Feed Forward (NN_FF) Dobbiamo utilizzare modelli di elaborazione che possono imparare a svolgere dei compiti senza bisogno di essere programmati esplicitamente: Le Reti Neurali Artificiali. 2 di 7

Esempio di modellazione Vogliamo realizzare il modello di una rete elettrica. Ipotesisappiamo che è costituita da 2 resistenze (rete lineare). Vo Vi Ra Rb Vo Vi Ipotizziamo ora di non disporre di alcuna informazione Vi Vo Vi1 Vo1 --- ViN VoN Vo Vi L’unica cosa che possiamo fare è osservarne il comportamento. In questo modo disponiamo di esempi con cui addestrare la NN_FF Retta di carico la NN_FF, se ben addestrata, fornisce uscite attendibili quando riceve ingressi che non ha mai osservato durante la fase di addestramento (in questo esempio la NN_FF è in grado di simulare il comportamento della rete elettrica). Vo Esempi NN_FF Vi

Le Reti Neurali Artificiali. Sono modelli computazionali costituiti da: elementi di elaborazioni elementari (neuroni); connessioni (sinapsi) che collegano i vari neuroni. Caratteristiche delle Reti Neurali Feed Forward: I neuroni sono organizzati in livelli; I neuroni del primo livello (layer 1) costituiscono l’input dell’intero sistema di elaborazione; I neuroni del livello N (layer N) costituiscono l’output dell’intero sistema di elaborazione; Il generico neurone del livello i-esimo è connesso esclusivamente con i neuroni del livello precedente (i-1-esimo).

Modello del Neurone artificiale. pi : output del neurone i-esimo del livello precedente ingresso i-esimo del neurone; wi :peso (valore numerico) associato alla connessione con il neurone i-esimo. Si considera, inoltre, un ingresso “fittizio” di valore costante 1 (bias) al quale si associa il peso b. il modello del Neurone artificiale è costituito da due elementi: Il nodo sommatore, esegue la media pesata degli input (R numero di input); La funzione di attivazione . L’output del modello è il valore restituito dalla funzione. a parità di input, modificando il valore del bias, è possibile modificare l’output del neurone. Generalmente, come funzione di attivazione, è utilizzata la funzione sigmoide.

Affinché la NN_FF apprenda il comportamento desiderato è necessario modificare i valori dei pesi associati alle connessioni: Esempio: Abbiamo a disposizione un solo neurone la cui funzione d’attivazione è f(x)=x (funzione identità). I0 w0 I1 w1 se la NN_FF esegue la somma degli input. se e la NN_FF fa la differenza degli input. Per modificare il comportamento della NN_FF si utilizza l’algoritmo d’addestramento di Back propagation.

Il modello dell’utente problema della determinazione del modello dell’utente di Griglia problema della determinazione della struttura degli esempi Output L’esempio d’addestramento è dato dal vettore di input e il corrispondente vettore di output. Per i vettori di Input e Output bisogna stabilire: il numero di componenti; il “significato” di ogni componente. 3 di 7

Il modello dell’utente Problema : non conosciamo i valori di Ipotesi Fondamentale l’utente seleziona il CE che minimizza la funzione La Rete Neurale deve stimare la funzione Sia S l’insieme delle risorse disponibili e CEU il CE selezionato. Se gli elementi di S sono n possiamo creare n-1 coppie con cui addestrare la NN_FF: 0.9 ((J,CEi),(J,CEU)) 0.1 ((J, CEU),(J,CEi)) Output Input È necessario che nel vettore di Input compaia CEU infatti: siano CEl e CEm CE generici, non sappiamo se fc(J,CEl )< fc (J,CEm) non possiamo associare a ((J,CEl ),(J,CEm)) 0.1 o 0.9. 4 di 7

In pratica la Rete Neurale deve comportarsi come un comparatore Il modello dell’utente y= fc(J,CEi)-fc(J,CEj) La funzione che la NN_FF stima è: g=0.1 se y<0 g=0.9 se y>0 In pratica la Rete Neurale deve comportarsi come un comparatore (rete neurale) fc() CEi J CEJ Schema del funzionamento della NN_FF: 5 di 7

Il modello dell’utente Start CEsel=arCE[N] J,CE1,CE2,….,CEN for (i=1;i £N;i++) arCE[i]=CEi i=1 Input=(J,arCE[i],J,arCE[i+1]) Output=NN_FF(Input) D1=|Output-0.1| D2=|Output-0.9| Temp=arCE[i] arCE[i]=arCE[i+1] arCE[i+1]=Temp i++ D1<D2 End i<N-1 SI NO La NN_FF è in grado di confrontare 2 CE: il caso generico prevede il confronto di N CE. Per selezionare il CE è possibile utilizzare l’algoritmo di Bubble Sort arrestato al 1° passo. si memorizzano i CE in una struttura dati (array arCE); si confronta il generico arCE[i] con l’elemento adiacente arCE[i+1] (1<i<N-1); Si effettua lo scambio se la NN_FF seleziona arCE[i], in questo modo è possibile confrontare arCE[i] con gli elementi successivi; Per determinare quale CE la NN_FF ha selezionato si confronta l’output (O_NN) con i valori previsti . Se |O_NN-0.1|<| O_NN-0.9| la NN_FF ha selezionato arCE[i]. Se O_NN=0.5  |O_NN-0.1|=| O_NN-0.9| , l’output della NN_FF non è interpretabile. 6 di 7

Bubble Sort arrestato al primo passo Il modello dell’utente Modello Proposto Rete Neurale Rappresentazione sub-simbolica della metrica fc(J,CE) (adattabilità) Bubble Sort arrestato al primo passo + Effettua la selezione indipendentemente dal numero di CE (scalabilità) 7 di 7

Misure e risultati sperimentali Valutare le prestazioni della Rete Neurale addestrata. Valutare le prestazioni complessive del modello dell’utente. MCT: seleziona il CE che minimizza il tempo di completamento del Job. MET: seleziona il CE che minimizza il tempo di esecuzione del Job. OLB: seleziona il CE che minimizza il tempo di attesa in coda del Job. Per simulare il comportamento dell’utente esperto sono stati utilizzati 3 algoritmi di schedulazione: Metrica per la misura delle prestazioni del modello: Dove: CE’: CE selezionato dal modello proposto; CE* :CE selezionato dall’utente simulato; CEMax : CE che massimizza fc(J,CEx). 1 di 6

Misure e risultati sperimentali [SpecInt95*s] Computational weight Parametro Job [s] Queuing mean time [] Total Jobs [SpecInt95] Average SpecInt95 Modello CE Modello CE e Modello Job: La Griglia è stata simulata con 9 CE. Parametri Addestramento Rete: Insieme Numero Esempi Numero Coppie Training 250 2000 Validation Test 1000 8000 2 di 6

Misure e risultati sperimentali Addestramento e Validazione NN_FF: Utente esperto simulato con: ciclo fine Addestramento Errore Quadratico medio Training Validation MCT 18 5.96E-3 1.30E-2 MET 22 3.26E-3 7.83E-3 OLB 44 5.79E-5 8.51E-4 Errore medio max(2.68E-3)<<0.4 Output non interpretabile della NN_FF 0.5 Errore critico (assoluto) 0.4 L’output della NN_FF è sempre interpretabile Verifica addestramento NN_FF: Utente esperto simulato con: Errore Testing Valore medio (assoluto) Standard deviation MCT 1.83E-3 1.81E-1 MET 2.68E-3 1.05E-1 OLB 3.93E-4 3.86E-2 3 di 6

Misure e risultati sperimentali Utente simulato con MCT. Utente simulato con MET. 4 di 6

valutazione complessiva del modello dell’utente . Misure e risultati sperimentali valutazione complessiva del modello dell’utente . Utente esperto simulato con: Parametri simulazioni Errore medio (valore assoluto) Numero CE Numero esempi MCT 10 1000 8.22E-3 15 2.08E-3 20 3.56E-3 MET 3.42E-3 1.95E-3 1.69E-3 L’errore del modello è dovuto a: Una non perfetta stima della metrica fc() ; Allo stato dei CE disponibili; 5 di 6

Misure e risultati sperimentali Valutazione complessiva del modello dell’utente. La griglia è stata simulata con 20 CE Utente simulato con l’algoritmo MCT. Utente simulato con l’algoritmo MET. 6 di 6

Architettura del Simulatore CL. Griglia; CL. Utente_Griglia ; CL. Rete_Neurale; CL. Simula_NeuralSlSr; CL. Gestore_Simulazioni; CL. clInsiemeEsempi. 1 di 2

Architettura del Simulatore 2 di 2

Conclusioni Sviluppi futuri Lo studio condotto ha dimostrato che: È possibile realizzare il modello dell’utente di Grid. mediante l’osservazione di esempi di selezione delle risorse; Le informazioni riguardano unicamente la stato delle risorse (CE) disponibili; Il modello è realizzato mediante l’uso combinato di una NN_FF e dell’algoritmo Bubble Sort arrestato al primo passo; L’adattabilità è garantita dalla rete neurale; La scalabilità è garantita dall’algoritmo Bubble Sort; Sviluppi futuri È necessario condurre ulteriori sperimentazioni utilizzando modelli dei CE e dei Job più complessi; È necessario verificare la disponibilità di esempi di selezione di utenti reali.