Elastic control of content-routing in OpenFlow

Publish/subscribe systems are an essential part of many distributed systems for their components (publishers and subscribers) to communicate with each other. The use of content-based routing for more efficient bandwidth usage and to decrease the usage of other resources, led to systems developed are fairly efficient and fast for their architecture of creating an overlay network. With the use of Software-defined Networking (SDN) and in-network filtering by its usage, the event forwarding efficiency and delays of publish/subscribe systems were further improved. Event forwarding in SDN based publish/subscribe systems using in-network filtering is already very good, but the processing of requests like (un)advertisements and (un)subscriptions needs to be scalable, too. In the current implementation requests are handled in a sequential manner, which is not scalable at all. This thesis proposes a way to handle the computational part of request processing in a parallelised way with little computational overhead by taking advantage of the independency of the partitions of the event space and the corresponding data used for computation as well as resulting flow rule changes. By this the average waiting time until a request is processed is to be decreased and the general throughput of requests per time is to be increased. This goal is reached by independent computing of request parts based on partitions created by spatial indexing. The evaluation was done with a multithreaded solution to show the impact of parallel computation of changes of flow rules on switches. The proposed approach to process requests in parallel shows the average waiting time of requests to drop up to to one fourth when using four threads on a machine with four cores to compute requests in parallel. This shows the possibility of large performance gains by parallelising request processing the proposed way. Publish/Subscribe Systeme sind ein zentraler Teil vieler verteilter Systeme, um deren Komponenten (Publisher und Subscriber) miteinander kommunizieren zu lassen. Durch Inhaltsbasiertes Routing fur effizientere Nutzung von Bandbreite und sonstiger Ressourcen wurden Systeme entwickelt, welche fur ihre Overlay-Netzwerk-Architektur sehr effizient arbeiten. Mit Software-defined Networking (SDN) und Filterung im Netzwerk durch dessen Nutzung wurde die Effizienz von EventWeiterleitungen und die dabei auftretende Verzogerungen weiter verbessert. Die Weiterleitung von Events in einem auf SDN basierenden Publish/Subscribe System mit der Nutzung von Filterung im Netzwerk ist schon sehr gut, das Verarbeiten von Anfragen wie (un)advertisements und (un)subscriptions sollte jedoch auch skalierbar sein. In der bisherigen Implementierung werden Anfragen sequentiell abgearbeitet, dies ist nicht skalierbar. In dieser Arbeit wird ein Ansatz vorgestellt, wie der Berechnungsanteil von Anfragen mit wenig zusatzlichem Aufwand bewaltigt werden kann. Dazu wird die Unabhangigkeit der Partitionen des Event-Raumes, deren zugehorige fur Berechnungen relevante Daten und die zugehorigen berechneten Anderungen der Weiterleitungsregeln dafur genutzt. Dadurch soll die durchschnittliche Wartezeit bis eine Anfrage bearbeitet wird reduziert werden und der Durchsatz an Anfragen erhoht werden. Dieses Ziel wird erreicht indem unabhangig Anfragenteile parallel zueinander Abgearbeitet werden, basierend auf den durch Spatial Indexing entstandenen Partitionen. Die Evaluierung wurde durch eine auf Multithreading basierende Losung um die Auswirkungen von paralleler Berechnung der Anderungen von Weiterleitungsregeln der Switches im Netzwerk. Der vorgeschlagene Ansatz, Anfragen auf diese Art parallel zu bearbeiten zeigt, dass die durchschnittliche Wartezeit sich bei verwendung von vier Threads auf einem System mit vier Kernen auf bis zu ein Viertel reduziert. Dies zeigt die Moglichkeit groser Leistungssteigerung durch den Vorgeschlagenen Ansatz.