Results 1 - 10
of
35
Dynamic instrumentation of production systems
, 2004
"... Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein. ..."
Abstract
-
Cited by 113 (0 self)
- Add to MetaCart
Rights to individual papers remain with the author or the author's employer. Permission is granted for noncommercial reproduction of the work for educational or research purposes. This copyright notice must be included in the reproduced paper. USENIX acknowledges all trademarks herein.
Magpie: Online modelling and performance-aware systems
- In Proceedings of the Ninth Workshop on Hot Topics in Operating Systems (HotOS IX
, 2003
"... Understanding the performance of distributed systems requires correlation of thousands of interactions between numerous components — a task best left to a computer. Today’s systems provide voluminous traces from each component but do not synthesise the data into concise models of system performance. ..."
Abstract
-
Cited by 40 (2 self)
- Add to MetaCart
Understanding the performance of distributed systems requires correlation of thousands of interactions between numerous components — a task best left to a computer. Today’s systems provide voluminous traces from each component but do not synthesise the data into concise models of system performance. We argue that online performance modelling should be a ubiquitous operating system service and outline several uses including performance debugging, capacity planning, system tuning and anomaly detection. We describe the Magpie modelling service which collates detailed traces from multiple machines in an e-commerce site, extracts request-specific audit trails, and constructs probabilistic models of request behaviour. A feasibility study evaluates the approach using an offline demonstrator. Results show that the approach is promising, but that there are many challenges to building a truly ubiquitious, online modelling infrastructure. 1
Inferring Scheduling Behavior with Hourglass
- In Proc. of the USENIX Annual Technical Conf. FREENIX Track
, 2002
"... Although computer programs explicitly represent data values, time values are usually implicit. This makes it difficult to analyze and debug real-time programs whose correctness depends partially on the time at which results are computed. This paper shows how to use Hourglass, an instrumented, synthe ..."
Abstract
-
Cited by 24 (3 self)
- Add to MetaCart
Although computer programs explicitly represent data values, time values are usually implicit. This makes it difficult to analyze and debug real-time programs whose correctness depends partially on the time at which results are computed. This paper shows how to use Hourglass, an instrumented, synthetic real-time application, to make inferences about what is happening on a computer at millisecond and microsecond granularities. These inferences are possible because Hourglass records a very fine-grained map of when each of its threads runs, and because Hourglass supports a variety of thread execution models that model the properties and requirements of non-synthetic real-time applications. We conclude that between measurements and inferences, surprisingly detailed knowledge about scheduling behavior can be obtained without modifying, or even explicitly interacting with, the operating system kernel.
Efficient, Unified, and Scalable Performance Monitoring for Multiprocessor Operating Systems
- In Supercomputing
, 2003
"... Programming, understanding, and tuning the performance of large multiprocessor systems is challenging. Experts have difficulty achieving good utilization for applications on large machines. The task of implementing a scalable system such as an operating system or database on large machines is even m ..."
Abstract
-
Cited by 20 (2 self)
- Add to MetaCart
Programming, understanding, and tuning the performance of large multiprocessor systems is challenging. Experts have difficulty achieving good utilization for applications on large machines. The task of implementing a scalable system such as an operating system or database on large machines is even more challenging. And the importance of achieving good performance on multiprocessor machines is increasing as the number of cores per chip increases and as the size of multiprocessors increases. Crucial to achieving good performance is being able to understand the behavior of the system.
Making the “Box” Transparent: System Call Performance as a First-class Result
"... For operating system intensive applications, the ability of designers to understand system call performance behavior is essential to achieving high performance. Conventional performance tools, such as monitoring tools and profilers, collect and present their information off-line or via out-ofband ch ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
For operating system intensive applications, the ability of designers to understand system call performance behavior is essential to achieving high performance. Conventional performance tools, such as monitoring tools and profilers, collect and present their information off-line or via out-ofband channels. We believe that making this information first-class and exposing it to applications via in-band channels on a per-call basis presents opportunities for performance analysis and tuning not available via other mechanisms. Furthermore, our approach provides direct feedback to applications on time spent in the kernel, resource contention, and time spent blocked, allowing them to immediately observe how their actions affect kernel behavior. Not only does this approach provide greater transparency into the workings of the kernel, but it also allows applications to control how performance information is collected, filtered, and correlated with application-level events. To demonstrate the power of this approach, we show that our implementation, DeBox, obtains precise information about OS behavior at low cost, and that it can be used in debugging and tuning application performance on complex workloads. In particular, we focus on the industry-standard SpecWeb99 benchmark running on the Flash Web Server. Using DeBox, we are able to diagnose a series of problematic interactions between the server and the OS. Addressing these issues as well as other optimization opportunities generates an overall factor of four improvement in our SpecWeb99 score, throughput gains on other benchmarks, and latency reductions ranging from a factor of 4 to 47.
I/O System Performance Debugging Using Model-driven Anomaly Characterization
- USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES
, 2005
"... It is challenging to identify performance problems andpinpoint their root causes in complex systems, especially when the system supports wide ranges of workloads and when performance problems only materialize under particular workload conditions. This paper proposes a model-driven anomaly characteri ..."
Abstract
-
Cited by 13 (5 self)
- Add to MetaCart
It is challenging to identify performance problems andpinpoint their root causes in complex systems, especially when the system supports wide ranges of workloads and when performance problems only materialize under particular workload conditions. This paper proposes a model-driven anomaly characterization approach and uses it to discover operating system performance bugs when supporting disk I/O-intensive online servers. We construct a whole-system I/O throughput model as the reference of expected performance and we use statistical clustering and characterization of performance anomalies to guide debugging. Unlike previous performance debugging methods offering detailed statistics at specific execution settings, our approach focuses on comprehensive anomaly characterization over wide ranges of work-load conditions and system configurations. Our approach helps us quickly identify four performance bugs in the I/O system of the recent Linux 2.6.10 kernel (one in the file system prefetching, two in the anticipatory I/O scheduler, and one in the elevator I/O scheduler). Our experiments with two Web server benchmarks, a trace-driven index searching server, and the TPC-C database benchmark show that the corrected ker-nel improves system throughput by up to five-fold compared with the original kernel (averaging 6%, 32%, 39%,and 16 % for the four server workloads).
Integrated Innate and Adaptive Artificial Immune Systems Applied to Process Anomaly Detection
, 2007
"... This thesis explores the design and application of artificial immune systems (AISs), problem-solving systems inspired by the human and other immune systems. AISs to date have largely been modelled on the biological adaptive immune system and have taken little inspiration from the innate immune syste ..."
Abstract
-
Cited by 12 (5 self)
- Add to MetaCart
This thesis explores the design and application of artificial immune systems (AISs), problem-solving systems inspired by the human and other immune systems. AISs to date have largely been modelled on the biological adaptive immune system and have taken little inspiration from the innate immune system. The first part of this thesis examines the biological innate immune system, which controls the adaptive immune system. The importance of the innate immune system suggests that AISs should also incorporate models of the innate immune system as well as the adaptive immune system. This thesis presents and discusses a number of design principles for AISs which are modelled on both innate and adaptive immunity. These novel design principles provided a structured framework for developing AISs which incorporate innate and adaptive immune systems in general. These design principles are used to build a software system which allows such AISs to be implemented and explored.
Implementing Resource Reservations in Linux
- IN PROC. OF FOURTH REAL-TIME LINUX WORKSHOP
, 2002
"... With the recent development of kernel patches for implementing kernel preemptability and high-resolution timers and the acceptance of the rst patch in the 2.5 development branch, it is now possible to support real-time applications in Linux user-space. However, real-time applications must be ran ..."
Abstract
-
Cited by 12 (6 self)
- Add to MetaCart
With the recent development of kernel patches for implementing kernel preemptability and high-resolution timers and the acceptance of the rst patch in the 2.5 development branch, it is now possible to support real-time applications in Linux user-space. However, real-time applications must be ran using the POSIX xed priority scheduler, and we believe that this solution presents a number of problems. In our opinion, a workstation OS must support temporal protection among applications, so that users can access real-time scheduling facilities without the danger to starve the system. The Resource Reservation framework is a class of techniques that can be used for providing temporal protection among dierent real-time and non-real-time applications. Algorithms based on the Resource Reservation framework have been implemented in a number of Linux variants (the most notable is Linux/RK). In this work, we propose a novel implementation that diers from the previous ones in some fundamental points. Thanks to the particular reservation mechanism (the Constant Bandwidth Server - CBS) and to a careful design of our scheduling infrastructure, our scheduler can correctly cope with aperiodic task arrivals.
Fine grained kernel logging with klogger: Experience and insights
- In ACM EuroSys
, 2007
"... Understanding the detailed behavior of an operating system is crucial for making informed design decisions. But such an understanding is very hard to achieve, due to the increasing complexity of such systems and the fact that they are implemented and maintained by large and diverse groups of develop ..."
Abstract
-
Cited by 10 (7 self)
- Add to MetaCart
Understanding the detailed behavior of an operating system is crucial for making informed design decisions. But such an understanding is very hard to achieve, due to the increasing complexity of such systems and the fact that they are implemented and maintained by large and diverse groups of developers. Tools like Klogger — presented in this paper — can help by enabling fine-grained logging of system events and the sharing of a logging infrastructure between multiple developers and researchers, facilitating a methodology where design evaluation can be an integral part of kernel development. We demonstrate the need for such methodology by a host of case studies, using Klogger to better understand various subsystems in the Linux kernel, and pinpointing overheads and problems therein. 1
Supporting time-sensitive applications on general-purpose operating systems
- In Proceedings of the 5rd Symposium on Operating Systems Design and Implementation (OSDI’02
, 2002
"... General-purpose operating systems are increasingly being used for serving time-sensitive applications. Supporting these applications requires low-latency response from the kernel and from other system-level services. This paper explores various operating systems techniques needed to support time-sen ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
General-purpose operating systems are increasingly being used for serving time-sensitive applications. Supporting these applications requires low-latency response from the kernel and from other system-level services. This paper explores various operating systems techniques needed to support time-sensitive applications and describes the design of a time-sensitive, general-purpose Linux system. We show that a high-precision timing facility together with a well-designed preemptible kernel can be the basis for a low-latency response system and such a system can have low overhead. We evaluate the behavior of realistic time-sensitive user- and kernel-level applications on our system and show that, in practice, it is possible to properly support time-sensitive applications in a general-purpose operating system without compromising the performance of throughput-oriented applications. 1

