• Non ci sono risultati.

Confronto tra middleware

Nel seguente paragrafo verr`a effettuato un confronto tra i risultati ottenuti con il software ORTE e quelli ottenuti con RTI DDS. Tale confronto riguarder`a tutte le metriche stimate nei test e per valutare al meglio i risultati si analizzeranno separatamente i risultati del throughput in trasmissione e in ricezione.

Figura 7.1: Confronto del throughput in trasmissione su scala nazionale, con comunicazioni best-effort, tra RTI DDS e ORTE.

In figura 7.1 `e riportato il confronto del throughput in trasmissione con comunicazioni best-effort su scala nazionale, emerge una capacit`a trasmissiva del software RTI DDS doppia rispetto al software ORTE. Per valutare l’efficienza occorre analizzare il throughput in ricezione, in figura 7.2 `e raffigurato tale confronto; nella figura emerge chiaramente che il software RTI DDS oltre ad inviare dati ad un rate maggiore riesce ad avere una superiore capacit`a in ricezione. Da

Figura 7.2: Confronto del throughput in ricezione su scala nazionale, con comunicazioni best-effort, tra RTI DDS e ORTE.

Figura 7.3: Confronto del throughput in trasmissione su scala europea, con comunicazioni best-effort, tra RTI DDS e ORTE.

91

Figura 7.4: Confronto del throughput in ricezione su scala europea, con comunicazioni best-effort, tra RTI DDS e ORTE.

questi dati si pu`o dedurre che il software RTI DDS `e in grado di fornire una distribuzione dei dati efficiente in un ambiente caratterizzato da pochi nodi. ORTE a fronte di un throughput in trasmissione con valori circa la met`a di RTI DDS, fornisce valori in ricezione anche essi dimezzati. Ci`o dimostra che ORTE `e meno efficiente di RTI DDS in ambienti caratterizzati da pochi nodi nella rete.

Per valutare la scalabilit`a dei prodotti software osserviamo i risultati su scala europea, il confronto `e riportato nelle figure 7.3 e 7.4. Nella figura 7.3 si pu`o osservare come ORTE sia apparentemente in grado di inviare pi`u informazioni di RTI DDS, ribaltando i risultati ottenuti su scala nazionale. Questa differenza mette in luce le differenze esistenti tra le implementazioni dei due middleware, infatti ORTE non risente del diverso numero di nodi impiegati nel test, a differenza di RTI DDS che registra un calo del throughput proporzionale al numero di nodi interessati. Ci`o fa sospettare che RTI DDS esegua una divisione di banda tra tutti i subscri-ber interessati nella comunicazione, questo giustifica i problemi di scalabilit`a gi`a registrati nel capitolo 4; tali problemi sono aggravati dal fatto che il software `e stato progettato per lavorare in ambiente LAN in modo efficiente, quindi si presuppone che al suo interno contenga soluzioni ad-hoc che permettono di eseguire uno scambio di informazioni efficiente sfruttando tutte le caratteristiche di una rete LAN, e quindi per tale motivo, il software risulta poco adattabile ad un ambiente WAN nel quale non si hanno latenze prevedibili. Per verificare se ORTE effetti-vamente sia pi`u efficiente di RTI DDS osserviamo il throughput in ricezione, figura 7.4; nella figura si pu`o osservare come RTI DDS abbia un throughput in ricezione maggiore. Il fatto che ORTE abbia un throughput in trasmissione che non risente del numero di nodi interessato, e un throughput in ricezione influenzato da tale parametro porta alla deduzione che il middleware ORTE prenda in input gli eventi da inviare e poi il livello di trasporto non riesca ad inviare tali dati a tutti i subscriber interessati. Infatti la capacit`a in ricezione dei due middleware `e

Figura 7.5: Confronto del throughput in trasmissione con comunicazioni reliable, su scala nazionale.

93

Figura 7.7: Confronto del throughput in trasmissione con comuncazione reliable, su scala europea.

pressoche simile, in quanto limitata dalla banda finica del nodo utilizzato come publisher. Per quanto riguarda i risultati con comunicazioni reliable, in figura 7.5 viene riportato l’an-damento del throughput in trasmissione; si ha un risultato migliore di RTI DDS, il quale riesce a trasmettere circa sei volte pi`u informazione trasmessa da ORTE, questo risultato in parte `e dovuto alla maggiore capacit`a trasmisiva di RTI ed in parte all’insieme di QoS implementate in RTI e non in ORTE. Per verificare l’effettiva efficienza di RTI occorre analizzare i valori in ricezione, i quali sono raffigurati in 7.6. Nel grafico si osserva la differenza sciacciante di RTI DDS nei confronti di ORTE. Infatti ORTE ha in ricezione dei valori bassissimi confrontati a quelli di RTI. Ci`o dimostra che allo stato attuale il protocollo RTPS implementato da RTI `e molto pi`u efficiente rispetto a quello implementato da ORTE.

I confronti su scala europea sono raffigurati in figura 7.7 e 7.8. Per ci`o che riguarda il throughput in trasmissione su scala europea si hanno risultati migliori con ORTI nonostante ORTE in modalit`a best-effort risultasse pi`u scalabile. Osservando i valori del throughput in ricezione figura 7.8 si ha anche qui un risultato sciacciante di RTI su ORTE. Osservando tali risultati si nota come ORTE non sia stato ben sviluppato e poco adatto ad un ambiente WAN con comunicazioni reliable.

