1 / 27

Generic Enhancement to Application Dynamic Behavior Monitoring

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

asta
Download Presentation

Generic Enhancement to Application Dynamic Behavior Monitoring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  3. 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

  4. 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

  5. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  6. 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

  7. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  8. Design – Sampling Unit • Consists of 3 components • Worker DLL • Wrapper units • Provider DLL • Sampling Process Presented by: Shatsman Yuri & Leibovitz Amit

  9. 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

  10. 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

  11. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  12. 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

  13. 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

  14. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  15. 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

  16. Design – GUI (cont.) Presented by: Shatsman Yuri & Leibovitz Amit

  17. 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

  18. 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

  19. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  20. Entire system top-view Presented by: Shatsman Yuri & Leibovitz Amit

  21. 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

  22. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

  23. Results • Exponential smoothing Presented by: Shatsman Yuri & Leibovitz Amit

  24. Results • Summing algorithm Presented by: Shatsman Yuri & LeibovitzAmit

  25. Results • Rate example • This is the main advantage of our project over the previous: • Synchronized sampling Presented by: Shatsman Yuri & Leibovitz Amit

  26. 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

  27. Agenda • Introduction • Design • Sampling unit • Algorithms Infrastructure • GUI • Entire system top-view • Results • Demo Presented by: Shatsman Yuri & LeibovitzAmit

More Related