4.2. I test effettuati
4.2.2. Efficienza della discretizzazione dinamica
Dopo l’analisi del comportamento del sistema nel tempo, si è passati ad un insieme di test realizzati per confrontare la soluzione a discretizzazione dinamica, sviluppata in questo lavoro di tesi, con soluzioni a discretizzazione statica, già presenti in letteratura. Per poter confrontare i due tipi di soluzione, si è dovuto prima di tutto capire quali grandezze li accomunano: a differenza del nostro sistema, basato su discretizzazione dinamica dello spazio degli eventi, in un sistema a discretizzazione statica si ha semplicemente che lo spazio degli
Capitolo 4: Test e risultati sperimentali
eventi è interamente discretizzato, che tale discretizzazione non cambia nel tempo, e che ogni sottospazio è responsabilità di un nodo del sistema. Appare evidente quindi, che un buon indicatore per un test comparativo tra i due sistemi è il numero medio di sottospazi sottoscritti da ogni sottoscrittore, dato che esso corrisponde, nei sistemi statici, ad una misura delle risorse utilizzate. Inoltre, tale grandezza fornisce anche una misura del carico che il nostro sistema introduce nel sistema topic-based sottostante.
Una volta scelta la grandezza da monitorare, si è deciso di utilizzare come sistema statico il nostro stesso prototipo, settando come soglia di discretizzazione il valore 1 (cioè 100% di falsi positivi tollerati): in questo modo non si richiede mai la discretizzazione di un sottospazio, e viene disattivato il modulo che controlla la necessità di un livello di discretizzazione.
Per quanto riguarda il sistema dinamico, esso è stato testato al variare della percentuale di falsi positivi tollerati (r), utilizzando due cardinalità di discretizzazione diverse (K=4 e K=6), monitorando sempre il numero medio di sottospazi sottoscritti da ogni sottoscrittore
Invece, per il sistema statico, in cui non ha senso specificare la percentuale di falsi positivi tollerati dato che la discretizzazione non cambia, esso è stato testato mettendolo nelle condizioni di operare agli stessi livelli di qualità del sistema dinamico. In altre parole, per ogni valore v per il quale si è effettuato il test con il sistema dinamico (la percentuale di falsi tollerati), il sistema statico è stato testato creando manualmente una discretizzazione uniforme dell’intero spazio degli eventi (dato che a priori non si conoscono le distribuzioni delle sottoscrizioni e degli eventi è necessariamente uniforme), tale da consentire al sistema di mantenere la percentuale di falsi positivi notificati al di sotto di v. Riassumendo, in questo test si è misurato quindi il numero medio di sottospazi sottoscritti da ogni sottoscrittore al variare della percentuale di falsi positivi tollerati, il che significa, per il sistema statico, effettuare la misurazione dopo aver creato, per ogni valore del test, una discretizzazione uniforme dello spazio
Capitolo 4: Test e risultati sperimentali
degli eventi che garantisce tale valore. Il risultato dei test è mostrato nel grafico seguente:
Come si può notare dal grafico, per valori bassi della percentuale (cioè per qualità richieste elevate), il sistema statico utilizza molti più sottospazi del sistema dinamico. Questo risultato si spiega considerando che per raggiungere gli stessi livelli di qualità del sistema dinamico, quello statico ha bisogno di una discretizzazione molto fitta e, a differenza del dinamico che crea granularità fine solo quando e dove è necessaria (vicino alle sottoscrizioni), il sistema statico è caratterizzato da una discretizzazione uniforme, cioè con granularità uguale sull’intero spazio degli eventi. Questo implica, per il sistema statico, un elevato numero di sottospazi ed un’alta probabilit{ che una sottoscrizione sia coperta da più sottospazi.
Un secondo risultato interessante che si legge dal grafico precedente è l’inversione delle prestazioni che si ottiene per percentuali alte (qualit{ richieste basse): dato che il sistema dinamico è legato al parametro K, esso comunque crea un numero minimo di sottospazi, mentre il sistema statico riesce a garantire gli stessi livelli di qualità utilizzando una discretizzazione uniforme meno granulare.
Capitolo 4: Test e risultati sperimentali
Un ultimo interessante risultato da analizzare riguarda la relazione tra il valore misurato in questo test, e la cardinalit{ della discretizzazione K. All’aumentare di K, chiaramente aumenta il numero di sottospazi generati dal sistema dinamico, e questo implica tempi di transitorio più brevi, come visto con i test precedenti, ma anche un incremento della probabilità che una sottoscrizione sia coperta da più sottospazi. Quindi, come possiamo vedere dall’ultimo grafico, all’aumentare di K, diminuisce l’efficienza del sistema dinamico, in quanto aumenta il numero medio di topic sottoscritti.
Infine, si può concludere questa importante analisi affermando quindi che valori bassi di K massimizzano l’efficienza del sistema ma rendono il transitorio più lento, il che implica un numero maggiore di falsi positivi ricevuti; al contrario, valori alti di K rendono veloce il transitorio, quindi un numero minore di falsi positivi ricevuti, ma riducono l’efficienza del sistema dinamico. Ne segue che, scelta la percentuale di falsi positivi tollerati, questa analisi aiuta a determinare il valore ottimale di K: se si vuole un valore basso della percentuale (cioè qualità elevata), come è più probabile che sia, il valore di K può anche essere scelto grande in modo da minimizzare i transitori, anche se questo implica utilizzare un numero maggiore di topic (numero che comunque rimane inferiore rispetto al sistema statico). Se invece ci si accontenta di percentuali maggiori (qualità inferiore), allora per continuare ad avere senso il sistema dinamico, il valore di K deve rimanere basso, in modo da non arrivare al punto di inversione di prestazioni tra statico e dinamico.
Capitolo 4: Test e risultati sperimentali