7.1 Conclusioni

Il crescente interesse in ambito commerciale per le applicazioni che permettono una distribu-zione delle informazioni su sistemi distribuiti in LAN, in grado di fornire soluzioni scalabili per sistemi real-time ha portato alla creazione di diversi prodotti software. L’unico modello di comunicazione in grado di essere scalabile `e il modello Publish/Subscriber, per adattare tale modello alle applicazioni real-time `e stato sviluppato un protocollo di comunicazione noto come RTPS (Real-Time Publish/Subscribe). Questo protocollo non `e in grado di fornire una comu-nicazione che implementi molte qualit`a del servizio, `e grado di fornire un controllo sulle risorse utilizzate nella comunicazione, `e tollerante ai fallimenti e permette controllare il livello di affi-dabilit`a del protocollo implementato. Vista la difficolt`a nel produrre software che implementi molte qualit`a del servizio offerto, l’OMG (Object Management Group) ha deciso di creare uno standard in grado di garantire un modello di comunicazione di tipo Publish/Subscriber in cui lo scambio di informazione `e di tipo Data-Centric con un’insieme ampio di qualit`a del servizio supportate. Questo standard `e stato adottato da molte aziende.

L’attuale interesse del mercato `e capire se le soluzioni attualmente sviluppate sono adatte ad un ambiente WAN.

L’obiettivo di questa tesi `e stato lo studio di due prodotti software: RTI DDS e ORTE sviluppato all’interno del progetto europeo OCERA; in ambiente WAN.

RTI DDS implementa lo standard DDS, mentre ORTE implementa il protocollo RTPS. Il contributo di questa tesi `e stato quello di effettuare un’analisi della metrica del throughput in WAN, con una tipologia di rete formata da un publisher e N subscriber. L’attivit`a svolta `e:

• Porting delle applicazioni su WAN; • Definizione ambiente di testing; • Valutazione delle performance; • Analisi dei risultati;

Per effettuare un’analisi su rete WAN `e stata utilizata la rete PlanetLab, una piattaforma per il test di applicazioni distribuite. Questa piattaforma permette agli utenti di accedere su ogni

7.1. CONCLUSIONI 95

