Documentation/jBenchmark: wired-test.rb

File wired-test.rb, 2.1 KB (added by sachin, 12 years ago)
Line 
1
2########## Benchmark tests ##################################
3        # The purpose of this experiment is to benchmark the node CPU
4        # capabilities in terms of the maximum offered load that it can
5        # generate and consume on the wired Ethernet link
6       
7        # It has one sender and one receiver
8        # Sender, Receiver - Wired interface
9        # UDP flow at 500Mbps
10        # Receiver reports throughput, jitter and packet loss per second
11        # Iperf traffic generator
12        ############################################################
13       
14        Experiment.name = "iperf-udp"
15        Experiment.project = "orbit:tutorial"
16       
17        #
18        # Define nodes used in experiment
19        #
20        ###########################################
21        # Sender definition and configuration
22        ###########################################
23        defNodes('sender', [4,1]) {|node|
24          node.image = nil  # assume the right image to be on disk
25          # use prototype "sender"
26          # and set it's property "destinationHost" to
27          # the receiver node
28          # and bind the remaining properties to the
29          # experiment property space
30          node.prototype("test:proto:iperfudpsender", {
31            'client' => '10.10.4.3',  #Send to
32            'use_udp' => nil,           #UDP client
33            'sender_rate' => '500M',      #Input offered load (bits per sec)
34            'len' => 1400               #Payload length (bytes)
35          })
36        }
37        ###########################################
38        # Receiver definition and configuration
39        ###########################################
40       
41        defNodes('receiver', [4,3]) {|node|
42          node.image = nil  # assume the right image to be on disk
43          node.prototype("test:proto:iperfudpreceiver" , {
44          'server' => nil,         # Server
45          'use_udp' => nil,        # Use UDP
46          'len' => 1400,           #Payload length (bytes)
47          'report_interval' => 10   #Report interval(seconds)
48          })
49        }
50       
51        ###########################################
52        # When nodeAgents have reported "OK" to
53        # the nodeHandler start the application
54        ###########################################
55        whenAllInstalled() {|node|
56       
57          nodes('receiver').startApplications
58       
59          wait 10
60          nodes('sender').startApplications
61          wait 60
62         
63          allNodes.stopApplications
64       
65       
66          Experiment.done
67       
68        }