Profile-Driven Component Placement for Cluster-Based Online Services

The growth of the Internet and of various intranets has spawned a wealth of online services, most of which are implemented on local-area clusters using remote invocation (for example, remote procedure call/remote method invocation) among manually placed application components. Component placement can be a significant challenge for large-scale services, particularly when application resource needs are workload dependent. Automatic component placement has the potential to maximize overall system throughput. The key idea is to construct (offline) a mapping between input workload and individual-component resource consumption. Such mappings, called component profiles, then support high-performance placement. Preliminary results on an online auction benchmark based on J2EE (Java 2 Platform, Enterprise Edition) suggest that profile-driven tools can identify placements that achieve near-optimal overall throughput.

[1]  UrgaonkarBhuvan,et al.  Resource overbooking and application profiling in shared hosting platforms , 2002 .

[2]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[3]  Yannis Smaragdakis,et al.  J-Orchestra: Automatic Java Application Partitioning , 2002, ECOOP.

[4]  Eric A. Brewer,et al.  Pinpoint: problem determination in large, dynamic Internet services , 2002, Proceedings International Conference on Dependable Systems and Networks.

[5]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[6]  Armando Fox,et al.  Pinpoint: problem determination in large , 2002 .

[7]  Klara Nahrstedt,et al.  Dynamic QoS-aware multimedia service configuration in ubiquitous computing environments , 2002, Proceedings 22nd International Conference on Distributed Computing Systems.

[8]  C. Amza,et al.  Specification and implementation of dynamic Web site benchmarks , 2002, 2002 IEEE International Workshop on Workload Characterization.

[9]  Vijay Karamcheti,et al.  Partitionable services: A framework for seamlessly adapting distributed applications to heterogeneous environments , 2002, Proceedings 11th IEEE International Symposium on High Performance Distributed Computing.

[10]  Mahadev Satyanarayanan,et al.  Predictive Resource Management for Wearable Computing , 2003, MobiSys '03.

[11]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[12]  Wei Jin,et al.  USENIX Association Proceedings of USITS ’ 03 : 4 th USENIX Symposium on Internet Technologies and Systems , 2003 .

[13]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[14]  Tao Yang,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Integrated Resource Management for Cluster-based Internet Services , 2022 .

[15]  Galen C. Hunt,et al.  Component-Based APIs for Versioning and Distributed Applications , 1999, Computer.

[16]  Shigeru Chiba,et al.  A Bytecode Translator for Distributed Execution of "Legacy" Java Software , 2001, ECOOP.

[17]  Gregory R. Ganger,et al.  Dynamic Function Placement for Data-Intensive Cluster Computing , 2000, USENIX Annual Technical Conference, General Track.

[18]  Emin Gün Sirer,et al.  Design and implementation of a distributed virtual machine for networked computers , 2000, OPSR.

[19]  Timothy Roscoe,et al.  Resource overbooking and application profiling in shared hosting platforms , 2002, OSDI '02.

[20]  Eric A. Brewer,et al.  Cluster-based scalable network services , 1997, SOSP.

[21]  Willy Zwaenepoel,et al.  Performance and scalability of EJB applications , 2002, OOPSLA '02.

[22]  Michel Dagenais,et al.  Measuring and Characterizing System Behavior Using Kernel-Level Event Logging , 2000, USENIX Annual Technical Conference, General Track.

[23]  Galen C. Hunt,et al.  A guided tour of the Coign automatic distributed partitioning system , 1998, Proceedings Second International Enterprise Distributed Object Computing (Cat. No.98EX244).