• Non ci sono risultati.

Predizione short-range di traffico e utilizzo di CPU di un router

Nel capitolo precedente si è modellizzata la relazione esistente tra traffico in ingresso ad un router e conseguente utilizzo di CPU. L’obiettivo di questo capitolo è invece, usando il modello ricavato, la predizione della CPU per un orizzonte temporale breve (short-range).

Una possibile applicazione per i risultati di questo capitolo è il “load balancing” delle risorse all’interno di una server farm [18]: una server farm consiste in un insieme di server, non visibili dalla rete pubblica, che condividono gli stessi contenuti e su cui sono installate le stesse applicazioni. Dalla rete pubblica un client non si connette al singolo server, non essendo visibile, ma all’applicazione, per esempio per richiedere contenuti, salvare informazioni o rielaborare dati. Se si immagina quindi di avere un insieme di server che hanno come compito il soddisfare richieste di informazioni provenienti dall’esterno attraverso la rete internet, l’obiettivo è il dare risposta a tutte le domande nel minor tempo possibile.

Per far ciò è importante che le richieste siano equamente ripartite tra tutti i server disponibili. In un caso ideale in cui tutti i server sono identici basterebbe assegnare a tutti i server lo stesso carico di lavoro; in realtà difficilmente le macchine presentano le stesse caratteristiche. Per poter garantire un servizio efficiente si ha quindi bisogno di ripartire il carico in modo che l’utilizzo delle risorse di ciascuna macchina sia bilanciato, dando un numero maggiore di richieste ai server più liberi in un dato momento. Si può quindi capire come l’importanza della predizione entro un lasso temporale di qualche minuto acquisti peso: ciò che conta in questo caso non è il trend caratterizzante l’occupazione di CPU, quanto il suo valore puntale; potrebbe essere ad esempio vantaggioso attribuire momentaneamente maggior carico di lavoro ad un server che mostra un trend in salita, ma che momentaneamente presenta bassa utilizzazione, piuttosto che ad un secondo server con una media di utilizzo bassa ma che in un dato momento presenta un picco di lavoro dovuto ad una particolare richiesta.

Un secondo ambito in cui una predizione a breve termine può risultare utile è il rilevamento di attacchi telematici alla rete presa in esame: un possibile metodo con cui una rete può essere attaccata consiste nel richiedere una quantità molto elevata di informazioni (nel caso di una server farm) o nel “bombardamento” del device attraverso un numero di pacchetti sufficientemente alto da portarlo ad un sovraccarico e a farlo congestionare (nel caso di un router). Dal momento che in genere tali attacchi generano un aumento del traffico e di conseguenza della CPU con trend di

salita molto elevati, avere a disposizione la previsione dell’andamento per 10-15 minuti permette di avere un riferimento con cui confrontare l’andamento reale del segnale: in caso di una differenza marcata tra predizione e dati reali, in cui quest’ultimi presentano trend di salita molto superiori a ciò che si era predetto, si può concludere che sia in atto un attacco alla rete, allertando quindi in anticipo gli operatori e permettendo di agire tempestivamente per cercare di riportare i valori di traffico e CPU a livelli accettabili.

Come nel capitolo precedente i dati utilizzati provengono dalla rete Acme. Sono disponibili dati per un totale di 4 settimane di traffico e CPU, di cui le prime 3 vengono usate per l’identificazione del modello, l’ultima sia per la validazione che per la predizione. Il tempo di campionamento con cui i dati sono stati raccolti è pari a 1 minuto, dal momento che l’obiettivo è prevedere l’andamento di traffico e successivamente CPU nell’immediato futuro.

All’interno del capitolo vengono usati una gamma modelli diversi, con lo scopo di individuare quale, tra le diverse tipologie, sia quella più indicata a modellizzare le dinamiche assunte dal traffico.

I modelli utilizzati sono:

 un modello ARMA: tale modello non viene solitamente utilizzato, in quanto il traffico risulta essere un segnale non stazionario; tuttavia, individuando trend e stagionalità come avvenuto nel capitolo precedente, è possibile ricondursi ad un segnale stazionario e quindi poter impiegare un modello ARMA.

 Un modello ARIMA, utilizzato frequentemente in letteratura per poter prevedere l’andamento del traffico in una rete.

 Il modello di Holt-Winters, dal momento che, rispetto ai due modelli precedentemente considerati, presenta il vantaggio di poter aggiornare la stagionalità ed il trend in modo automatizzato.

Per ognuno di essi si divide la trattazione in 3 parti: la prima, in cui si identifica un modello in grado di caratterizzare adeguatamente l’andamento del traffico; la seconda, che ha come obiettivo la creazione di un predittore per il traffico a partire dal modello individuato; infine la terza in cui, sfruttando la relazione traffico-CPU del capitolo precedente, si ottiene la predizione dell’utilizzo di CPU.

60 Predizione short-range di traffico e utilizzo di CPU di un router

3.1 Modello arma

3.1.1 Identificazione del modello

Il primo modello preso in considerazione è un modello ARMA.

Si considera il traffico nella sua sola componente depurata da trend e stagionalità ( ), ricavata come nel precedente capitolo; una volta identificato il modello quest’ultime saranno risommate in modo da ottenere un segnale che verrà confrontato con il segnale totale . In figura 3.1 è mostrato il traffico depurato ( ):

Figura 3.1: andamento assunto dal traffico in ingresso depurato da trend e stagionalità considerando il set di identificazione (3 settimane)

L’equazione caratterizzante un modello arma è la seguente:

( ) ( ) = ( ) ( )

Di cui si devono identificare: (grado del polinomio , parte auto-regressiva del modello), (grado del polinomio , parte a media mobile) e i parametri dei due polinomi.

Per prima cosa si determina l’ordine del modello, per far questo si procede nel seguente modo: -si considerano diverse cifre di merito (Loss function, AIC, FPE (come definiti in [3], [19], [20]) e la cifra di merito definita nel capitolo precedente) che forniscano indicazioni sul fitting del modello di volta in volta considerato.

-si ricavano le mappe di poli e zeri per ogni ordine considerato.

-si studia la funzione di trasferimento di ogni modello, paragonandola a quella ricavata a partire dai dati. 0 0.5 1 1.5 2 2.5 3 3.5 x 104 -10 -5 0 5 10 tempo (min) tr a ff ic o ( M b /s )