120 likes | 233 Views
Prototype Presentation Replication Process Simulator. Academic Advisor: Dr. Eitan Bachmet Technical Advisor: Mr . Assaf Natanzon. Project Team : Adiel Ashrov Etai Hazan Benny Michali. http://replicationsimulation.wordpress.com/. Prototype Presentation Storage Replication Simulation.
E N D
Prototype PresentationReplication Process Simulator Academic Advisor: Dr. EitanBachmet Technical Advisor: Mr. AssafNatanzon Project Team: AdielAshrov EtaiHazan Benny Michali http://replicationsimulation.wordpress.com/
Prototype PresentationStorage Replication Simulation Introduction Vision The Problem Domain Software Context Functional Requirements Non-functional requirements Use-cases Risk Assessment
Prototype – Goals • Development of the prototype was designed to overcome the risks we discovered with our requirements. • We identified the following points as risks : • How can we make sure simulator is modeling the system accurately? • Making the system perform similarly to the real-life. • Statistics handling and transfer between different layers. • How to represent calculated statistics in the Presentation level • How to model I/O behavior and how to recognize behavior • How to operate on different algorithms/policies?
Prototype – Conclusions Simulation results verification: • In order to ensure our simulation produces accurate statistics we have sought for an expert opinion • AssafNatanzon (EMC) supplied comperasionwhich approved our simulation results are coherent with real world behavior. Statistical data Handling • We’ve experimented with the idea of using CSV files in order to pipeline the results from the application to the presentation layer. • We are now exploring the idea of using objects in order to transfer the data. We want to find out it’s run time memory cost, and if it’s doable. (**** מיותר אני חושב)
Prototype – Conclusions Data plotting and GUI • We have explored several external libraries solutions for plotting the data and displaying GUI. • We are now writing the GUI in C# and plot the Graph using a sample graph template we will embed as a part of the UI.
Prototype – Conclusions I/O behavior modeling and recognition • We have modeled the burstinessbehavior with a parameter received from the user [0..100]. • Time slots concepts: • Say for example burstiness is 40:
Prototype – Conclusions I/O behavior modeling and recognition cont. • How did we identify a volume/host in a burst: • Entropy and time slot data capacity: • Let’s look at time slot and the amount of data transferred: • .This is the probability that an I/O event belongs to .
ARD - Proof of concept I/O behavior modeling and recognition cont. • Entropy measure of uncertainty • ) • The lower the entropy ,it is more likely that the current Volume is in a burst.
ARD - Proof of concept Different Flow Control Alog’ Support • The main purpose of our project is allowing the user to compare between different flow control algo’. • Let’s recall one of the bottle necks of our system is the Cache in the local storage. • After we have the ability to identify trends/burst in I/O behavior we now have the ability to regulate the flow of data and cache allocation. • Let’s see an example of such algorithm • TODO:Graph Cache fullfill
Prototype – Conclusions Different Flow Control Alog’ Support cont.
Prototype – Conclusions Different Flow Control Alog’ Support cont. • The main purpose of our project is allowing the user to compare between different flow control algo’. • After we have the ability to identify trends/burst in I/O behavior we now have the ability to regulate the flow of data and cache allocation. • Let’s see an example of such algorithm
Prototype – Conclusions Different Flow Control Alog’ Support • Using different algorithms for cache managing flow control and prioritizing data incoming from IO's is vital to our prototype goals. We must design our program to allow fast and efficient exchange of all implemented algorithms in order to maximize users ability to analyze different replication flow and statistic output. For these causes we will seek structural solutions allowing us to achieve these design standards. We will examine the use in Strategy design pattern.It is used for simple integration of algorithms by encapsulating their implementation so they interact uniformly but their behavior varies.