Presentation is loading. Please wait.

Presentation is loading. Please wait.

Orbit Management, Control & Measurement Framework (OMF)‏ Max Ott NICTA

Similar presentations


Presentation on theme: "Orbit Management, Control & Measurement Framework (OMF)‏ Max Ott NICTA"— Presentation transcript:

1 Orbit Management, Control & Measurement Framework (OMF)‏ Max Ott NICTA max.ott@nicta.com.au

2 Max Ott © NICTA 2008 2 Introduction Experiments are primarily about collecting measurements … Lots of them. How to collect them efficiently in a distributed environment like ORBIT? How to collect them centrally & in real- time –to allow dynamic steering of experiments –to minimize collection overhead after end of experiment Introduction

3 Max Ott © NICTA 2008 3 Common Data Model OMF - User View Experimental Platform(s)‏ Results Experiment Description Control Measure Deploy & Configure

4 Max Ott © NICTA 2008 4.... defGroup('sources') do |node| node.prototype("test:proto:sender2", 'destinationHost' => node('recv0').net.w0.ip )‏ end... Defining the Experiment

5 Max Ott © NICTA 2008 5 defPrototype("test:proto:sender2") do |p| p.defProperty('destinationHost', 'Host to send packets to')‏... p.addApplication("test:app:otg") do |otg| otg.bindProperty('dsthostname', 'destinationHost')‏... otg.measure('senderport', :samples => 10) do |m| m.addMetric(“pkt_size”).filter(“avg”)‏ end Defining What SHOULD Be Collected

6 Max Ott © NICTA 2008 6 defApplication('test:app:otg', 'otg') do |a| a.version(1, 1, 2)‏ a.shortDescription "Programmable traffic generator"... a.defMP("senderport") do |m| m.defMetric('pkt_seqno', 'long', 'Sequence nu..')‏ m.defMetric('pkt_size', 'long', 'Size of packet in bytes')‏... do Defining What CAN Be Collected

7 Max Ott © NICTA 2008 7 Automatic Database Schema sqlite>.schema CREATE TABLE sources_otg_senderport ( oml_sender_id INTEGER, oml_seq INTEGER, oml_ts REAL, pkt_size_avg INTEGER, pkt_size_min INTEGER, pkt_size_max INTEGER);

8 Max Ott © NICTA 2008 8 Analyze function nsf(dbServer, dbUser, dbPW, database); % Part where we retrieve data from the database; mysql('open',dbServer, dbUser, dbPW); mysql('use', database); output = struct('time',[],'thr_all',[],'node',[]); [output.time, output.thr_all, output.node] = mysql('select timestamp, throughput, node_id from group2'); [thru1_4, time1_4, thru3_1, time3_1] = sort_mysql(output); % Finally, the plotting part subplot(2,1,1); plot(time1_4, thru1_4, '-*'); title('Throughput On Obstructed Link'); xlabel('Time (sec)'); ylabel('Throuhput (bps)'); grid on; subplot(2,1,2); plot(time3_1, thru3_1, '-*'); title('Throughput On Monitor Node'); xlabel('Time (sec)'); ylabel('Throuhput (bps)'); grid on;

9 Max Ott © NICTA 2008 9 Conclusions OML is a generic, scalable and flexible framework for the collection of measurements Reduces the burden of experimenter –Easy to collect data –Supports real-time filtering to reduce collection size Reduces the burden of application developer –Simple API to report measurement In daily use Usable OUTSIDE Orbit


Download ppt "Orbit Management, Control & Measurement Framework (OMF)‏ Max Ott NICTA"

Similar presentations


Ads by Google