Instrumenting code to collect profiling information can canse substantial execution overhead. This overhead makes instrumentation difficult to perform at runt/me, often preventing many known o]fiine feedback-directed optimizations from being used in online systems. This paper presents a general framework for performing instrumentation sampling to reduce the overhead of previously expensive instrumentation. The framework is simple and effective, using codeduplication and counter-based sampling to allow switching between instrumented and non-instrumented code.Our framework does not rely on any hardware or operating system support, yet provides a high frequency sample rate that is tunable, allowing the tradeoff between overhead and accuracy to be adjusted easily at runt/me. Experimental results are presented to validate that our technique can collect accurate profiles (93-98% overlap with a perfect profile) with low overhead (averaging ,-,6% total overhead with a naive implementation). A Jalapefio-specific optimization is also presented that reduces overhead further, resulting in an average total overhead of ~3%.
Future high-performance virtual machines will improve performance through sophisticated online feedback-directed optimizations. This paper presents the architecture of the Jalapeno Adaptive Optimization System, a system to support leading-edge virtual machine technology and enable ongoing research on online feedback-directed optimizations. We describe the extensible system architecture, based on a federation of threads with asynchronous communication. We present an implementation of the general architecture that supports adaptive multi-level optimization based purely on statistical sampling. We empirically demonstrate that this profiling technique has low overhead and can improve startup and steady-state performance, even without the presence of online feedback-directed optimizations. The paper also describes and evaluates an online feedback-directed inlining optimization based on statistical edge sampling. The system is written completely in Java, applying the described techniques not only to application code and standard libraries, but also to the virtual machine itself.
The Web Services standard is becoming the lingua franca for loosely coupled distributed applications. As the number of nodes and the complexity of these applications grow over the coming years, it will become more challenging for developers to understand, debug, and optimize them. In this paper, we describe Web Services Navigator, a visualization tool that fosters better understanding of serviceoriented architecture (SOA) applications. We draw on our experience with real SOA applications to show how this tool has been applied to practical problems ranging from business logic misunderstandings to performance bottlenecks to syntax and semantic errors. Web Services Navigator helps to solve these problems by visualizing how applications really execute, enabling business owners, application designers, project managers, programmers, and operations staff to understand how their applications actually behave. We sketch the architecture of Web Services Navigator, outline how it reconstructs application execution from event logs, and describe how users interactively explore their applications using its five linked views.
INTRODUCTIONSignificant portions of the productivity gains enjoyed by businesses over the past decades are attributable to the adoption of new information technology (IT). At some point the economic balance shifts; businesses start putting more emphasis on reducing the cost of supporting existing IT functions than on adding new function. Today, many businesses are striving to improve the overall cost-effectiveness of their IT investments by reviewing business needs and cutting costs. These efforts typically include leveraging existing assets, consolidating redundancies, and laying a foundation for future growth. This trend is fueling the move from tightly coupled componentized systems to loosely coupled service-based systems, such as those based on service-oriented architectures (SOAs) employing standards-based interfaces. 1,2 To illustrate the differences between componentized systems and service-based systems, we make an analogy with the air transportation industry. This industry moves passengers arriving by means of ground transportation into airplanes, flies them to a Ó
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.