SELF-MANAGING PERFORMANCE IN APPLICATION SERVERS MODELLING AND DATA ARCHITECTURE RAVI KUMAR G 1, C.MUTHUSAMY 2 & A.VINAYA BABU 3 1 HP Bangalore, Reearch Scholar JNTUH, Hyderabad, India, 2 Yahoo, Bangalore, India 3 College of Engineering, JNTUH, Hyderabad, India E-mail : ravikgullapalli@gmail.com 1, chelgeetha@yahoo.com 2, dravinayababu@yahaoo.com 3 Abtract - High performance i alway a deired objective in computing ytem. Managing performance through manual intervention i a well-known and obviou mechanim. The attempt to elf-manage performance with minimal human intervention are predominant in the recent advance of reearch. Control Sytem theory i playing a ignificant role in building uch intelligent and autonomic computing ytem. We are invetigating in building Intelligent Application Server by enabling control ytem a a firt cla feature in component oftware, at deign time and runtime. In thi direction, it i important to build efficient data acce mechanim that capture the control ytem model, performance data, analyze the data efficiently, identify pattern and build a knowledge bae. In thi paper we propoe a data organization and architecture a a building block of developing Intelligent Application Server. Keyword - elf-managing performance; Intelligent Application Server; Control Sytem; modeling and data architecture; I. INTRODUCTION High performance i mot deired non-functional requirement of any computing ytem. The rapidly increaing uage of IT reource triggered elfmanaging and elf-correcting IT architecture from hardware to the application layer. Such elf-managing and elf-correcting olution are referred a Autonomic Computing. There are variou olution in providing uch autonomic and elf-managing mechanim in the recent reearch invetigation [1]. Control Sytem i obviou choice due to the inherent feedback and adaptive control capabilitie to build uch autonomic IT ytem [2], upported by mathematical foundation. Control Sytem proved ucceful application in networking, databae ytem, and data center. There i a great emphai of control ytem application in application layer involving Application and Web Server [3]. Mot of the reearch i around uing claic controller, building hybrid controller for automated performance management. In thi paper we intend to exploit generic modeling and data architecture providing imple way to model, capture, organize and analyze the real time data that help in building more robut elf-managing abilitie in Application Server. II. PROBLEM AND RELATED WORK Application Layer play a ignificant role in today IT environment. They hot application and provide ervice ranging from individual conumer to the Enterprie uer. It i obviou that uch Application Server exhibit high performance all the time. There are olution applying control ytem to elf-manage the performance uing adaptive controller. Many of them are pecific olution to manage the performance of web erver [4][5], web ervice [6], web caching [7][8], EJB Server [9], JMS Server [10], JDBC driver [11][12]. Mot of uch olution are pecific to the component in the Enterprie Application Server tack. Although the controller, control algorithm are important in building elfmanaging computing ytem, it i even more neceary to provide imple, fater, efficient data organization mechanim that upport generic data modeling, data analyi, and pattern identification mechanim and contruct knowledge bae. In thi paper we addre the above aid iue by a imple Data Architecture for efficient functioning of thee controller. The propoed Data Architecture i a building block of a bigger reearch problem where we are invetigating to build an Expert Control Sytem for Application Server [13][14]. III. INTELLIGENT CONTROL ARCHITECTURE OVERVIEW The Fig 1 below how Intelligent Control Architecture coniting of Data Architecture block in the outer loop and a Feedback block in the inner loop. The Feedback block conit of a et of claic controller uch a P, PI, PID [15] and advanced controller uch a Time-Serie, Fuzzy and other intelligent controller. The Data Architecture block contain the functional block to capture the performance data of the Application Server component control ytem model, analyze data, identify pattern and create knowledge bae. The ubequent ection explain thi block in detail and the data that i exchanged between thee block. 16
<inputparam2> </inputparam2> <inputparam3> </inputparam3> <inputparam4> </inputparam4> </component-name> </model> Fig. 2 : Sample MISO Model Template in xml B. Example Model JMS Provider The following Fig 3 how the xml definition of repreenting the ARMA model of JMS Provider. Fig. 1: Intelligent Control Architecture At every ample interval the control loop hown are run, where the data architecture block analyze the real time data, end a Context Pattern to the Feedback block. The context pattern object contain the controller to be ued and other information required for tuning the controlled input to the Application Server to achieve the deired performance. IV. MODEL TEMPLATES UML DESIGN Control Sytem olution require the Application Server component model to tune their performance. The typical model adopted are ARMA model [16]. Equation (1) below how a imple SISO ytem model. y(t + 1) = ay(t) + bu(t) (1) A. Model Template The feedback control ytem ue ARMA model and we have conidered the ame to repreent the Application Server component in our olution. The model of different JEE erver [17] component uch a JMS Provider [18], EJB Server [19], Web Server are captured a SISO or MISO model [20] template coniting of all poible output parameter for the erver component. Thee are pre-defined model ued to capture the aociated performance data in the fater acce databae. The pre-built model template are eparately packaged a XML reource file by the erver component developer along with the compiled ource. Thee template are ued at the Application Server initialization to create the databae and etimate the different model parameter at runtime. The Fig 2 below how the definition of a model template <model> <component-name> <outputparam> </outputparam> <inputparam1> </inputparam1> <model> <jm> <outputparam> mgtput </outputparam> <inputparam1>nosub</inputparam1> </jm> </model> Fig. 3 : JMS Provider SISO Model Template.. The above hown model template can be repreented by the following (2) a SISO model mgtput (t + 1) = a mgtput(t) + b nosub(t) (2) a and b are the model parameter. Thi model will be tranformed into a column oriented databae during the initialization of the Application Server. V. DATA ARCHITECTURE Thi ection explain the Data Architecture block of the Intelligent Control Architecture in the Fig 1. Effective data organization i important for analyzing the performance data; infer meaningful pattern to enable tuning the managed ytem. We propoe to ue a Column oriented databae to capture performance data and will be periodically moved to a peritent torage when it pattern are defined a rule in the knowledge bae. The Fig 4 below how the propoed Data Architecture with two part in it Data Organization: It deal with the paring the model template and capturing the data. The Data Modeler deal with tranforming model template of the Application Server component into the column oriented databae. The Data Monitor update the performance data. Data Analyi: It ha a generic data acce layer to fetch the performance data, which will be conumed by the Data Analyzer to analyze the data, identify pattern and generate Context Pattern. 17
Fig. 4 : Data Architecture A. Context Pattern Context Pattern i an object that contain the predicted value for the future output parameter value, that reflect the behavior of the component of the Application Server. Additional parameter are alo predicted uch a percentage of CPU uage, Memory uage. Additionally for uch a predicted behavior the uitable controller required to be applied i alo et. The Fig 5 below how a ample Context Pattern. <ContextPattern> <Pattern>SuddenVariation</Pattern> <OutParam>MeageThroughput</OutParam> <OutParamVal>50</OutParamVal> <InParam>Smax</InParam> <InParamVal>75</InParamVal> <ControllerType>Fuzzy</ControllerType> <CPU>75</CPU> <MEM>68</MEM> </ContextPattern> Fig. 5 : Context Pattern The context pattern either determine to chooe an appropriate controller or it ugget an action to be taken to cater to the future need. The Table I below how the action to be taken baed on the context pattern generated. The mapping between the Context Pattern value and the Controller to be choen or the action to be taken i tored a control election rule in the Data Architecture block in Fig 1. Table I : Context Pattern Controller Mapping Context Pattern Sl. No Controller Pattern Identified Action Type 1. Sudden Variation Fuzzy 2. Quick Adaptation PID 3. Gradual Increae Time- Serie 4. Contant Time- Serie 5. Reource hortage 6. Dratic Performance Degrdation New Server Intance Sytem Audit B. Data Organiation Performance Data The model template defined for different erver component will have a lot of data aociated during runtime. It i deired that there i a fater data query mechanim, and the growing data volume hould not be an overhead on the elf-managing architecture. The firt challenge of fater data acce i addreed by chooing a column oriented databae [21]. It i ued to capture the data that provide data equence for a given parameter which i a ueful input for eaier data analyi and identifying the pattern. The econd challenge i handled by moving the data to a peritent torage periodically. The data analyzer generate context pattern periodically, generate rule from thoe context pattern, capture in the knowledge bae. Such rule repreent the pattern aociated with the data and hence the data will be moved to a peritent torage. Thu the amount of data aociated to tudy the pat data; the mechanim to analyze and predict the future pattern i much impler and light weight mechanim. The following are the different data element involved baed on the model template: Input parameter Output parameter Model Parameter Contant Controller Gain The Column oriented databae upport SQL [22] and fetche the data column wie rather than row wie thereby providing fater data acce. Such a data tructure enable the Pattern Analyi algorithm to eaily extract the behavior. The following Table II below how a ample Table tructure of a column oriented databae for a JMS Provider. TABLE II : JMS PROVIDER COLUMN ORIENTED DATA Meage Throughpu t Subcriber Publiher broker CP U It i eay to add additional input parameter at runtime when it i oberved that there are other factor affecting the ytem performance. C. Data Analyi - Knowledge bae Data Analyi and Pattern Identification i another important functional building block of the Data Architecture hown in Fig 1. Once the performance data i available in the databae, through generic data acce layer, the Data Analyzer fetche the data. Initially the knowledge bae i empty and every time a Context Pattern i generated it i written to the knowledge bae. We ued a imple cutom rule mechanim which i XML baed that tore condition and action to be taken. The following Fig 6 how a XML rule template Context Pattern ued to tore a a rule. <rule> <component> </component> 18
<if> <property-1> </property-1> <property-2> </property-2> <property-3> </property-3> <property-n> </property-n> </if> <then> <ControllerType></ControllerType> </then> </rule> Fig. 6 : Sample Rule Template There i a rich collection of Pattern Recognition [23] and Data Mining [24] technique and we ue ome of them in our olution uch a Time-Serie, Epiode Dicovery, Outlier Analyi, and Aociation Rule. D. Model and Data Organiation - Algorithm The following Fig 7 how the algorithm of creating template the knowledge bae i created. The control loop i run periodically and in each loop n column of the output parameter i analyzed. After each loop context pattern i tranformed into a rule, written to the knowledge bae. Create model template Set the periodicity of control loop (p) For every interval p o Read n column of output param o Analyze the data and generate Context Pattern(prediction algorithm are run) o Convert the Context Pattern into rule of the knowledge bae o After m control loop, call Data Mover to move all the performance data into a peritent torage A. Data Model The Data Modeler i a imple Java cla implemented to read model template and create table in the column oriented databae. We have ued MonetDB [25] to tore the model template. But we are exploring to identify a light weight in memory column databae. Currently the XML model template have to be created manually. A tool implementation i in progre that allow creating the template eaily. B. Knowledge bae A imple cutom rule engine i developed that tore the knowledge bae in XML format. A et of java clae are implemented to create the rule uing the context pattern object generated. The following Fig 8 how a ample knowledge bae that i created for a context pattern of JMS Provider. <rule> <name>jms-mgtput-pattern1</name> <component>jm</component> <if> <property-1> <name>smax</name> <value>125</value> </property-1> <property-2> <name>mgtput</name> <value>160</value> </property-2> <property-3> <name>pattern</name> <value>suddenvariation</value> </property-3> <property-4> <name>cpu</name> <value>64</value> </property-4> <property-4> <name>threholdviolation</name> <value>ye</value> </property-4> </if> <then> <ControllerType>Fuzzy</ControllerType> <NwSrvrIntance>Fale</NwSrvrIntance> <modelparam-1>1</modelparam-1> <modelparam-2>0.28</modelparam-2> </then> </rule> Fig. 7 : Data Organiation Algorithm VI. IMPLEMENTATION A primitive implementation of the propoed olution i implemented uing Java and XML. Fig. 8 : A ample Rule for JMS Provider tuning VII. DISCUSSION AND FUTURE WORK In thi paper we propoed control ytem model and data architecture that provide template to repreent 19
the variou erver component of the Application Server. Alo, the olution exploited the mechanim to capture, organize and ue the data aociated with thee model for effective prediction of the future pattern of the component. The current olution i a ubet of the bigger reearch problem that we are trying to addre dealing with development of a generic end-to-end framework that enable in creating robut Application Server that are more adaptive and elf-managing in performance management. We have implemented variou controller for the JEE erver component with encouraging reult [10][11]112] but mot of the implementation i imulation baed. We intend to extend our work in validating our theory by running in actual Application Server environment. The end goal our reearch i to enable the deign, modeling and runtime of Application Server with inherent elf-managing capabilitie. We have implemented a prototype olution that upport control ytem concept a firt cla element in UML modeling [26]. We inted to integrate the model template creation dicued in thi paper during the UML deign of the erver component.. Additionally we want to explore Java baed rule engine uch a Je [27] and evaluate againt our cutom rule engine. The propoed architecture implementation i primitive and it require enahancement to complete the implemenation of all the component hown and evalute the reult in different run time environment. REFERENCES [1] Mohammad Reza Nami, Koen Bertel, "A Survey of Autonomic Computing Sytem", ICAS '07 [2] What Doe Control Theory Bring to Sytem Reearch? Xiaoyun Zhu, Mutafa Uyal, Zhikui, Wang, Sharad Singhal, Arif Merchant, Pradeep Padala, Kang Shin, ACM SIGOPS Operating Sytem Review, Volume 43 Iue 1, January 2009 [3] Ravi Kumar G, C.Muthuamy, A.Vinaya Babu, Control Sytem application in Java baed Enterprie and Cloud Environment A Survey, IJACSA Vol 2 No 8, 2011 [4] N. Gandhi and D. M. Tilbury, Y. Diao, J. Hellertein, and S. Parekh MIMO Control of an Apache Web Server, Modeling and Controller Deign, IEEE American Control Conference, 2002 [5] C. Lu, T.F. Abdelzaher, J.A. Stankovic and S.H. Son, A feedback control approach for guaranteeing relative delay in web erver Proc. of the 7th IEEE Real-Time Technology and Application Sympoium, pp 51-62, 2001 [6] Tarek Abdelzaher. Yina Lu, Ronahua Zhana, Dan Henrikon, Practical Application of Control Theory to Web Service, American Control Conference, 2004 [7] Ying Lu, Avneeh Saxena and Tarek E Abdelzaher Differentiated Caching Service; A Control-Theoretical Approach, IEEE International Conference on Ditributed Syytem, 2001. [8] Ying Lu, Tarek Abdelzaher and Gang Tao, Direct Adaptive Control of A Web Cache Sytem, Proceeding of the American Control Conference, Denver, Colorado, 2003 [9] Yan Zhang, Wei Qu, Anna Liu, Adaptive Self- Configuration Architecture for J2EE-baed Middleware, Vol 9, HICSS 06 [10] Ravi Kumar G, Dr.Chelliah Muthuamy and Dr.A.Vinaya Babu, Self-regulating Meage Throughput in Enterprie Meaging Server A Feedback Control Solution, IJACSA, Volume 3, No 1, Jan2012 [11] Ravi Kumar Gullapalli, Dr.Chelliah Muthuamy, Dr.A.Vinaya Babu and Raj N. Marndi, A FEEDBACK CONTROL SOLUTION IN IMPROVING DATABASE DRIVER CACHING, IJEST, Vol 3, No 7, July 2011 [12] Ravi Kumar G, Dr.Chelliah Muthuamy, Dr.A.Vinaya Babu and Raj N. Marndi, Autonomic Databae Driver An Adaptive Control Solution, Proc. ICITEC 2012, Mar 2012,pp 40-44, Ravi Kumar G, Dr.Chelliah Muthuamy, Dr.A.Vinaya Babu Intelligent Application Server A Viion of Self-managing of performance unpublihed, accepted in ICAdC 2012 [13] Ravi Kumar G, Dr.Chelliah Muthuamy, Dr.A.Vinaya Babu SELF-MANAGING THE PERFORMANCE OF DISTRIBUTED COMPUTING SYSTEMS AN EXPERT CONTROL SYSTEM SOLUTION - unpublihed [14] Z.Vukic, Ognejen Kuljaca: Lecture on PID Controller, http://arri.uta.edu/ac/jyotirmay/ee4343/lab_project/pidc ontroller.pdf, Apr 2002 [15] ARMA: http://en.wikipedia.org/wiki/ Autoregreive_moving_average_model [16] JEE Specification : http://www.oracle.com/ technetwork/ java/javaee/tech/index.html [17] JMS Provider :http://en.wikipedia.org/wiki/ Java_Meage_Service [18] EJB: http://en.wikipedia.org/wiki/ Enterprie_JavaBean [19] Sytem Analyi and Modeling: http://en.wikipedia.org/wiki/sytem_analyi [20] DJ.Abadi, PA.Boncz, S. Harizopoulo, Column-oriented Databae Sytem, Proc ACM, VLDB 09 [21] SQL:, http://en.wikipedia.org/wiki/sql [22] Robert J. Scholkoff Pattern Recognition: Statitical, Structured, Neural Approache, John Wiley 1992 [23] Jiawei Han, Micheline Kamber,, Data Mining Concept and Technique, Morgan Kaufmann Publiher, 2006 [24] MonetDB: http://www.monetdb.org/ [25] Ravi Kumar Gullapalli, Dr.Chelliah Muthuamy, Dr.A.Vinaya Babu, Deign and Modeling Autonomic aware Software in UML A Control Sytem Solution, ICCIT,July 2012 - inpre [26] Je Rule Engine, http://www.jerule.com/ 20