Exploiting Service Usage Information for Optimizing Server Resource Management
Venue
ACM Transactions on Internet Technology (TOIT), vol. 11 (2011), pp. 1-26
Publication Year
2011
Authors
Alexander Totok, Vijay Karamcheti
BibTeX
Abstract
It is often difficult to tune the performance of modern component-based Internet
services because: (1) component middleware are complex software systems that expose
several independently tuned server resource management mechanisms; (2)
session-oriented client behavior with complex data access patterns makes it hard to
predict what impact tuning these mechanisms has on application behavior; and (3)
component-based Internet services themselves exhibit complex structural
organization with requests of different types having widely ranging execution
complexity. In this article we show that exposing and using detailed information
about how clients use Internet services enables mechanisms that achieve two
interconnected goals: (1) providing improved QoS to the service clients, and (2)
optimizing server resource utilization. To differentiate among levels of service
usage (service access) information, we introduce the notion of the service access
attribute and identify four related groups of service access attributes,
encompassing different aspects of service usage information, ranging from the
high-level structure of client web sessions to low-level fine-grained information
about utilization of server resources by different requests. To show how the
identified service usage information can be collected, we implement a request
profiling infrastructure in the JBoss Java application server. In the context of
four representative service management problems, we show how collected service
usage information is used to improve service performance, optimize server resource
utilization, or to achieve other problem-specific service management goals.
