[[PageOutline]] [wiki:GEC18Agenda/LabWikiAndOEDL/Introduction <-- Back to LabWiki and OEDL] | [wiki:GEC18Agenda/LabWikiAndOEDL Jump to Main Tutorial Page] | [wiki:GEC18Agenda/LabWikiAndOEDL/Experiment2 Next to Experiment 2 -->] = Experiment 1 = == Overview == The objective of this first step is to show how to design, execute, and view the result of a very simple experiment using !LabWiki and OEDL. The scenario of this simple experiment involves 2 computing resources (i.e. ExoGENI virtual machines), which will send ping probes to each other, and report the observed delays. [[Image(exp1_overview.png)]] As mentioned [http://groups.geni.net/geni/wiki/GEC18Agenda/LabWikiAndOEDL#Pre-Requisites earlier], the resources for this experiment have already been allocated and provisioned. Thus at this stage, you should have received the names of your allocated resource, if not please let the session presenters know. == Part 1 - Design/Setup == [[Image(wiki:GENIExperimenter/Tutorials/Graphics:design_on.png, 76)]] For help on all actions regarding !LabWiki, please refer to the [wiki:GEC18Agenda/LabWikiAndOEDL/Introduction previous page] 1.1. First, if you have not done it yet, login into !LabWiki 1.2. Create a new experiment file with the name of your choice 1.3. Cut-and-paste the following experiment description into that file, then save it {{{ defProperty('resource1', "your_resource_ID", "ID of a resource") defProperty('resource2', "your_resource_ID", "ID of a resource") defApplication('ping') do |app| app.description = 'Simple Definition for the ping-oml2 application' app.binary_path = '/usr/bin/ping-oml2' app.defProperty('target', 'Address to ping', '', {:type => :string}) app.defProperty('count', 'Number of times to ping', '-c', {:type => :integer}) app.defMeasurement('ping') do |m| m.defMetric('dest_addr',:string) m.defMetric('ttl',:uint32) m.defMetric('rtt',:double) m.defMetric('rtt_unit',:string) end app.defMeasurement('rtt_stats') do |m| m.defMetric('min',:double) m.defMetric('avg',:double) m.defMetric('max',:double) m.defMetric('mdev',:double) m.defMetric('rtt_unit',:string) end end defGroup('First_Peer', property.resource1) do |g| g.net.e1.ip = "192.168.100.100/24" g.addApplication("ping") do |app| app.setProperty('target', '192.168.100.200') app.setProperty('count', 10) app.measure('ping', :samples => 1) app.measure('rtt_stats', :samples => 1) end end defGroup('Second_Peer', property.resource2) do |g| g.net.e1.ip = "192.168.100.200/24" g.addApplication("ping") do |app| app.setProperty('target', '192.168.100.100') app.setProperty('count', 15) app.measure('ping', :samples => 1) app.measure('rtt_stats', :samples => 1) end end onEvent(:ALL_UP_AND_INSTALLED) do |event| info "This is my first OMF experiment" group('First_Peer').startApplications after 5.seconds do group('Second_Peer').startApplications end after 30.seconds do Experiment.done end end defGraph 'RTT1' do |g| g.ms('ping').select {[ :oml_sender_id, :oml_ts_client, :oml_ts_server, :rtt ]} g.caption "Round Trip Time (RTT) reported by each resource" g.type 'line_chart3' g.mapping :x_axis => :oml_ts_client, :y_axis => :rtt, :group_by => :oml_sender_id g.xaxis :legend => 'time [s]' g.yaxis :legend => 'RTT [ms]', :ticks => {:format => 's'} end defGraph 'RTT2' do |g| g.ms('rtt_stats').select {[ :oml_sender_id, :avg ]} g.caption "RTT Comparison Between Resources [ms]" g.type 'pie_chart2' g.mapping :value => :avg, :label => :oml_sender_id end }}} == Part 2 - Execute == [[Image(wiki:GENIExperimenter/Tutorials/Graphics:execute_on.png, 76)]] == Part 3 - Finish == [[Image(wiki:GENIExperimenter/Tutorials/Graphics:finish_on.png, 76)]] == Help & Additional Resources == ---- [wiki:GEC18Agenda/LabWikiAndOEDL/Introduction <-- Back to Experiment] | [wiki:GEC18Agenda/LabWikiAndOEDL Jump to Main Tutorial Page] | [wiki:GEC18Agenda/LabWikiAndOEDL/Experiment2 Next to Experiment 2 -->]