Presented By: Shatsman Yuri Leibovitz Amit Supervised By: Oved Itzhak Winter 2009/10 Networked Software Systems Lab, EE Department, Technion – Israel Institute of Technology
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 2 Presented by: Shatsman Yuri & Leibovitz Amit
Background: Performance Counters Provide information on the dynamic behavior of an application. Built-in standardized support in Windows. The problem: The application’s developers choose what information to expose, and it’s impossible to manipulate this data. A system administrator might want to manipulate the data provided. No built-in tool allows this behavior... 3 Presented by: Shatsman Yuri & Leibovitz Amit
Existing solution A. Svetlit & D. Nasi, 2008 (supervised by Oved Itzhak). Problem with Rate counters due to implementation in C# - a.NET language. Our Goals Allow the user to perform arbitrary manipulations on existing performance data. Allow extensibility of the system to allow the user to create personal algorithms. Implement a provider in a native language which could determine when it is sampled. Wrap the entire system in a user friendly environment. 4 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 5 Presented by: Shatsman Yuri & Leibovitz Amit
The system was divided into 3 units: Sampling unit Does the bulk of the work The link to the framework Algorithms Infrastructure Allows extensibility of the system Performs the manipulations GUI P.A.T Allows management of the entire system 6 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 7 Presented by: Shatsman Yuri & Leibovitz Amit
Consists of 3 components Worker DLL Wrapper units Provider DLL Sampling Process 8 Presented by: Shatsman Yuri & Leibovitz Amit
9 Provides the core functionality of the entire system Provides category registration/un-registration services for the GUI. Performs the actual sampling and puts the data in proper format for the OS.
Provider DLL A shell providing the require API to the framework. Spawns the Sampling Process. Sets up an IPC channel. Forwards the sampling requests to the sampling process. Sampling Process Derived need from the frameworks constraints. Spawned by the Provider DLL. Wrapper to the Worker DLL. Propagates the data created by the worker DLL to the provider DLL. 10 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 11 Presented by: Shatsman Yuri & Leibovitz Amit
Allows extensibility of the system Defined interface. Defined descriptor files. Any DLL that conforms to the Algorithm Interface and comes with a proper descriptor file can be used. User can implement new algorithms. 12 Presented by: Shatsman Yuri & Leibovitz Amit
Exponential Smoothing By the formula: Takes alpha as a parameter. Single input counter. Summation Algorithm Simple sum of an arbitrary set of inputs. Requires no parameters. Unbound number of inputs. 13 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 14 Presented by: Shatsman Yuri & Leibovitz Amit
P.A.T – Performance Analysis Tool. Manages the entire system. Designed to be intuitive and simple without losing any of the systems functionalities. 15 Presented by: Shatsman Yuri & Leibovitz Amit
16 Presented by: Shatsman Yuri & Leibovitz Amit
The GUI Database The light version. Represents the system state. Can be serialized and deserialized. allows saving the system state. 17 Presented by: Shatsman Yuri & Leibovitz Amit
The GUI settings file Serialization result. 18 Presented by: Shatsman Yuri & Leibovitz Amit The category serializes into the Worker DLLs settings file
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 19 Presented by: Shatsman Yuri & Leibovitz Amit
20 Presented by: Shatsman Yuri & Leibovitz Amit
The initial system design was simpler. As it looked in the mid-term presentation. The framework didn’t support our usage. Doesn’t allow a sampled process to sample others. Solution: separating the providing and the consumption to separate processes, as shown in the current design. 21 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 22 Presented by: Shatsman Yuri & Leibovitz Amit
Exponential smoothing 23 Presented by: Shatsman Yuri & Leibovitz Amit
Summing algorithm 24 Presented by: Shatsman Yuri & Leibovitz Amit
Rate example This is the main advantage of our project over the previous: Synchronized sampling 25 Presented by: Shatsman Yuri & Leibovitz Amit
Existing solution A. Svetlit & D. Nasi, 2008 (supervised by Oved Itzhak). Problem with Rate counters due to implementation in managed language. Our Goals Allow the user to perform arbitrary manipulations on existing performance data. Allow extensibility of the system to allow the user to create personal algorithms. Implement a provider in a native language which could determine when it is sampled. Wrap the entire system in a user friendly environment. 26 Presented by: Shatsman Yuri & Leibovitz Amit
Introduction Design Sampling unit Algorithms Infrastructure GUI Entire system top-view Results Demo 27 Presented by: Shatsman Yuri & Leibovitz Amit