Mohammad Shadi Al Hakeem, Jan Richling, Gero Mühl, Hans-Ulrich Heiß
{"title":"An Adaptive Scheduling Policy for Staged Applications","authors":"Mohammad Shadi Al Hakeem, Jan Richling, Gero Mühl, Hans-Ulrich Heiß","doi":"10.1109/ICIW.2009.34","DOIUrl":null,"url":null,"abstract":"The performance of Web servers and application servers is a crucial factor for the success of the underlying business activity. Current commercial servers (such as Apache and Microsoft’s IIS) usually employ a thread-based concurrency policy for executing request simultaneously. However, with this policy the throughput tends to collapse when massive overload occurs. Event-based concurrency has been proposed as an alternative, but-–similar to the thread-based approach–-it suffers in its pure form from a potential memory access bottleneck. This is avoided by a server based on a Staged Event-Driven Architecture (SEDA) which combines the two approaches to take advantage of locality in data and code within each state. In this paper, we present a three layer observer/ controller architecture for dynamic performance control of SEDA-based application servers. Control is achieved by a strategy which adapts the resources assigned to each stage based on the observed throughput and queue length of each stage using a feedback loop. To validate our strategy and to compare with other strategies, we implemented a simulation environment. The results gained demonstrate that our approach successfully self-optimizes the CPU time allocation and achieves a competitive system throughput while avoiding performance degradation under overload and dynamic changes in the system.","PeriodicalId":390934,"journal":{"name":"2009 Fourth International Conference on Internet and Web Applications and Services","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-05-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2009 Fourth International Conference on Internet and Web Applications and Services","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICIW.2009.34","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4
Abstract
The performance of Web servers and application servers is a crucial factor for the success of the underlying business activity. Current commercial servers (such as Apache and Microsoft’s IIS) usually employ a thread-based concurrency policy for executing request simultaneously. However, with this policy the throughput tends to collapse when massive overload occurs. Event-based concurrency has been proposed as an alternative, but-–similar to the thread-based approach–-it suffers in its pure form from a potential memory access bottleneck. This is avoided by a server based on a Staged Event-Driven Architecture (SEDA) which combines the two approaches to take advantage of locality in data and code within each state. In this paper, we present a three layer observer/ controller architecture for dynamic performance control of SEDA-based application servers. Control is achieved by a strategy which adapts the resources assigned to each stage based on the observed throughput and queue length of each stage using a feedback loop. To validate our strategy and to compare with other strategies, we implemented a simulation environment. The results gained demonstrate that our approach successfully self-optimizes the CPU time allocation and achieves a competitive system throughput while avoiding performance degradation under overload and dynamic changes in the system.