Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rearrange lua example in separate simulation component files
authorcoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 18 Mar 2011 15:49:04 +0000 (15:49 +0000)
committercoldpeace <coldpeace@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 18 Mar 2011 15:49:04 +0000 (15:49 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9810 48e7efb5-ca39-0410-a469-dd3cf9ba447f

22 files changed:
examples/lua/console/deploy.lua [new file with mode: 0644]
examples/lua/console/master.lua [new file with mode: 0644]
examples/lua/console/master_slave_bypass.lua [new file with mode: 0644]
examples/lua/console/master_slave_bypass.tesh [new file with mode: 0644]
examples/lua/console/platform.lua [new file with mode: 0644]
examples/lua/console/slave.lua [new file with mode: 0644]
examples/lua/masterslave/master.lua [new file with mode: 0644]
examples/lua/masterslave/master_slave.lua [new file with mode: 0644]
examples/lua/masterslave/platform.lua [new file with mode: 0644]
examples/lua/masterslave/slave [new file with mode: 0644]
examples/lua/masterslave/slave.lua [new file with mode: 0644]
examples/lua/multi_matrix/mult_matrix.lua [new file with mode: 0644]
examples/lua/multi_matrix/mult_matrix.tesh [new file with mode: 0644]
examples/lua/multi_matrix/quicksort_deployment.xml [new file with mode: 0644]
examples/lua/multi_matrix/quicksort_platform.xml [new file with mode: 0644]
examples/lua/multi_matrix/receiver.lua [new file with mode: 0644]
examples/lua/multi_matrix/sender.lua [new file with mode: 0644]
examples/lua/tracing/file.trace [new file with mode: 0644]
examples/lua/tracing/master.lua [new file with mode: 0644]
examples/lua/tracing/master_slave_trace.lua [new file with mode: 0644]
examples/lua/tracing/simgrid.trace [new file with mode: 0644]
examples/lua/tracing/slave.lua [new file with mode: 0644]

diff --git a/examples/lua/console/deploy.lua b/examples/lua/console/deploy.lua
new file mode 100644 (file)
index 0000000..2b734bb
--- /dev/null
@@ -0,0 +1,11 @@
+ dofile 'master.lua'
+ dofile 'slave.lua' 
+  --Set Application
+   simgrid.Host.setFunction{host="Tremblay",fct="Master",args="20,550000000,1000000,4"};
+   simgrid.Host.setFunction{host="Bourassa",fct="Slave",args="0"};
+   simgrid.Host.setFunction{host="Jupiter",fct="Slave",args="1"};
+   simgrid.Host.setFunction{host="Fafard",fct="Slave",args="2"};
+   simgrid.Host.setFunction{host="Ginette",fct="Slave",args="3"};
+   
+  --Save Application 
+   simgrid.msg_register_application();
diff --git a/examples/lua/console/master.lua b/examples/lua/console/master.lua
new file mode 100644 (file)
index 0000000..63b900c
--- /dev/null
@@ -0,0 +1,41 @@
+--Master Function
+function Master(...) 
+
+simgrid.info("Hello from lua, I'm the master")
+for i,v in ipairs(arg) do
+    simgrid.info("Got "..v)
+end
+
+nb_task = arg[1];
+comp_size = arg[2];
+comm_size = arg[3];
+slave_count = arg[4];
+
+if (#arg ~= 4) then
+    error("Argc should be 4");
+end
+simgrid.info("Argc="..(#arg).." (should be 4)")
+
+-- Dispatch the tasks
+
+for i=1,nb_task do
+  tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
+  alias = "slave "..(i%slave_count);
+  simgrid.info("Master sending  '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+  simgrid.Task.send(tk,alias); -- C user data set to NULL
+  simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+end
+
+-- Sending Finalize Message To Others
+
+simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
+for i=0,slave_count-1 do
+  alias = "slave "..i;
+  simgrid.info("Master: sending finalize to "..alias);
+  finalize = simgrid.Task.new("finalize",comp_size,comm_size);
+  simgrid.Task.send(finalize,alias)
+end
+  simgrid.info("Master: Everything's done.");
+end
+
+--end_of_master
diff --git a/examples/lua/console/master_slave_bypass.lua b/examples/lua/console/master_slave_bypass.lua
new file mode 100644 (file)
index 0000000..a1c9759
--- /dev/null
@@ -0,0 +1,8 @@
+require "simgrid"
+dofile 'platform.lua'
+dofile 'deploy.lua'
+--Rutform.lua'
+   simgrid.run()
+   simgrid.info("Simulation's over.See you.")
+   simgrid.clean()
+
diff --git a/examples/lua/console/master_slave_bypass.tesh b/examples/lua/console/master_slave_bypass.tesh
new file mode 100644 (file)
index 0000000..14b6f6d
--- /dev/null
@@ -0,0 +1,108 @@
+# compile the master_slave_bypass example
+
+$ lua master_slave.lua --log=surf_parse.thres:critical
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Hello from lua, I'm the master
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 20
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 50000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 1000000
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Got 4
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Argc=4 (should be 4)
+> [Tremblay:Master:(1) 0.000000] [lua/INFO] Master sending  'Task 1' To 'slave 1'
+> [Bourassa:Slave:(2) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 0
+> [Jupiter:Slave:(3) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 1
+> [Fafard:Slave:(4) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 2
+> [Ginette:Slave:(5) 0.000000] [lua/INFO] Hello from lua, I'm a poor slave with mbox: slave 3
+> [Jupiter:Slave:(3) 0.165962] [lua/INFO] Slave 'slave 1' processing Task 1
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master done sending 'Task 1' To 'slave 1'
+> [Tremblay:Master:(1) 0.165962] [lua/INFO] Master sending  'Task 2' To 'slave 2'
+> [Fafard:Slave:(4) 0.384115] [lua/INFO] Slave 'slave 2' processing Task 2
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master done sending 'Task 2' To 'slave 2'
+> [Tremblay:Master:(1) 0.384115] [lua/INFO] Master sending  'Task 3' To 'slave 3'
+> [Ginette:Slave:(5) 0.524575] [lua/INFO] Slave 'slave 3' processing Task 3
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master done sending 'Task 3' To 'slave 3'
+> [Tremblay:Master:(1) 0.524575] [lua/INFO] Master sending  'Task 4' To 'slave 0'
+> [Bourassa:Slave:(2) 0.740447] [lua/INFO] Slave 'slave 0' processing Task 4
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master done sending 'Task 4' To 'slave 0'
+> [Tremblay:Master:(1) 0.740447] [lua/INFO] Master sending  'Task 5' To 'slave 1'
+> [Jupiter:Slave:(3) 0.821304] [lua/INFO] Slave 'slave 1': task Task 1 done
+> [Jupiter:Slave:(3) 0.987266] [lua/INFO] Slave 'slave 1' processing Task 5
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master done sending 'Task 5' To 'slave 1'
+> [Tremblay:Master:(1) 0.987266] [lua/INFO] Master sending  'Task 6' To 'slave 2'
+> [Fafard:Slave:(4) 1.039457] [lua/INFO] Slave 'slave 2': task Task 2 done
+> [Fafard:Slave:(4) 1.257610] [lua/INFO] Slave 'slave 2' processing Task 6
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master done sending 'Task 6' To 'slave 2'
+> [Tremblay:Master:(1) 1.257610] [lua/INFO] Master sending  'Task 7' To 'slave 3'
+> [Ginette:Slave:(5) 1.555672] [lua/INFO] Slave 'slave 3': task Task 3 done
+> [Jupiter:Slave:(3) 1.642608] [lua/INFO] Slave 'slave 1': task Task 5 done
+> [Ginette:Slave:(5) 1.696132] [lua/INFO] Slave 'slave 3' processing Task 7
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master done sending 'Task 7' To 'slave 3'
+> [Tremblay:Master:(1) 1.696132] [lua/INFO] Master sending  'Task 8' To 'slave 0'
+> [Bourassa:Slave:(2) 1.771545] [lua/INFO] Slave 'slave 0': task Task 4 done
+> [Fafard:Slave:(4) 1.912953] [lua/INFO] Slave 'slave 2': task Task 6 done
+> [Bourassa:Slave:(2) 1.987417] [lua/INFO] Slave 'slave 0' processing Task 8
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master done sending 'Task 8' To 'slave 0'
+> [Tremblay:Master:(1) 1.987417] [lua/INFO] Master sending  'Task 9' To 'slave 1'
+> [Jupiter:Slave:(3) 2.153379] [lua/INFO] Slave 'slave 1' processing Task 9
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master done sending 'Task 9' To 'slave 1'
+> [Tremblay:Master:(1) 2.153379] [lua/INFO] Master sending  'Task 10' To 'slave 2'
+> [Fafard:Slave:(4) 2.371532] [lua/INFO] Slave 'slave 2' processing Task 10
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master done sending 'Task 10' To 'slave 2'
+> [Tremblay:Master:(1) 2.371532] [lua/INFO] Master sending  'Task 11' To 'slave 3'
+> [Ginette:Slave:(5) 2.727230] [lua/INFO] Slave 'slave 3': task Task 7 done
+> [Jupiter:Slave:(3) 2.808721] [lua/INFO] Slave 'slave 1': task Task 9 done
+> [Ginette:Slave:(5) 2.867690] [lua/INFO] Slave 'slave 3' processing Task 11
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master done sending 'Task 11' To 'slave 3'
+> [Tremblay:Master:(1) 2.867690] [lua/INFO] Master sending  'Task 12' To 'slave 0'
+> [Bourassa:Slave:(2) 3.018515] [lua/INFO] Slave 'slave 0': task Task 8 done
+> [Fafard:Slave:(4) 3.026874] [lua/INFO] Slave 'slave 2': task Task 10 done
+> [Bourassa:Slave:(2) 3.234387] [lua/INFO] Slave 'slave 0' processing Task 12
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master done sending 'Task 12' To 'slave 0'
+> [Tremblay:Master:(1) 3.234387] [lua/INFO] Master sending  'Task 13' To 'slave 1'
+> [Jupiter:Slave:(3) 3.400349] [lua/INFO] Slave 'slave 1' processing Task 13
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master done sending 'Task 13' To 'slave 1'
+> [Tremblay:Master:(1) 3.400349] [lua/INFO] Master sending  'Task 14' To 'slave 2'
+> [Fafard:Slave:(4) 3.618502] [lua/INFO] Slave 'slave 2' processing Task 14
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master done sending 'Task 14' To 'slave 2'
+> [Tremblay:Master:(1) 3.618502] [lua/INFO] Master sending  'Task 15' To 'slave 3'
+> [Ginette:Slave:(5) 3.898788] [lua/INFO] Slave 'slave 3': task Task 11 done
+> [Ginette:Slave:(5) 4.039247] [lua/INFO] Slave 'slave 3' processing Task 15
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master done sending 'Task 15' To 'slave 3'
+> [Tremblay:Master:(1) 4.039247] [lua/INFO] Master sending  'Task 16' To 'slave 0'
+> [Jupiter:Slave:(3) 4.055691] [lua/INFO] Slave 'slave 1': task Task 13 done
+> [Bourassa:Slave:(2) 4.265485] [lua/INFO] Slave 'slave 0': task Task 12 done
+> [Fafard:Slave:(4) 4.273845] [lua/INFO] Slave 'slave 2': task Task 14 done
+> [Bourassa:Slave:(2) 4.481357] [lua/INFO] Slave 'slave 0' processing Task 16
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master done sending 'Task 16' To 'slave 0'
+> [Tremblay:Master:(1) 4.481357] [lua/INFO] Master sending  'Task 17' To 'slave 1'
+> [Jupiter:Slave:(3) 4.647319] [lua/INFO] Slave 'slave 1' processing Task 17
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master done sending 'Task 17' To 'slave 1'
+> [Tremblay:Master:(1) 4.647319] [lua/INFO] Master sending  'Task 18' To 'slave 2'
+> [Fafard:Slave:(4) 4.865472] [lua/INFO] Slave 'slave 2' processing Task 18
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master done sending 'Task 18' To 'slave 2'
+> [Tremblay:Master:(1) 4.865472] [lua/INFO] Master sending  'Task 19' To 'slave 3'
+> [Ginette:Slave:(5) 5.070345] [lua/INFO] Slave 'slave 3': task Task 15 done
+> [Ginette:Slave:(5) 5.210805] [lua/INFO] Slave 'slave 3' processing Task 19
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master done sending 'Task 19' To 'slave 3'
+> [Tremblay:Master:(1) 5.210805] [lua/INFO] Master sending  'Task 20' To 'slave 0'
+> [Jupiter:Slave:(3) 5.302662] [lua/INFO] Slave 'slave 1': task Task 17 done
+> [Bourassa:Slave:(2) 5.512455] [lua/INFO] Slave 'slave 0': task Task 16 done
+> [Fafard:Slave:(4) 5.520815] [lua/INFO] Slave 'slave 2': task Task 18 done
+> [Bourassa:Slave:(2) 5.728328] [lua/INFO] Slave 'slave 0' processing Task 20
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master done sending 'Task 20' To 'slave 0'
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: All tasks have been dispatched. Let's tell everybody the computation is over.
+> [Tremblay:Master:(1) 5.728328] [lua/INFO] Master: sending finalize to slave 0
+> [Ginette:Slave:(5) 6.241903] [lua/INFO] Slave 'slave 3': task Task 19 done
+> [Bourassa:Slave:(2) 6.759426] [lua/INFO] Slave 'slave 0': task Task 20 done
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0' got finalize msg
+> [Bourassa:Slave:(2) 6.975298] [lua/INFO] Slave 'slave 0': I'm Done . See You !!
+> [Tremblay:Master:(1) 6.975298] [lua/INFO] Master: sending finalize to slave 1
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1' got finalize msg
+> [Jupiter:Slave:(3) 7.141260] [lua/INFO] Slave 'slave 1': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.141260] [lua/INFO] Master: sending finalize to slave 2
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2' got finalize msg
+> [Fafard:Slave:(4) 7.359413] [lua/INFO] Slave 'slave 2': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.359413] [lua/INFO] Master: sending finalize to slave 3
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3' got finalize msg
+> [Ginette:Slave:(5) 7.499872] [lua/INFO] Slave 'slave 3': I'm Done . See You !!
+> [Tremblay:Master:(1) 7.499872] [lua/INFO] Master: Everything's done.
+> [7.499872] [lua/INFO] Simulation's over.See you.
diff --git a/examples/lua/console/platform.lua b/examples/lua/console/platform.lua
new file mode 100644 (file)
index 0000000..19ebf50
--- /dev/null
@@ -0,0 +1,45 @@
+  --create new routing model
+  --simgrid.AS.new(AS_id,AS_mode)
+  simgrid.AS.new{id="AS0",mode="Full"}; 
+  --simgrid.Host.new(host_id,power)
+  simgrid.AS.addHost{AS="AS0",id="Tremblay",power=98095000};
+  simgrid.AS.addHost{AS="AS0",id="Jupiter",power=76296000};
+  simgrid.AS.addHost{AS="AS0",id="Fafard",power=76296000};
+  simgrid.AS.addHost{AS="AS0",id="Ginette",power=48492000};
+  simgrid.AS.addHost{AS="AS0",id="Bourassa",power=48492000};
+
+    -- create Links
+  for i=10,0,-1 do
+    simgrid.AS.addLink{AS="AS0",id=i,bandwidth=252750+ i*768,latency=0.000270544+i*0.087};  
+  end
+  -- simgrid.Route.new(src_id,des_id,links_nb,links_list)
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Jupiter",links="1"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Fafard",links="0,1,2,3,4,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Ginette",links="3,4,5"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Bourassa",links="0,1,3,2,4,6,7"};
+
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Tremblay",links="1"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Fafard",links="0,1,2,3,4,8,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Ginette",links="3,4,5,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Bourassa",links="0,1,2,3,4,6,7,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Tremblay",links="0,1,2,3,4,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Jupiter",links="0,1,2,3,4,8,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Ginette",links="0,1,2,5,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Bourassa",links="6,7,8"};
+  
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Tremblay",links="3,4,5"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Jupiter",links="3,4,5,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Fafard",links="0,1,2,5,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Bourassa",links="0,1,2,5,6,7"};
+
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Tremblay",links="0,1,3,2,4,6,7"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Jupiter",links="0,1,2,3,4,6,7,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Fafard",links="6,7,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Ginette",links="0,1,2,5,6,7"};
+  
+   --Save Platform
+   --simgrid.info("start registering platform");
+   simgrid.msg_register_platform();
+   --simgrid.info("platform registered");
diff --git a/examples/lua/console/slave.lua b/examples/lua/console/slave.lua
new file mode 100644 (file)
index 0000000..9c257c4
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+-- Slave Function ---------------------------------------------------------
+function Slave(...)
+
+local my_mailbox="slave "..arg[1]
+simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+
+while true do
+
+  local tk = simgrid.Task.recv(my_mailbox);
+  if (simgrid.Task.name(tk) == "finalize") then
+    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
+    break
+  end
+  --local tk_name = simgrid.Task.name(tk) 
+  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
+  simgrid.Task.execute(tk)
+  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
+end -- while
+
+simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+
+end 
+-- end_of_slave
diff --git a/examples/lua/masterslave/master.lua b/examples/lua/masterslave/master.lua
new file mode 100644 (file)
index 0000000..63b900c
--- /dev/null
@@ -0,0 +1,41 @@
+--Master Function
+function Master(...) 
+
+simgrid.info("Hello from lua, I'm the master")
+for i,v in ipairs(arg) do
+    simgrid.info("Got "..v)
+end
+
+nb_task = arg[1];
+comp_size = arg[2];
+comm_size = arg[3];
+slave_count = arg[4];
+
+if (#arg ~= 4) then
+    error("Argc should be 4");
+end
+simgrid.info("Argc="..(#arg).." (should be 4)")
+
+-- Dispatch the tasks
+
+for i=1,nb_task do
+  tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
+  alias = "slave "..(i%slave_count);
+  simgrid.info("Master sending  '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+  simgrid.Task.send(tk,alias); -- C user data set to NULL
+  simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+end
+
+-- Sending Finalize Message To Others
+
+simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
+for i=0,slave_count-1 do
+  alias = "slave "..i;
+  simgrid.info("Master: sending finalize to "..alias);
+  finalize = simgrid.Task.new("finalize",comp_size,comm_size);
+  simgrid.Task.send(finalize,alias)
+end
+  simgrid.info("Master: Everything's done.");
+end
+
+--end_of_master
diff --git a/examples/lua/masterslave/master_slave.lua b/examples/lua/masterslave/master_slave.lua
new file mode 100644 (file)
index 0000000..2d32e52
--- /dev/null
@@ -0,0 +1,16 @@
+dofile 'master.lua'
+dofile 'slave.lua'
+-- Simulation Code ----------------------------------------------------------
+
+require "simgrid"
+if (#arg == 2) then
+simgrid.platform(arg[1])
+simgrid.application(arg[2])
+else
+simgrid.platform("../../msg/small_platform.xml")
+simgrid.application("../deploy.xml")
+end
+simgrid.run()
+simgrid.info("Simulation's over.See you.")
+simgrid.clean()
+
diff --git a/examples/lua/masterslave/platform.lua b/examples/lua/masterslave/platform.lua
new file mode 100644 (file)
index 0000000..19ebf50
--- /dev/null
@@ -0,0 +1,45 @@
+  --create new routing model
+  --simgrid.AS.new(AS_id,AS_mode)
+  simgrid.AS.new{id="AS0",mode="Full"}; 
+  --simgrid.Host.new(host_id,power)
+  simgrid.AS.addHost{AS="AS0",id="Tremblay",power=98095000};
+  simgrid.AS.addHost{AS="AS0",id="Jupiter",power=76296000};
+  simgrid.AS.addHost{AS="AS0",id="Fafard",power=76296000};
+  simgrid.AS.addHost{AS="AS0",id="Ginette",power=48492000};
+  simgrid.AS.addHost{AS="AS0",id="Bourassa",power=48492000};
+
+    -- create Links
+  for i=10,0,-1 do
+    simgrid.AS.addLink{AS="AS0",id=i,bandwidth=252750+ i*768,latency=0.000270544+i*0.087};  
+  end
+  -- simgrid.Route.new(src_id,des_id,links_nb,links_list)
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Jupiter",links="1"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Fafard",links="0,1,2,3,4,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Ginette",links="3,4,5"};
+   simgrid.AS.addRoute{AS="AS0",src="Tremblay",dest="Bourassa",links="0,1,3,2,4,6,7"};
+
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Tremblay",links="1"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Fafard",links="0,1,2,3,4,8,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Ginette",links="3,4,5,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Jupiter",dest="Bourassa",links="0,1,2,3,4,6,7,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Tremblay",links="0,1,2,3,4,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Jupiter",links="0,1,2,3,4,8,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Ginette",links="0,1,2,5,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Fafard",dest="Bourassa",links="6,7,8"};
+  
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Tremblay",links="3,4,5"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Jupiter",links="3,4,5,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Fafard",links="0,1,2,5,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Ginette",dest="Bourassa",links="0,1,2,5,6,7"};
+
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Tremblay",links="0,1,3,2,4,6,7"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Jupiter",links="0,1,2,3,4,6,7,9"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Fafard",links="6,7,8"};
+   simgrid.AS.addRoute{AS="AS0",src="Bourassa",dest="Ginette",links="0,1,2,5,6,7"};
+  
+   --Save Platform
+   --simgrid.info("start registering platform");
+   simgrid.msg_register_platform();
+   --simgrid.info("platform registered");
diff --git a/examples/lua/masterslave/slave b/examples/lua/masterslave/slave
new file mode 100644 (file)
index 0000000..4c6fb60
--- /dev/null
@@ -0,0 +1,24 @@
+
+-- Slave Function ---------------------------------------------------------
+function Slave(...)
+
+local my_mailbox="slave "..arg[1]
+simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+
+while true do
+
+  local tk = simgrid.Task.recv(my_mailbox);
+  if (simgrid.Task.name(tk) == "finalize") then
+    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
+    break
+  end
+  --local tk_name = simgrid.Task.name(tk) 
+  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
+  simgrid.Task.execute(tk)
+  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
+end -- while
+
+simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+
+end 
+
diff --git a/examples/lua/masterslave/slave.lua b/examples/lua/masterslave/slave.lua
new file mode 100644 (file)
index 0000000..9c257c4
--- /dev/null
@@ -0,0 +1,25 @@
+
+
+-- Slave Function ---------------------------------------------------------
+function Slave(...)
+
+local my_mailbox="slave "..arg[1]
+simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+
+while true do
+
+  local tk = simgrid.Task.recv(my_mailbox);
+  if (simgrid.Task.name(tk) == "finalize") then
+    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
+    break
+  end
+  --local tk_name = simgrid.Task.name(tk) 
+  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
+  simgrid.Task.execute(tk)
+  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
+end -- while
+
+simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+
+end 
+-- end_of_slave
diff --git a/examples/lua/multi_matrix/mult_matrix.lua b/examples/lua/multi_matrix/mult_matrix.lua
new file mode 100644 (file)
index 0000000..ec81ed5
--- /dev/null
@@ -0,0 +1,11 @@
+dofile 'sender.lua'
+dofile 'receiver.lua'
+require "simgrid"
+simgrid.platform("quicksort_platform.xml")
+simgrid.application("quicksort_deployment.xml")
+simgrid.run()
+simgrid.info("Simulation's over.See you.")
+simgrid.clean()
+
+
+
diff --git a/examples/lua/multi_matrix/mult_matrix.tesh b/examples/lua/multi_matrix/mult_matrix.tesh
new file mode 100644 (file)
index 0000000..c2891fa
--- /dev/null
@@ -0,0 +1,14 @@
+# compile the mult_matrix example
+
+# Later modify the commande and specify the platform and deployment path
+
+! output sort
+$ lua mult_matrix.lua "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+> [  0.000000] (1:Sender@Inmos) Hello From Sender
+> [  0.000000] (1:Sender@Inmos) Argc=4 (should be 4)
+> [  0.000000] (1:Sender@Inmos) Sending matrix_task to Bellevue
+> [  0.000000] (2:Receiver@Bellevue) Hello From Receiver
+> [  0.000000] (2:Receiver@Bellevue) Receiving Task from Inmos
+> [  0.030276] (0:@) Simulation's over.See you.
+> [  0.030276] (1:Sender@Inmos) Got the Multiplication result ...Bye
+> [  0.030276] (2:Receiver@Bellevue) Calcul is done ... Bye
diff --git a/examples/lua/multi_matrix/quicksort_deployment.xml b/examples/lua/multi_matrix/quicksort_deployment.xml
new file mode 100644 (file)
index 0000000..1b4473b
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+  <process host="Inmos" function="Sender">
+      <argument value ="Bellevue"/>
+      <argument value="5000000"/>
+      <argument value="100000"/>
+      <argument value="Receiver"/> <!--will be used as a mailbox alias-->
+  </process>
+  <process host="Bellevue" function="Receiver">
+         <argument value="Inmos"/>
+         <argument value="Sender"/> <!--will be used as a mailbox alias-->
+  </process>
+</platform>
diff --git a/examples/lua/multi_matrix/quicksort_platform.xml b/examples/lua/multi_matrix/quicksort_platform.xml
new file mode 100644 (file)
index 0000000..1267916
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version='1.0'?>
+ <!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+ <platform version="3">
+ <AS  id="AS0"  routing="Full">
+   <!-- ljlkj -->
+   <host id="Inmos" power="98095000"/>
+   <host id="Bellevue" power="76296000"/>
+   <host id="Fafard" power="76296000"/>
+   <host id="Ginette" power="48492000"/>
+   <host id="Bourassa" power="48492000"/>
+   <link id="6" bandwidth="41279125" latency="5.9904e-05"/>
+   <link id="11" bandwidth="252750" latency="0.00570455"/>
+   <link id="3" bandwidth="34285625" latency="0.000514433"/>
+   <link id="7" bandwidth="11618875" latency="0.00018998"/>
+   <link id="9" bandwidth="7209750" latency="0.001461517"/>
+   <link id="12" bandwidth="1792625" latency="0.007877863"/>
+   <link id="2" bandwidth="118682500" latency="0.000136931"/>
+   <link id="8" bandwidth="8158000" latency="0.000270544"/>
+   <link id="1" bandwidth="34285625" latency="0.000514433"/>
+   <link id="4" bandwidth="10099625" latency="0.00047978"/>
+   <link id="0" bandwidth="41279125" latency="5.9904e-05"/>
+   <link id="10" bandwidth="4679750" latency="0.000848712"/>
+   <link id="5" bandwidth="27946250" latency="0.000278066"/>
+   <link id="loopback_FATPIPE" bandwidth="10000000" latency="0.1" sharing_policy="FATPIPE"/>
+   <link id="loopback" bandwidth="498000000" latency="0.000015"/>
+   <route src="Inmos" dst="Inmos"><link_ctn id="loopback"/></route>
+   <route src="Bellevue" dst="Bellevue"><link_ctn id="loopback"/></route>
+   <route src="Fafard" dst="Fafard"><link_ctn id="loopback"/></route>
+   <route src="Ginette" dst="Ginette"><link_ctn id="loopback"/></route>
+   <route src="Bourassa" dst="Bourassa"><link_ctn id="loopback"/></route>
+   <route src="Inmos" dst="Bellevue">
+     <link_ctn id="9"/>
+   </route>
+   <route src="Inmos" dst="Fafard">
+     <link_ctn id="4"/><link_ctn id="3"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="8"/>
+   </route>
+   <route src="Inmos" dst="Ginette">
+     <link_ctn id="4"/><link_ctn id="3"/><link_ctn id="5"/>
+   </route>
+   <route src="Inmos" dst="Bourassa">
+     <link_ctn id="4"/><link_ctn id="3"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="6"/><link_ctn id="7"/>
+   </route>
+   <route src="Bellevue" dst="Inmos">
+     <link_ctn id="9"/>
+   </route>
+   <route src="Bellevue" dst="Fafard">
+     <link_ctn id="9"/><link_ctn id="4"/><link_ctn id="3"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="8"/>
+   </route>
+   <route src="Bellevue" dst="Ginette">
+     <link_ctn id="9"/><link_ctn id="4"/><link_ctn id="3"/><link_ctn id="5"/>
+   </route>
+   <route src="Bellevue" dst="Bourassa">
+     <link_ctn id="9"/><link_ctn id="4"/><link_ctn id="3"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="6"/><link_ctn id="7"/>
+   </route>
+   <route src="Fafard" dst="Inmos">
+     <link_ctn id="8"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="3"/><link_ctn id="4"/>
+   </route>
+   <route src="Fafard" dst="Bellevue">
+     <link_ctn id="8"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="3"/><link_ctn id="4"/><link_ctn id="9"/>
+   </route>
+   <route src="Fafard" dst="Ginette">
+     <link_ctn id="8"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="5"/>
+   </route>
+   <route src="Fafard" dst="Bourassa">
+     <link_ctn id="8"/><link_ctn id="6"/><link_ctn id="7"/>
+   </route>
+   <route src="Ginette" dst="Inmos">
+     <link_ctn id="5"/><link_ctn id="3"/><link_ctn id="4"/>
+   </route>
+   <route src="Ginette" dst="Bellevue">
+     <link_ctn id="5"/><link_ctn id="3"/><link_ctn id="4"/><link_ctn id="9"/>
+   </route>
+   <route src="Ginette" dst="Fafard">
+     <link_ctn id="5"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="8"/>
+   </route>
+   <route src="Ginette" dst="Bourassa">
+     <link_ctn id="5"/><link_ctn id="2"/><link_ctn id="0"/><link_ctn id="1"/><link_ctn id="6"/><link_ctn id="7"/>
+   </route>
+   <route src="Bourassa" dst="Inmos">
+     <link_ctn id="7"/><link_ctn id="6"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="3"/><link_ctn id="4"/>
+   </route>
+   <route src="Bourassa" dst="Bellevue">
+     <link_ctn id="7"/><link_ctn id="6"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="3"/><link_ctn id="4"/><link_ctn id="9"/>
+   </route>
+   <route src="Bourassa" dst="Fafard">
+     <link_ctn id="7"/><link_ctn id="6"/><link_ctn id="8"/>
+   </route>
+   <route src="Bourassa" dst="Ginette">
+     <link_ctn id="7"/><link_ctn id="6"/><link_ctn id="1"/><link_ctn id="0"/><link_ctn id="2"/><link_ctn id="5"/>
+   </route>
+ </AS>
+ </platform>
diff --git a/examples/lua/multi_matrix/receiver.lua b/examples/lua/multi_matrix/receiver.lua
new file mode 100644 (file)
index 0000000..aa1978d
--- /dev/null
@@ -0,0 +1,54 @@
+------------------------------------------------------
+function Receiver(...)
+       
+       simgrid.info("Hello From Receiver")
+       sender = simgrid.Host.getByName(arg[1])
+       send_alias = arg[2]
+       recv_alias = "Receiver";
+       simgrid.info("Receiving Task from "..simgrid.Host.name(sender));
+       task = simgrid.Task.recv(recv_alias);
+       mm = mmult(task['size'],task['size'],task['matrix_1'],task['matrix_2']);
+       --mprint(task['size'],task['size'],mm)
+       task['matrix_res'] = mm;
+       simgrid.info("Calcul is done ... Bye");
+
+
+end
+
+local n = tonumber((arg and arg[1]) or 1)
+function mkmatrix(rows, cols)
+    local count = 1
+    local mx = {}
+    for i=0,(rows - 1) do
+    local row = {}
+    for j=0,(cols - 1) do
+        row[j] = count
+        count = count + 1
+    end
+    mx[i] = row
+    end
+    return(mx)
+end
+
+function mmult(rows, cols, m1, m2)
+    local m3 = {}
+    for i=0,(rows-1) do
+        m3[i] = {}
+        for j=0,(cols-1) do
+            local rowj = 0
+            for k=0,(cols-1) do
+                rowj = rowj + m1[i][k] * m2[k][j]
+            end
+            m3[i][j] = rowj
+        end
+    end
+    return(m3)
+end
+
+function mprint(rows,cols,m)
+ for i=0,(cols-1)do
+       for j=0,(rows-1)do
+               print (m[i][j])
+       end
+ end
+end
diff --git a/examples/lua/multi_matrix/sender.lua b/examples/lua/multi_matrix/sender.lua
new file mode 100644 (file)
index 0000000..7dfe0f3
--- /dev/null
@@ -0,0 +1,30 @@
+function Sender(...) 
+
+       simgrid.info("Hello From Sender")
+       receiver = simgrid.Host.getByName(arg[1])
+       task_comp = arg[2]
+       task_comm = arg[3]
+       rec_alias = arg[4]
+       
+       size = 4
+       m1 = mkmatrix(size, size)
+        m2 = mkmatrix(size, size)      
+
+       if (#arg ~= 4) then
+           error("Argc should be 4");
+       end
+       simgrid.info("Argc="..(#arg).." (should be 4)")
+
+       -- Sending Task
+       task = simgrid.Task.new("matrix_task",task_comp,task_comm);
+       task['matrix_1'] = m1;
+       task['matrix_2'] = m2;
+       task['size'] = size;
+       simgrid.info("Sending "..simgrid.Task.name(task).." to "..simgrid.Host.name(receiver));
+       simgrid.Task.send(task,rec_alias);
+       -- Read The Result 
+       mm = task['matrix_res']
+       simgrid.info("Got the Multiplication result ...Bye");
+       --mprint(size,size,mm);
+
+end
diff --git a/examples/lua/tracing/file.trace b/examples/lua/tracing/file.trace
new file mode 100644 (file)
index 0000000..bbaec1c
--- /dev/null
@@ -0,0 +1,8 @@
+PERIODICITY 10
+ 0  0.5
+10  0.5
+20  1.00
+30  0.5
+40  0.5
+50  0.5
+60  0.5
diff --git a/examples/lua/tracing/master.lua b/examples/lua/tracing/master.lua
new file mode 100644 (file)
index 0000000..98f6de7
--- /dev/null
@@ -0,0 +1,48 @@
+--Master Function
+function Master(...) 
+
+simgrid.info("Hello from lua, I'm the master")
+for i,v in ipairs(arg) do
+    simgrid.info("Got "..v)
+end
+
+prop_value = simgrid.Host.getPropValue(simgrid.Host.self(),"peace");
+simgrid.info("Prop Value >>> ".. prop_value);
+
+nb_task = arg[1];
+comp_size = arg[2];
+comm_size = arg[3];
+slave_count = arg[4]
+
+if (#arg ~= 4) then
+    error("Argc should be 4");
+end
+simgrid.info("Argc="..(#arg).." (should be 4)")
+
+-- Dispatch the tasks
+
+for i=1,nb_task do
+  tk = simgrid.Task.new("Task "..i,comp_size,comm_size);
+  alias = "slave "..(i%slave_count);
+  -- Set Trace Category
+  simgrid.Trace.setTaskCategory(tk,"compute");
+  simgrid.info("Master sending  '" .. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+  simgrid.Task.send(tk,alias); -- C user data set to NULL
+  simgrid.info("Master done sending '".. simgrid.Task.name(tk) .."' To '" .. alias .."'");
+end
+
+-- Sending Finalize Message To Others
+
+simgrid.info("Master: All tasks have been dispatched. Let's tell everybody the computation is over.");
+for i=0,slave_count-1 do
+  alias = "slave "..i;
+  simgrid.info("Master: sending finalize to "..alias);
+  finalize = simgrid.Task.new("finalize",comp_size,comm_size);
+  --set Trace Category 
+  simgrid.Trace.setTaskCategory(finalize,"finalize");
+  simgrid.Task.send(finalize,alias);
+end
+  simgrid.info("Master: Everything's done.");
+end
+
+--end of master
diff --git a/examples/lua/tracing/master_slave_trace.lua b/examples/lua/tracing/master_slave_trace.lua
new file mode 100644 (file)
index 0000000..e51b7d1
--- /dev/null
@@ -0,0 +1,24 @@
+dofile 'master.lua'
+dofile 'slave.lua'
+
+require "simgrid"
+-- Declaring the simulation tracing
+simgrid.Trace.start();
+-- Declaring tracing categories
+simgrid.Trace.category("compute");
+--:
+simgrid.Trace.category("finalize");
+
+if (#arg == 2) then
+simgrid.platform(arg[1])
+simgrid.application(arg[2])
+else
+simgrid.platform("../../msg/small_platform.xml")
+simgrid.application("../deploy.xml")
+end
+
+simgrid.run()
+simgrid.info("Simulation's over.See you.")
+simgrid.clean()
+simgrid.Trace.finish()
+
diff --git a/examples/lua/tracing/simgrid.trace b/examples/lua/tracing/simgrid.trace
new file mode 100644 (file)
index 0000000..19fa836
--- /dev/null
@@ -0,0 +1,163 @@
+%EventDef PajeDefineContainerType 0 
+%       Alias string 
+%       ContainerType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDefineStateType 1 
+%       Alias string 
+%       ContainerType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDefineEntityValue 2 
+%       Alias string 
+%       EntityType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDefineEventType 3 
+%       Alias string 
+%       EntityType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDefineLinkType 4 
+%       Alias string 
+%       ContainerType string 
+%       SourceContainerType string 
+%       DestContainerType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeCreateContainer 5 
+%       Time date 
+%       Alias string 
+%       Type string 
+%       Container string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDestroyContainer 9 
+%       Time date 
+%       Type string 
+%       Container string 
+%EndEventDef 
+%EventDef PajeSetState 6 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+%EventDef PajePopState 8 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%EndEventDef
+%EventDef PajeStartLink 12 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%       SourceContainer string 
+%       Key string 
+%EndEventDef
+%EventDef PajeEndLink 13 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%       DestContainer string 
+%       Key string 
+%EndEventDef
+%EventDef PajePushState 19 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+%EventDef PajeSetVariable 22 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+%EventDef PajeAddVariable 23 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+%EventDef PajeSubVariable 24 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+%EventDef PajeDefineVariableType 25 
+%       Alias string 
+%       ContainerType string 
+%       Name string 
+%EndEventDef 
+%EventDef PajeDefineVariableType 21 
+%       Alias string 
+%       ContainerType string 
+%       Name string 
+%       Color color 
+%EndEventDef 
+%EventDef PajeStartLink 26 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%       SourceContainer string 
+%       Key string 
+%       Volume string 
+%EndEventDef
+%EventDef PajeNewEvent 27 
+%       Time date 
+%       EntityType string 
+%       Container string 
+%       Value string 
+%EndEventDef
+0 PLATFORM 0 platform
+0 HOST PLATFORM HOST
+0 LINK PLATFORM LINK
+5 0.000000 platform PLATFORM 0 simgrid-platform
+0 user_type 0 user_type
+5 0.000000 compute user_type 0 compute
+5 0.000000 finalize user_type 0 finalize
+5 0.000000 Tremblay HOST platform Tremblay
+5 0.000000 Jupiter HOST platform Jupiter
+5 0.000000 Fafard HOST platform Fafard
+5 0.000000 Ginette HOST platform Ginette
+5 0.000000 Bourassa HOST platform Bourassa
+5 0.000000 0x9ba7920 LINK platform 6
+5 0.000000 0x9ba7d40 LINK platform 11
+5 0.000000 0x9ba8160 LINK platform 3
+5 0.000000 0x9ba8580 LINK platform 7
+5 0.000000 0x9ba89a0 LINK platform 9
+5 0.000000 0x9ba8dc0 LINK platform 12
+5 0.000000 0x9ba91e0 LINK platform 2
+5 0.000000 0x9ba9600 LINK platform 8
+5 0.000000 0x9ba9a20 LINK platform 1
+5 0.000000 0x9ba9e40 LINK platform 4
+5 0.000000 0x9baa260 LINK platform 0
+5 0.000000 0x9baa680 LINK platform 10
+5 0.000000 0x9baaaa0 LINK platform 5
+27 0.000000 source 0x9ba89a0 Tremblay
+27 0.000000 destination 0x9ba89a0 Jupiter
+27 0.000000 source 0x9ba89a0 Jupiter
+27 0.000000 destination 0x9ba89a0 Tremblay
+9 7.499872 HOST Fafard
+9 7.499872 HOST Tremblay
+9 7.499872 HOST Bourassa
+9 7.499872 HOST Jupiter
+9 7.499872 HOST Ginette
+9 7.499872 LINK 0x9ba91e0
+9 7.499872 LINK 0x9ba8160
+9 7.499872 LINK 0x9ba9a20
+9 7.499872 LINK 0x9baa680
+9 7.499872 LINK 0x9ba89a0
+9 7.499872 LINK 0x9ba7920
+9 7.499872 LINK 0x9ba8dc0
+9 7.499872 LINK 0x9baaaa0
+9 7.499872 LINK 0x9ba8580
+9 7.499872 LINK 0x9baa260
+9 7.499872 LINK 0x9ba7d40
+9 7.499872 LINK 0x9ba9e40
+9 7.499872 LINK 0x9ba9600
diff --git a/examples/lua/tracing/slave.lua b/examples/lua/tracing/slave.lua
new file mode 100644 (file)
index 0000000..0b6541d
--- /dev/null
@@ -0,0 +1,24 @@
+
+-- Slave Function ---------------------------------------------------------
+function Slave(...)
+
+local my_mailbox="slave "..arg[1]
+simgrid.info("Hello from lua, I'm a poor slave with mbox: "..my_mailbox)
+
+while true do
+
+  local tk = simgrid.Task.recv(my_mailbox);
+  if (simgrid.Task.name(tk) == "finalize") then
+    simgrid.info("Slave '" ..my_mailbox.."' got finalize msg");
+    break
+  end
+  --local tk_name = simgrid.Task.name(tk) 
+  simgrid.info("Slave '" ..my_mailbox.."' processing "..simgrid.Task.name(tk))
+  simgrid.Task.execute(tk)
+  simgrid.info("Slave '" ..my_mailbox.."': task "..simgrid.Task.name(tk) .. " done")
+end -- while
+
+simgrid.info("Slave '" ..my_mailbox.."': I'm Done . See You !!");
+
+end
+