03/03/051 Performance Engineering of Software and Distributed Systems Research Activities at IIT Bombay Varsha Apte March 3 rd, 2005
03/03/052 Outline Overview of Performance Engineering - (5 mts) Research and development done (20 mts): Brief overview of ongoing work Complexity-Aware Software Performance Models Overload Control of Web Servers Future Research Directions (5 mts) Questions
03/03/053 Context Internet (Multi-tiered, heterogeneous, geographically distributed, shared ) End Users Server System
03/03/054 Performance Engineering Performance Engineering of Software and Distributed Systems: Application of stochastic models for analysis Application of optimal design models Development of tools that aid analysis and design For creating and maintaining distributed systems that meet required performance or “QoS”, at least cost
03/03/055 …Performance Engineering Components Specification of Requirements Software Design (Topology) Deployment and configuration Resource Usage & Policies Workload Characteristics Performance Delivered e.g. 90% of request to be completed in 3 seconds e.g. Message sequence charts e.g. server X on Machine Y, maxThreads e.g. Usage Scenario R per second e.g. Response Time, Throughput e.g. Method X of Object Y takes T CPU ms to execute
03/03/056 Performance Model (or measurement) …Performance Engineering Approaches Specification of Requirements Software Design (Topology) Deployment and configuration Workload Characteristics Performance Delivered 1. Analysis of given system Resource Usage & Policies
03/03/057 Performance Delivered “Optimal Design” Model …Performance Engineering Approaches Specification of Requirements Software Design (Topology) Deployment and configuration Workload Characteristics 2. Design of the system Resource Usage & Policies
03/03/058 Web-based systems: Performance Engineering challenges Networ k End Users Server System Complex interactions: software/software, software/hardware, software/network – need tools that capture these behaviours Tools require appropriate models, i.e. queueing models, that apply to software systems, e.g. layered queueing networks, or complexity aware queueing models Performance prediction sometimes necessary in absence of documented details about software – tools required to co-ordinate measurement, and derive conclusions from such measurement E-commerce servers should be QoS-Aware, survive overloaded conditions, overload/admission control and scheduling mechanisms required
03/03/059 Resource Usage & Policies Auto Profiler Performance Modeling and Analysis Tool Our Research Contributions Specification of Requirements Software Design (Topology) Deployment and configuration Workload Characteristics Performance Delivered Overload control “Complexity aware” queuing model
03/03/0510 Computational Complexity Aware Queuing Models of Software Servers In Proceedings of Mascots 2004, Volendam, The Netherlands
03/03/0511 A LIFO-priority based mechanism for overload control of Web servers Presented at the International Infrastructure Survivability Workshop, Lisbon, Portugal, Paper invited for submission to International Journal on Critical Infrastructures
03/03/0512 Future Research Directions Specification of Requirements Software Design (Topology) Deployment and configuration Resource Usage & Policies Workload Characteristics Performance Delivered Admission/overload control of servers Guaranteeing software QoS in shared hosting centers Characterizing resource usage by platforms such as Java Advanced models for multi-tiered server systems Models for prediction of performance of Java servers Integrate with UML- based specification methods
03/03/0513 Performance Delivered “Optimal Design” Model Autonomic Computing/Self configuration Future Research Directions Specification of Requirements Software Design (Topology) Deployment and configuration Workload Characteristics Resource Usage & Policies
03/03/0514 Thank You Questions