270 likes | 409 Views
Generic Enhancement to Application Dynamic Behavior Monitoring. Presented By: Shatsman Yuri Leibovitz Amit Supervised By: Oved Itzhak. Winter 2009/10 Networked Software Systems Lab, EE Department, Technion – Israel Institute of Technology. Agenda. Introduction Design Sampling unit
E N D
Generic Enhancement to Application Dynamic Behavior Monitoring Presented By: Shatsman Yuri LeibovitzAmit Supervised By: OvedItzhak Winter 2009/10 Networked Software Systems Lab, EE Department, Technion– Israel Institute of Technology
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Introduction • 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... Presented by: Shatsman Yuri & Leibovitz Amit
Introduction (cont.) • Existing solution • A. Svetlit & D. Nasi, 2008 (supervised by OvedItzhak). • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Design • 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 Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Design – Sampling Unit • Consists of 3 components • Worker DLL • Wrapper units • Provider DLL • Sampling Process Presented by: Shatsman Yuri & Leibovitz Amit
Sampling Unit – Worker DLL • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Sampling Unit – Wrapper Units • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Algorithms Infrastructure - Introduction • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Implemented Algorithms • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Design – GUI • P.A.T – Performance Analysis Tool. • Manages the entire system. • Designed to be intuitive and simple without losing any of the systems functionalities. Presented by: Shatsman Yuri & Leibovitz Amit
Design – GUI (cont.) Presented by: Shatsman Yuri & Leibovitz Amit
Design – GUI (cont. 2) • The GUI Database • The light version. • Represents the system state. • Can be serialized and deserialized. • allows saving the system state. Presented by: Shatsman Yuri & Leibovitz Amit
Design – GUI (cont. 3) The category serializes into the Worker DLLs settings file • The GUI settings file • Serialization result. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Entire system top-view Presented by: Shatsman Yuri & Leibovitz Amit
Initial design and bumps in the road • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit
Results • Exponential smoothing Presented by: Shatsman Yuri & Leibovitz Amit
Results • Summing algorithm Presented by: Shatsman Yuri & LeibovitzAmit
Results • Rate example • This is the main advantage of our project over the previous: • Synchronized sampling Presented by: Shatsman Yuri & Leibovitz Amit
And just a reminder • Existing solution • A. Svetlit & D. Nasi, 2008 (supervised by OvedItzhak). • 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. Presented by: Shatsman Yuri & Leibovitz Amit
Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit