Valutazione prestazionale di un ... - unina.it

10
Valutazione prestazionale di un' implementazione di AMQP Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea Relatore Ch.mo prof. Domenico Cotroneo Correlatore Ing. Christiancarmine Esposito Candidato Stefano Scecchitano Matr. 534/1855 Valutazione prestazionale di un’ implementazione di AMQP Anno Accademico 2007/2008

Transcript of Valutazione prestazionale di un ... - unina.it

Page 1: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

tesi di laurea

RelatoreCh.mo prof. Domenico CotroneoCorrelatoreIng. Christiancarmine Esposito

CandidatoStefano ScecchitanoMatr. 534/1855

Valutazione prestazionale di un’ implementazione di AMQPAnno Accademico 2007/2008

Page 2: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

INTRODUZIONE (1/2)I sistemi mission critical di nuova generazione sono definiti come unafederazione di sistemi autonomi ed eterogenei.

Il paradigma publish/subscribe rappresenta uno standard de facto perl’interconnessione di sistemi su scala geografica, dal momento che offreproprietà di disaccoppiamento temporale, spaziale e di sincronia.

Attualmente sono disponibili varie soluzioni publish/subscribe, che sidifferenziano tra loro per soluzioni architetturali e garanzie di qualità delservizio.

Page 3: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

INTRODUZIONE (2/2)

I pattern di comunicazione delle soluzioni publish/subscribe :

• A CONNESSIONE DIRETTA: le applicazioni publisher comunicanodirettamente con le applicazioni subscriber. Tempi di distribuzione contenuti,ma availability del dato legato a quello del publisher.

• A CONNESSIONE INTERMEDIATA: tra le applicazioni publisher e subscriber siinterpone un broker. Il vantaggio è un maggiore disaccoppiamento e gestionetransazionale, ma anche latenze maggiori e possibili bottleneck dovuto albroker.

Page 4: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Data Distribution ServiceRappresenta un esempio di middleware publisher/subscriber a connessione diretta.

•“Publisher” e “Subscriber” sono elementi che attivamente inviano e ricevono messaggi, tipizzati per “Topic”.

•“DataWriter” e “DataReader” rappresentano degli elementi di accesso tipizzato agli elementi attivi.

•“Domain” partiziona il canale di invio dei messaggi.

Page 5: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

RTILa soluzione DDS offerta da RTI adotta un’architettura completamente decentralizzata:

• NDDS Library, che fornisce all’applicazionetutti i metodi che necessita;

• NDDS Database, che contiene la storia deimessaggi inviati e le informazioni dilocalizzazione di publishers e subscribers

• NDDS Tasks rappresentano i servizi diinvio/ricezione e detection.

Page 6: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Advanced Message Queuing ProtocolRappresenta un esempio di middleware publish/subscribe a connessione con broker.

“Message queue” memorizza imessaggi fino a quando possonoessere processati in tutta sicurezzadall’applicazione client interessata.

“Exchange” riceve i messaggi dalleapplicazioni sorgenti e li instrada versole apposite code.

“Binding” definisce la relazione tra lacoda dei messaggi e un exchange,offrendo il criterio di routing deimessaggi.

Page 7: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

QPIDE’ un middleware conforme alla specificaAMQP disponibile nell’incubatore diApache.

Per la realizzazione dell’applicazione clientsi avvale della tecnologia JMS, collocata amonte di uno strato che implementa leclassi AMQP.

Il broker, invece, è realizzato seguendo laspecifica AMQP, e l’elemento centrale èl’astrazione MessageStore che dà libertadi fornire diverse implementazioni (inmemoria, JDBC o DB di terze parti).

Page 8: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Valutazione prestazionaleÈ stato realizzato un benchmark di QPID‐AMQP.

Per l’analisi RTI‐DDS ci si è avvalso di un benchmark realizzato in unprecedente lavoro di tesi.

E’ stata condotta una campagna di test rivolta a confrontare i duemiddleware sulla base di Mediana e Distanza Interquartile dellemisure dei tempi di ciclo invio‐ricezione.

Sono state effettuate sei test secondo le seguenti dimensioni dimessaggio inviato:

256 byte, 512 byte, 1024 byte, 10K, 50K, 100K.

Le prestazioni sono state definite come Round Trip Time (RTT), tempointercorrente tra l’invio del messaggio e la ricezione della sua copia.

Page 9: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

RisultatiQPID offre tempi di RTT maggioririspetto a RTI. Ciò è dovuto allapresenza ,nel paradigma AMQP, delbroker. Mentre la connessione direttaofferta dal DDS abbatte i tempi diRTT.

QPID presenta valori minori diDistanza Interquartile e, quindi,offre maggiore prevedibilità diconsegna.

Page 10: Valutazione prestazionale di un ... - unina.it

Valutazione prestazionale di un' implementazione di AMQPFacoltà di IngegneriaCorso di Studi in Ingegneria Informatica

ConclusioniAMQP fornisce forti capacità di interoperabilità tra sistemieterogenei, sfruttando la caratteristica di intermediazione delbroker.

DDS offre un supporto più capillare alla customizzazione delleQualità‐del‐Servizio offerte dal middleware.

Dal punto di vista prestazionale la soluzione conforme ad AMQPrisulta più lenta a causa della connessione intermediata, mentrela soluzione DDS offre migliori prestazioni.