טכניון מכון טכנולוגי לישראל
הטכניון מכון טכנולוגי לישראל - בית הספר ללימודי מוסמכים  
M.Sc Thesis
M.Sc StudentYarom Sasson Gil
SubjectD-SEDA Distributed Staged Event-Driven Architecture
DepartmentDepartment of Computer Science
Supervisor Mr. Z. Ben-Shaul


Abstract

One of the key challenges introduced by large scale Internet services is performance scalability under continuously increasing and highly variable loads. An additional requirement is for such Internet services to offer a diverse set of application services, as in application portals. Traditional approaches to performance scalability are based on symmetric replication of whole application servers across hosts, with proper load balancing. The main drawback of this approach is that it is less sensitive to dynamic changes in demand for specific applications (or application components), that are offered by an application(s) servers.


This thesis proposes an alternative approach, in which selective applications or components are adaptively replicated and distributed across hosts, thereby providing more fine grained match for demand and resulting in both better resource utilization, as well as better performance.

We present the architecture and the implementation of a design framework, based on extension of SEDA - Stage Event Driven Architecture, which enables to realize these concepts and implement highly scalable application services. The programming model presented in this thesis simplifies the construction of large scale Internet services and shades the details of load management, replication, scalability and high concurrency from the programmer.

We demonstrate the applicability of the framework by implementing such services, and showing superior performances compared to traditional replication under continuously increasing and highly variable loads.

We present a novel algorithm for dynamic replication and distribution of application components across hosts, based on multilevel k-way graph partitioning algorithms.

Finally, this thesis discusses several techniques and improvement for the distributed stage event driven architecture.