Akka e le architetture ad Attori

akkaNel 2000 mi sono laureato in ingegneria informatica con una tesi sulla realizzazione di un sistema di teleconferenza, in cui il livello di qualità del servizio era basato su un modello architetturale ad Attori

I modelli ad attori sono sistemi per modellare applicazioni multithread in maniera diversa rispetto a quanto normalmente succede con l’uso dei Thread.

Nel sistema di videoconf scopo della tesi, gli Attori erano responsabili delle operazioni di invio e ricezione dei flussi, di compressione/decompressione, e dei processi di sincronizzazione tra audio e video (detto anche lip sync, ovvero di sincronizzazione tra movimento delle labbra e audio)

L’elemento particolare di questa tecnica di progettazione è che l’architettura nasce nativamente per la gestione della concorrenza: l’applicazione non deve conoscere il concetto di Thread tipico del software del lvello più basso, ma può essere modellata con un paradigma di più altpo livello; inoltre gli attori sono gli elementi che compiono azioni, ogni attore è specializzato per la sua azione, lavora in maniera indipendente  e in parallelo agli altri attori e comunica con gli altri tramite scambio di messaggi (message-passing).

Maggiori informazioni sono disponibili qui su Wikipedia.

La modellazione ad attori risale addirittura al 1973 (40 anni fa), è stata abbastanza usata in diversi ambiti informatici senza grossi clamori, ma di recente, grazie all’esplosione del cloud computing sta ritrovando una nuova vita; gli attori, infatti, sono in grado di distriuirsi senza problemi su vari nodi e quindi facilitano molto il calcolo distribuito; grazie a questo stanno proliferando diversi ambiti commerciali in cui questo paradigma sta trovando una rinnovata linfa.

Akka è un framework che permette in maniera molto semplice e intuitiva di modellare una applicazione ad Attori, e rappresenta il primo framework completo, affidabile, scalabile e open source usabile anche in applicazioni “normali”

Di seguito una presentazione che spiega un po’ le caratteristiche del modello ad attori e del framework Akka, framework da tenere sicuramente d’occhio per le future applicazioni

http://www.infoq.com/presentations/Scalability-Akka

Questa voce è stata pubblicata in Uncategorized. Contrassegna il permalink.

Rispondi