6.4 Benchmarking the Cache
6.4.4 Average Processing Time
Figure 6.17 shows how long it takes the cache to handle an event on average. This is the total amount of time it takes to take an event from the receive queue, convert it to a cached event, and finally offering it to every transmission queue3.
Figure 6.17: Average event processing time inside the cache.
3
Chapter 7
Conclusion and Future Work
SDN-based content-routing networks require new solutions for problems already solved or not even existing in traditional, broker-based systems. This thesis presented a solution for controlling event-rates in a SDN- and contend-based publish/subscribe systems. For this, a caching mechanism was implemented - caches are hosts which use the semantic of the underlying content-based network to subscribe to content that they aim to provide caching for. In case of an overload of a subscriber in the network, the cache will temporarily store the events intended for the subscriber. Said subscriber will suspend its original subscription until further notice. Now, the cache will transmit the events at a controlled rate to said subscriber. Finally, the subscriber will resume its original subscription. The infrastructure necessary for controlling the behavior of the caches and subscribers were implemented. This infrastructure was used to implement a centralized control module working at the SDN-controller which orchestrates the actions of all caches and subscribers and monitors their current status. In order to decide on when a subscriber should be cached, three mechanisms were discussed to detect overload situations, of which one was used in the implementation of the caching mechanism. Furthermore, an algorithm was proposed and implemented which is aimed at finding good positions to place caches in the network according to various properties known about this network.
Two sets of evaluations were conducted. The first set of evaluations intends to provide a general understanding of how a cache will affect the runtime dynamics of a publish/subscribe system. This primarily isolated effects caching has on latency and event loss. The goal of the second set of evaluations was to find out how many subscribers a cache can handle and how the amount of subscribers affect the performance of said cache.
Since the implemented caching mechanism is the first of its kind for SDN- and content-based publish/subscribe, a critical look at the concept of the caching mechanism itself and the results of the evaluation are necessary.
In general, controlling event rates in SDN-based content-routing networks is definitely possi- ble. There is a lot of room for improvements, which may be addressed in future work. For once, event loss could be further minimized by using a more sophisticated synchronization mechanism for subscribers to switch to and from caching. Also, the cache could keep a fixed amount of events so that every lost event can be retransmitted even if the caching started after a subscriber experienced event loss.
Also, one of the biggest restrictions currently is the fact that retransmission of events is done via unicast. If subscribers interested in the same cached events at the same time could be grouped, cached events would only have to be sent once since the publish/subscribe system delivers the events to all members of that group. This way, the number of subscribers a cache can handle would increase manifold.
In order to react to changes in the system, it would also be necessary to implement a mecha- nism which enables caches to be moved around in the network. Caches should be able to split up their responsibilities so they can scale horizontally at any time when they are overloaded, and then be able to merge with each other again in case multiple caches are not needed anymore.
Optimization can be done for the overload detection mechanism - this can decrease the time it takes for caching to become active, which results in fewer lost events and allows for the caching of shorter peaks. Also, the prediction algorithm for constantly adapting the transmission rate according to the subscribers load level could be improved - this would lower the average event latency by starting to transmit events faster and by keeping the rate closer to the limit of the subscriber.
Finally, the evaluations conducted were rather basic and ran on a simulated network on a single machine - in order to fully understand the impact of caching, a scenario which involves changing numbers of publishers, subscribers and caches, varying content and event rates as well as changes in the topology, with everything running in a real network (or at least in a simulated, but distributed network) should be considered.
Bibliography
[1] Wikipedia, “Software-defined networking — wikipedia, the free encyclopedia,” 2014. [On- line; accessed 17-November-2014].
[2] M. A. Tariq, B. Koldehofe, G. Koch, and K. Rothermel, “Providing probabilistic latency bounds for dynamic publish/subscribe systems,” in Proceedings of the 16th ITG/GI con-
ference on kommunikation in verteilten systemen (KiVS), Springer, 2009.
[3] M. A. Tariq, B. Koldehofe, G. G. Koch, and K. Rothermel, “Distributed spectral cluster management: A method for building dynamic publish/subscribe systems,” in Proceedings
of the 6th ACM international conference on distributed event-based systems (DEBS),
2012.
[4] M. A. Tariq, B. Koldehofe, G. G. Koch, I. Khan, and K. Rothermel, “Meeting subscriber- defined qos constraints in publish/subscribe systems,” Concurrency and Computation:
Practice and Experience, vol. 23, no. 17, pp. 2140–2153, 2011.
[5] M. A. Tariq, B. Koldehofe, and K. Rothermel, “Efficient content-based routing with network topology inference,” in Proceedings of the 7th ACM International Conference on
Distributed Event-based Systems, DEBS ’13, (New York, NY, USA), pp. 51–62, ACM,
2013.
[6] B. Koldehofe, F. Dürr, M. A. Tariq, and K. Rothermel, “The power of software-defined networking: Line-rate content-based routing using OpenFlow,” in Proceedings of the
7th international ACM middleware for next generation Internet computing (MW4NG) workshop of the 13th international middleware conference, 2012.
[7] B. Koldehofe, F. Dürr, and M. A. Tariq, “Event-based systems meet software-defined networking,” in Proceedings of the 7th ACM International Conference on Distributed
Event-Based Systems (DEBS), 2013.
[8] B. Koldehofe, F. Dürr, M. A. Tariq, and K. Rothermel, “The power of software-defined networking: line-rate content-based routing using Openflow,” in Proceedings of the 7th
Workshop on Middleware for Next Generation Internet Computing, MW4NG ’12, (New
York, NY, USA), pp. 3:1–3:6, ACM, 2012.
[9] M. A. Tariq, B. Koldehofe, S. Bhowmik, and K. Rothermel, “PLEROMA: A SDN-based High Performance Publish/Subscribe Middleware,” in To appear in Proceedings of the
ACM/IFIP/USENIX Middleware Conference, ACM press., Dezember 2014.
[10] S. Bhowmik, “Distributed Control Algorithms for Adapting Publish/Subscribe in Soft- ware Defined Networks,” master thesis, University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Germany, November 2013.
[11] V. Sourlas, G. Paschos, P. Flegkas, and L. Tassiulas, “Caching in content-based pub- lish/subscribe systems,” in Global Telecommunications Conference, 2009. GLOBECOM
2009. IEEE, pp. 1–6, Nov 2009.
[12] G. B. Mishra, “Providing in-network content-based routing using OpenFlow,” Master’s thesis, Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstech- nik, Germany, June 2013.
[13] O. N. Foundation, “Openflow switch specification.”
[14] E. Fidler, H.-A. Jacobsen, G. Li, and S. Mankovskii, “The PADRES Distributed Pub- lish/Subscribe System,” International Conference on Feature Interactions in Telecommu-
nications and Software Systems (ICFI’05), pp. 12–30, July 2005.
[15] A. Carzaniga, D. S. Rosenblum, and A. L. Wolf, “Design and evaluation of a wide-area event notification service,” ACM Trans. Comput. Syst., vol. 19, pp. 332–383, Aug. 2001. [16] G. Cugola, E. Di Nitto, and A. Fuggetta, “The jedi event-based infrastructure and its application to the development of the opss wfms,” IEEE Trans. Softw. Eng., vol. 27, pp. 827–850, Sept. 2001.
[17] a. X. c. PARC, “Content centric networking.” http://www.ccnx.org/what-is-ccn/, 2014.