Ph.D. Thesis Proposal
Server systems that comprise many interacting software components, such as online services and application servers, can be hard to manage for reliably high performance. Poor system management often stems from inaccurate models of system performance, imprecise workload characterizations, and/or unknown performance bugs. In this thesis work, we will present some fundamental techniques that can aid the proper system management of component-based server systems. First, we will develop a performance model for multi-component online services by identifying key component-level and inter-component application characteristics that impact system response time and throughput. We will use our performance model to guide system management decisions (e.g., component placement in a cluster) which achieve high performance under many workload conditions.
Second, we propose the concept of just-in-time (JIT) profiling in which each request is profiled after the exact request input is known but before its execution. JIT profiling can provide precise per-request workload characterization for use in request-granularity server system management. Our final proposed technique compares actual system measurements against model predictions to depict system configurations and workload conditions under which performance bugs are likely to manifest.
We have begun the implementation of all three techniques. Experiments using real systems show promising results for each. We conclude this proposal by offering a glimpse into the future work along each line.