nodo ad una macchina virtuale, dotata di un sistema operativo minimo, di risorse di memoria, calcolo e banda limitate, questa carateristica ha influenzato questa fase di lavoro. Infatti questa attivit`a ha richiesto l’istallazione del software sui vari nodi della rete e la selezione di un insieme minimo di librerie di sistema necessarie per l’utilizzo di tali software. Inoltre durante il periodo di test la rete `e stata oggetto di aggiornamento del sistema operativo installato sulle macchine virtuali, questa attivit`a ha reso questa fase pi`u lunga del previsto. L’utilizzo di PlanetLab non si `e rilevato particolarmente difficile.

Dopo l’istallazione del software sui nodi della rete, `e stata effettuata la scrittura del pro-gramma di test, in seguito `e stata intrapresa un’attivit`a di test per definire gli ambienti di testing. L’attivit`a di test ha richiesto molto tempo per il middleware RTI DDS, visto che al suo interno permette di controllare ben 22 parametri. Tali parametri sono stretamente legati ai nodi utilizzati,e l’instabilit`a della rete in questa fase ha causato molti problemi. L’ utiliz-zo del middleware RTI DDS non `e stato facile, infatti questo software presenta un’insieme di API molto vasto e la documentazione disponibile non fornisce una descrizione esauriente di tali funzioni, inoltre i parametri molto spesso contengono vincoli che li legano tra di loro, e anche questi non sono ben documentati. La stesura di un programma efficiente ha richiesto uno studio approfondito di tutte le API e i parametri disponibili, una fase di test per riuscire a valutare l’effettivo impatto di tali parametri sulla metrica misurata. Per ci`o che riguarda il software ORTE, questa attivit`a `e risultata molto pi`u semplice in quanto i parametri sono 8, e le API fornite sono minori. L’unico aspetto che ha creato problemi `e stato l’assenza della gestione del plugin dei messaggi da parte di ORTE, quindi il programma generato ha dovuto includere la gestione di questo aspetto al suo interno. ORTE non presenta un manuale, ma solo un bruto elenco delle API fornite, per riuscire ad avere una panoramica pi`u chiara delle funzionalit`a si `e dovuto ricorrere ad un’analisi dei file sorgenti del softwate, tali file sono disponibili perch`e il software `e open source. Per valutare la scalabilit`a si `e deciso di valutare le performance su due scale geografiche, quella nazionale e quella europea, con un numero di nodi subscriber rispettivamente di 2 e 20.

La valutazione delle performance ha richiesto una attivit`a di ricerca del nodo publisher, il quale deve far si che il i parametri misurati nella fase di test siano limitati solo dai limiti del software e non da limiti legati ad altri fattori come risorse di calcolo e momoria disponibile. I nodi subscriber sono stati selezionati tra quelli in grado di ricevere eventi di dimensioni variabile tra 16 byte e 131072 byte. Per permettere una valutazione indipendente dal traffico della rete, sono stati fatti sei test per ogni scenario definito, tali test sono stati effettuati in sei momenti diversi del giorno. Nella fase di test il middleware RTI DDS si `e rilevato particolarmente stabile, non presentando anomalie di funzionamento. Il software ORTE ha presentato una fase di test molto pi`u laboriosa in quanto le API fornite non hanno permesso di scrivere un programma di test in grado di fare pi`u prove in una singola esecuzione del programma.

La fase di analisi dei risultati ottenuti ha portato ad ottenere i grafici riportati nella tesi, tali grafici sono stati utilizati per osservare in che modo si sono comportati i middleware in un ambiente WAN e per capire le soluzioni implementate all’interno di tali software. L’ana-lisi ha evidenziato che entrambi i middleware presentano problemi di scalabilit`a in ambiente WAN; il software ORTE nasconde molto bene questa problematica, in quanto la manifesta solo sulla metrica del throughput in ricezione, mentre RTI DDS manifesta questo aspetto anche in trasmissione.

Dai risultati ottenuti si pu`o tentare di fare una ricostruzione di come i middleware siano implementati, vedendo tali middleware come delle scatole chiuse. Il middleware RTI DDS esegue un invio sincrono, con divisione della banda tra tutti i partecipanti, ci`o giustifica il calo di prestazioni misurato sul throughput in trasmissione e ricezione; il software ORTE implementa

un invio asincrono dal lato publisher, ci`o giustifica l’assenza di calo delle performance nel throughput in trasmissione, tale invio viene poi implementato come un invio sincrono e quindi si registra un calo in ricezione su scala europea.

Questi problemi derivano dall’impossibilit`a di usare un multicast fisico, infatti in LAN si utilizza il multicast fisico per riuscire ad ottenere prestazioni migliori. In WAN non `e possibile utilizzare questa primitiva quindi il fatto di dover ricorrere ad un invio punto-punto rende queste soluzioni non scalabili in ambiente WAN.

Per cercare di migliorare le performance di questi prodotti software in WAN occorre utilizare una rete sottostante in grado di implementare un invio molto simile al multicast, nel quale non `e il nodo publisher a dover inviare fisicamente l’evento generato a tutti i subscriber interessati, ma solo ad un certo numero di nodi, i quali poi si occuperanno di re-inviare tale evento ad altri nodi della rete, fini ad avere una ricezione da parte di tutti i subscriber.

Uno sviluppo futuro di questa tesi `e rappresentato dalla ricerca di un’overlay network in grado di ricevere in ingresso un evento, consegnarlo a tutti i nodi interessati; cercando di ottimizzare la banda disponibile, l’over heard dei messaggi scambiati al crescere dei nodi della rete, auto configurante, tollerante ai guasti ed in grado di controllare le risorse di memoria utilizzate. Una volta definita la struttura dell’overlay network, scrivere un programma cha la implementi, tale programma potr`a essere scritto con il middleware RTI DDS e ORTE, ed effettuare dei test in WAN sulla rete di PlanetLab. Questi test dovranno testare la stabilit`a della rete progettata in presenza di fallimenti dei nodi utilizzati, latenze imprevedibili , numero dei nodi interessati elevato, dimensione degli eventi inviati variabile e frequenza di invio variabile. Solo dopo aver trovato un programma stabile in grado di far funzionare questa overlay network in WAN si potranno valutare le metriche del throughput e della latenza, con diverse configurazioni della rete che possono essere 1 publisher e N subscriber; N publisher e N sub-scriber. In base hai risultati ottenuti valutare i benefici ottenuti tramite l’uso di una overlay network, cercando di trovare delle soluzioni sempre pi`u efficienti in WAN.

Bibliografia

[1] Object Management Group. CORBA event service specification, version 1.1. OMG Document formal/2000-03-01, 2001.

[2] Object Management Group. CORBA notification service specification, version 1.1. OMG Document formal/2002-08-04, 2002.

[3] Sun Microsystems Inc. Java messagge serviceapi rev 1.1, 2002.

[4] Object Management Group. Data distribution service for real-time systems specification, 2002.

[5] Real Time Innovation, http//:www.rti.com

[6] Ocera Orte, http//:www.ocera.org/download/components/WP7/orte-0.3.1.html [7] PlanetLab Consortium, http//:www.planet-lab.org/

[8] ACM Computing Surveys, Vol 35, No. 2, June 2003.

[9] Birrell, A. D. and Nelson, B. J.: Implementing remote procedure calls. In: Proceedings of the ACM Symposium on Operating System Principles (Bretton Woods, NH). ACM Press, New York, NY, 3.

[10] Tay, B. H. and Ananda, A. L.: A survery of remote procedure calls. ACM Operat. Syst. Rev. 24,3 (July), 68-79.

[11] Sun. 2000. Java Remote Method Invocation Specification. Sun Microsystems, Santa Clara, CA.

[12] The Common Object Request Broker: Core Specification. Object Management Group, Needham, MA.

[13] Yonezawa, A., Shibayama, E., Takada, T., and Honda, Y.: Modeling and programming in an object-oriented concurrent language ABCL/1. In: Object-Oriented Concurrent Pro-gramming, A. Yonezawa, J. P. Briot, and E. Shiboyama, Eds. MIT Press, Cambridge, MA, Chap. 4, pp. 55-89.

[14] Ananda, A., Tay, B., and Koch, K.: A survey of asynchronous remote procedure calls. ACM Operat. Syst. Rev. 26, 2 (July), 92-109.

[15] Wessels, D.: Intelligent caching for worldwide-web objects. In: Proceedings of INET’95 (Honolulu, HI).

