Commit 92607446 authored by Leigh Stoller's avatar Leigh Stoller

Add NS syntax for setting the packing strategy:

	tb-set-packing-strategy pack|balance

defaults to null, which means no strategy (whatever assign does).
parent dc39d6d4
...@@ -112,6 +112,7 @@ my $debug = 0; ...@@ -112,6 +112,7 @@ my $debug = 0;
# be updated. # be updated.
# #
%experiment_fields = ("multiplex_factor" => 1, %experiment_fields = ("multiplex_factor" => 1,
"packing_strategy" => 1,
"forcelinkdelays" => 1, "forcelinkdelays" => 1,
"uselinkdelays" => 1, "uselinkdelays" => 1,
"usewatunnels" => 1, "usewatunnels" => 1,
......
...@@ -288,6 +288,8 @@ my $real_user = User->RealUser(); ...@@ -288,6 +288,8 @@ my $real_user = User->RealUser();
# multiplex_factor default. # multiplex_factor default.
$mfactor = $experiment->multiplex_factor() $mfactor = $experiment->multiplex_factor()
if (!defined($mfactor) && defined($experiment->multiplex_factor())); if (!defined($mfactor) && defined($experiment->multiplex_factor()));
$packoption = $experiment->packing_strategy()
if (!defined($packoption) && defined($experiment->packing_strategy()));
# NS file can say to run the prepass. # NS file can say to run the prepass.
my $useprepass = $experiment->useprepass(); my $useprepass = $experiment->useprepass();
......
#!/usr/local/bin/otclsh #!/usr/local/bin/otclsh
# #
# Copyright (c) 2000-2014 University of Utah and the Flux Group. # Copyright (c) 2000-2016 University of Utah and the Flux Group.
# #
# {{{EMULAB-LICENSE # {{{EMULAB-LICENSE
# #
...@@ -227,6 +227,9 @@ namespace eval GLOBALS { ...@@ -227,6 +227,9 @@ namespace eval GLOBALS {
# Control multiplex_factor for the experiment. Crude. # Control multiplex_factor for the experiment. Crude.
variable multiplex_factor {} variable multiplex_factor {}
# Control packing strategy for the experiment. pack or balance.
variable packing_strategy {}
# The name of the sync_server # The name of the sync_server
variable sync_server {} variable sync_server {}
......
# -*- tcl -*- # -*- tcl -*-
# #
# Copyright (c) 2000-2015 University of Utah and the Flux Group. # Copyright (c) 2000-2016 University of Utah and the Flux Group.
# #
# {{{EMULAB-LICENSE # {{{EMULAB-LICENSE
# #
...@@ -501,6 +501,7 @@ Simulator instproc run {} { ...@@ -501,6 +501,7 @@ Simulator instproc run {} {
var_import ::GLOBALS::uselinkdelays var_import ::GLOBALS::uselinkdelays
var_import ::GLOBALS::forcelinkdelays var_import ::GLOBALS::forcelinkdelays
var_import ::GLOBALS::multiplex_factor var_import ::GLOBALS::multiplex_factor
var_import ::GLOBALS::packing_strategy
var_import ::GLOBALS::sync_server var_import ::GLOBALS::sync_server
var_import ::GLOBALS::use_ipassign var_import ::GLOBALS::use_ipassign
var_import ::GLOBALS::ipassign_args var_import ::GLOBALS::ipassign_args
...@@ -742,6 +743,10 @@ Simulator instproc run {} { ...@@ -742,6 +743,10 @@ Simulator instproc run {} {
lappend fields "multiplex_factor" lappend fields "multiplex_factor"
lappend values $multiplex_factor lappend values $multiplex_factor
} }
if { $packing_strategy != {} } {
lappend fields "packing_strategy"
lappend values $packing_strategy
}
if { $sync_server != {} } { if { $sync_server != {} } {
lappend fields "sync_server" lappend fields "sync_server"
......
# -*- tcl -*- # -*- tcl -*-
# #
# Copyright (c) 2000-2014 University of Utah and the Flux Group. # Copyright (c) 2000-2016 University of Utah and the Flux Group.
# #
# {{{EMULAB-LICENSE # {{{EMULAB-LICENSE
# #
...@@ -1541,6 +1541,20 @@ proc tb-set-colocate-factor {factor} { ...@@ -1541,6 +1541,20 @@ proc tb-set-colocate-factor {factor} {
set multiplex_factor $factor set multiplex_factor $factor
} }
#
# Set the packing strategy assign uses.
#
proc tb-set-packing-strategy {strategy} {
var_import ::GLOBALS::packing_strategy
if {$strategy != "pack" && $strategy != "balance"} {
perror "\[tb-set-packing-strategy] strategy must be pack|balance"
return
}
set packing_strategy $strategy
}
# #
# Set the sync server for the experiment. Must a vnode name that has been # Set the sync server for the experiment. Must a vnode name that has been
# allocated. # allocated.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment