An adaptive feedback controller for SIP server memory overload protection

Memory overload is one of the key challenges in managing enterprise application server performance such as in J2EE environment. Realizing this issue, J2EE middleware providers introduced management solutions to prevent memory overload. However, such solutions depend on configurable parameters, such as thread pool size and queue length limit, which are typically difficult to determine and unaccommodating to application behavioral changes. In this paper we introduce a dynamic memory overload protection solution based on applying adaptive feedback controller techniques. Our solution consists of (1) a model that captures the dynamics of system and workload characteristics, (2) a Kalman filter for model parameter estimation, and (3) an adaptive feedback controller that regulates the load admission rate to the server in order to prevent memory overload. In particular, we have designed and implemented a self-configurable memory overload controller, which is automatically tuned based on an analytical model of the system under control. We conducted experiments where we used our controller prototype to manage a commercially available SIP server and compared it to a static, fixed gain feedback controller. Our experimental results show that, with little configuration effort, the adaptive controller reacts nicely to workload dynamics.

[1]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

[2]  Klara Nahrstedt,et al.  A control-based middleware framework for quality-of-service adaptations , 1999, IEEE J. Sel. Areas Commun..

[3]  Jonathan D. Cryer,et al.  Time Series Analysis , 1986 .

[4]  Haining Wang,et al.  Profit-aware Admission Control for Overload Protection in E-commerce Web Sites , 2007, 2007 Fifteenth IEEE International Workshop on Quality of Service.

[5]  David E. Culler,et al.  USENIX Association Proceedings of USITS ’ 03 : 4 th USENIX Symposium on Internet Technologies and Systems , 2003 .

[6]  Mark Handley,et al.  SIP: Session Initiation Protocol , 1999, RFC.

[7]  Rafael Dueire Lins,et al.  Garbage collection: algorithms for automatic dynamic memory management , 1996 .

[8]  Krishna Kant,et al.  Overload Control Mechanisms for Web Servers , 2001 .

[9]  Kang G. Shin,et al.  Adaptive control of virtualized resources in utility computing environments , 2007, EuroSys '07.

[10]  Mik Wisniewski,et al.  Applied Regression Analysis: A Research Tool , 1990 .

[11]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[12]  Yixin Diao,et al.  Using MIMO feedback control to enforce policies for interrelated metrics with application to the Apache Web server , 2002, NOMS 2002. IEEE/IFIP Network Operations and Management Symposium. ' Management Solutions for the New Communications World'(Cat. No.02CH37327).

[13]  Chenyang Lu,et al.  Modeling and performance control of Internet servers , 2000, Proceedings of the 39th IEEE Conference on Decision and Control (Cat. No.00CH37187).

[14]  Asser N. Tantawi,et al.  Performance management for cluster-based web services , 2005, IEEE Journal on Selected Areas in Communications.

[15]  Godmar Back,et al.  Automatic memory management in utility accrual scheduling environments , 2006, Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'06).

[16]  Douglas M. Freimuth,et al.  Kernel Mechanisms for Service Differentiation in Overloaded Web Servers , 2001, USENIX Annual Technical Conference, General Track.

[17]  D. Simon Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches , 2006 .

[18]  Marin Litoiu,et al.  Tracking time-varying parameters in software systems with extended Kalman filters , 2015, CASCON.

[19]  Tarek F. Abdelzaher,et al.  Differentiated caching services; a control-theoretical approach , 2001, Proceedings 21st International Conference on Distributed Computing Systems.