[16] Li, K., and Hudak, P.: Memory coherence in shared memory systems. ACM Trans. Comput. Syst. 7, 4 (Nov.), 321-359.

[17] Tam, M., Smith, J., and Farber, D.: A taxonomy-based comparison of several distributed shared memory systems. ACM Operat. Syst. Rev. 24, 3 (July), 40-67.

[18] Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7, 80-112.

[19] Blakeley, B., Harris, H., and Lewis, J: Messaging and Queuing Using the MQI. McGrawHill, New York, NY.

[20] R. Baldoni, R. Beraldi, S. Tucci Piergiovanni, and A. Virgillito: Measuring notifi-cation loss in publish/subscribe communinotifi-cation systems. In: Proceedings of the 10th International Symposium Pacific Rim Dependable Computing (PRDC ’05), 2004. [21] I. Dionysiou, D. Frincke, D. E. Bakken, and C. Hauser. Actor-oriented trust. Technical

Re-port EECS-GS-006, School of Electrical Engineering and Computer Science, Washington State University, WA, USA, 2005.

[22] L. Fiege, A. Zeidler, A. Buchmann , R. Kiliam-Kehr, and G. Muhl: Security aspects in pu-blish/subscribe systems. In: Proceeding of the 3rd International Workshop on Distributed Event-Based Systems, 2004.

[23] Oki, B., Pfluegel, M., Siegel, A., Skeen, D.: The information bus - an architecture for extensive distributed system. In: Proceedings of the 1993 ACM Symposium on Operating Systems Principles. December 1993.

[24] Baehni, S., Eugster, P.T., Guerraoui, R.: Data-aware multicast. In: Proceedings of the 2004 International Conference on Dependable Systems and Networks (DSN 2004). (2004) 233-242.

[25] Segall, B., Arnold, D., J., Henderson, M., Phelps, T.: Content Based Routing with Elvin4. In: Proceedings of AUUG2K, Canberra, Australia. (June 2000).

[26] Fabret, F., Jacobsen, A., Lirbat, F., Pereira, J., Ross, K., Shasha, D.: Filtering algorithms and implementation for very fast publish/subscribe. In: Proceedings of the 20th Intl. Conference on Management of Data (SIGMOD 2001). (2001) 115-126.

[27] Muhl, G.: Generic Constraints for Content-Based Publish/Subscribe. In: Proceedings of the 6th International Conference on Cooperative Information Systems (CoopIS). (2001). [28] Eugster, P., Guerraoui, R., Damm, C.: On Objects and Events. In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA). (2001).

[29] Eugster, P.: Type-based publish/subscribe. PhD thesis, EPFL (2001).

[30] Cilia, M.: An Active Functionality Service for Open Distributed Heterogeneous En-vironments. PhD Thesis, Department of Computer Science, Darmstadt University of Technology (2002).

[31] Fiege, L., G¨artner, F.C., Kasten, O., Zeidler, A.: Supporting mobility in content-based publish/subscribe middleware. In: ACM/IFIP/USENIX International Middleware Conference (Middleware 2003). (2003) 103-122.

BIBLIOGRAFIA 99

[32] Cugola, G., de Cote, J.E.M.: On introducing location awareness in publish-subscribe middleware. In: Proceeding of the International Workshop on Distributed Event-Based Systems (ICDCS/DEBS’05). (2005).

[33] Diot, C., Levine, B., Lyles, B., Kassem, H., Balensiefen, D.: Deployment issues for the ip multicast service. IEEE Network Magaziene, special issue on Multicasting (2000). [34] Shi, Y.S.: Design of Overlay Networks for Internet Multicast. D.Sc. thesis, Washington

University (2002).

[35] Haung, Y., Garcia-Molina, H.: Publish/Subscribe in a Mobile Environment. In: Pro-ceedings of the 2cd ACM International Workshop on Data Engineering for Wireless and Mobile Access (MobiDE). (2001)

[36] Anceaume, E., Datta, A.K., Gradinariu, M., Simon, G.: Publish/Subscribe scheme for mobile networks. In: Proceeding of the 2002 Workshop on Principles of Mobile Computing (POMC 2002). (2002) 74-81.

[37] Caporuscio, M., Carzaniga, A., Wolf, A.L.: Design and evalutation of a support ser-vice for mobile, wireless publish/subscribe applications. IEEE Transaction on Software Engineering 29 (2003) 1059-1071.

[38] Muthusamy, V., Petrovic, M., Jacobsen, H.A.: Effects of routing computations in content-based routing network with mobile data sources. In: Proceedings of the 11th annual international conference on Mobile computing and networking (MobiCom ’05). (2005) 103-116.

[39] Wang, Y., Qiu, L., Achlioptas, D., Das, G., Larson, P., Wang, H.J.: Subscription Partitio-ning and Routing in Content-based Publish/Subscribe Networks. In: 16th International Symposium on Distributed Computing (DISC’02). (October 2002).

[40] Bhola, S., Strom, R., Bagchi, S., Zhao, Y., Auerbach, J.: Exactly-once Delivery in a Content-based Publish-Subscriber System. In: Proceedings of the International Conference on Dependable Systems and Networks. (2002).

[41] Carzaniga, A., Rosenblum, D., Wolf, A.: Design and Evalutation of a Wide-Area Notification Service. In: ACM Transactions on Computer Systems 3. (Aug 2001) 332-383. [42] Rowstron, A., Druschel, P.: Pastry: Scalable, decentralized object location, and rou-ting for large-scale peer-to-peer system. In: IFIP/ACM International Conference on Distributed Systems Platforms (Middleware 2001). (2001) 329-350.

[43] Stoica, I., Morris, R., Karger, D., Kaashoek, M.F., Balakrishnan, H.: Chord: A scalable peer-to-peer lookup service for internet applications. In: Proceedings of ACM SIGCOMM. (2001).

[44] Ratnasamy, S., Handley, M., Karp, R., Shenker, S.: Application-level multicast using content-addressable networks. Lecture Notes in Computer Science 2233 (2001) 14-34. [45] Baldoni, R., Beraldi, R., Cugola, G., Migliavacca, M., Querzoni, L.: Structure-less

Content-Based Routing in Mobile Ad Hoc Networks. In: In Proceedings of the Inter-national Conference on Pervasive Services (ICPS ’05), Santorini, Greece, July 2005. (2005).

[46] Carzaniga, a., Rutherford, M.J., Wolf, A.L.: A routing scheme for content-based networking. In: Proceeding of IEEE INFOCOM 2004. (2005)

[47] Bittner, S., Hinze, A.: A classification of filtering algorithms in content-based publish/subscribe system. In: Proceeding of COOPIS 2005. (2005).

[48] Baldoni, R., Marchetti, C., Virgillito, A., Vitenberg, R.: Content-based publish-subscribe over structured overlay networks. In: International Conference on Distributed Computing Systems (ICDCS 2005). (2205).

[49] Birman, K.P., Hayden, M., Ozkasap, O., Xiao, Z., Budiu, M., Minsky, Y.: Bimodal multicast. In: ACM Transaction on Computer Systems (TOCS) 17 (1999) 41-88. [50] Alonso, G., Casati, F., Kuno, H., Machiraju, V., Web Services, Concepts, Architectures

and Applications. ISBN 3-540-44008-9 Springer. 29-64

[51] White B., Lepreau J., Stoller L., Ricci L., Guruprasad S., Newbold M., Hibler M., Barb C., and Joglekar A.: An Integrated Experimental Environment for Distributed Systems and Networks. In: Proceedings of the 5th Symposium on Operating System Design and Implementation (OSDI), Boston, MA, December 2002.

[52] Internet2. http://www.internet2.edu [53] Grid. http://www.globus.org

[54] Touch J. and Hotz S.: The X-Bone. In: Proceedings of the Third Global Internet Mini-Conference at Globecom ’98, pages 75-83, Sydney, Australia, November 1998.

Documenti correlati