summaryrefslogtreecommitdiff
path: root/TAO/performance-tests
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-10-24 03:54:06 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-10-24 03:54:06 +0000
commita6e3cd0e69aff476f8f863b46f49179f1da0f21b (patch)
tree266028e471ec4c94ed904ae07facb97a7ba0ad27 /TAO/performance-tests
parent986ffb7c590663989889b20905043c5e69b4a824 (diff)
downloadATCD-a6e3cd0e69aff476f8f863b46f49179f1da0f21b.tar.gz
Minor changes and enhancements.
Diffstat (limited to 'TAO/performance-tests')
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/client.cpp14
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/invocation-priorities-native2
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/rates2
-rwxr-xr-xTAO/performance-tests/RTCorba/Thread_Pool/run_test.pl95
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/server.cpp14
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/svc.conf2
-rw-r--r--TAO/performance-tests/RTCorba/Thread_Pool/svc.conf-native2
7 files changed, 87 insertions, 44 deletions
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/client.cpp b/TAO/performance-tests/RTCorba/Thread_Pool/client.cpp
index e1ffbbbffb5..6e0264cf576 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/client.cpp
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/client.cpp
@@ -240,12 +240,18 @@ int
start_synchronization (test_ptr test,
Synchronizers &synchronizers)
{
+ CORBA::ULong synchronization_iterations = 1;
ACE_TRY_NEW_ENV
{
- test->method (work,
- prime_number,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
+ for (CORBA::ULong i = 0;
+ i < synchronization_iterations;
+ ++i)
+ {
+ test->method (work,
+ prime_number,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+ }
}
ACE_CATCHANY
{
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/invocation-priorities-native b/TAO/performance-tests/RTCorba/Thread_Pool/invocation-priorities-native
index adcc0d672a8..244ef5af279 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/invocation-priorities-native
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/invocation-priorities-native
@@ -1 +1 @@
-33 66 99
+40 80
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/rates b/TAO/performance-tests/RTCorba/Thread_Pool/rates
index a396b14e8bf..ed40cec79ba 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/rates
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/rates
@@ -1 +1 @@
-5 10 15
+10 20
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/run_test.pl b/TAO/performance-tests/RTCorba/Thread_Pool/run_test.pl
index 245ee62cbab..9cd020fe308 100755
--- a/TAO/performance-tests/RTCorba/Thread_Pool/run_test.pl
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/run_test.pl
@@ -24,9 +24,9 @@ for ($rate = $min_rate, $i = 0;
@rates[$i] = $rate;
}
-$min_work = 10;
-$max_work = 30;
-$work_increment = 1;
+$min_work = 150;
+$max_work = 410;
+$work_increment = 10;
for ($work = $min_work, $i = 0;
$work <= $max_work;
@@ -46,6 +46,17 @@ for ($thread = $min_thread, $i = 0;
@threads[$i] = $thread;
}
+$min_pool_priority = 1;
+$max_pool_priority = 99;
+$pool_priority_increment = 40;
+
+for ($pool_priority = $min_pool_priority, $i = 0;
+ $pool_priority <= $max_pool_priority;
+ $pool_priority += $pool_priority_increment, $i += 1)
+{
+ @pool_priorities[$i] = $pool_priority;
+}
+
@workers = (1, 2, 3, 5, 10, 15, 20);
$results_directory = "results";
@@ -62,16 +73,19 @@ $results_directory = "results";
"thread-nolanes",
"thread-lanes-increase",
"thread-lanes-decrease",
- "work-pool-high",
- "work-pool-medium",
- "work-pool-low",
- "work-pool-zero",
);
+for $pool_priority (@pool_priorities)
+{
+ $test_type = "work-pool-".$pool_priority;
+ push @test_types, $test_type;
+}
+
$iorfile = "ior";
$work = 13;
$time_for_test = 10;
$max_throughput_timeout = 5;
+$pool_threads = 3;
# Parse the arguments
for ($i = 0; $i <= $#ARGV; $i++) {
@@ -116,6 +130,13 @@ for ($i = 0; $i <= $#ARGV; $i++) {
}
print STDERR ")\n";
+ print STDERR "\t-pool-priorities: defaults to (";
+ for $pool_priority (@pool_priorities)
+ {
+ print STDERR "$pool_priority, ";
+ }
+ print STDERR ")\n";
+
print STDERR "\n";
$CL = new PerlACE::Process ("client", "-h");
@@ -148,6 +169,10 @@ for ($i = 0; $i <= $#ARGV; $i++) {
@threads = split (',', $ARGV[$i + 1]);
$i++;
}
+ elsif ($ARGV[$i] eq "-pool-priorities") {
+ @pool_priorities = split (',', $ARGV[$i + 1]);
+ $i++;
+ }
elsif ($ARGV[$i] eq "-o")
{
$extra_args .= " " . $ARGV[$i];
@@ -170,6 +195,11 @@ for ($i = 0; $i <= $#ARGV; $i++) {
$i++;
$max_throughput_timeout = $ARGV[$i];
}
+ elsif ($ARGV[$i] eq "-s")
+ {
+ $i++;
+ $pool_threads = $ARGV[$i];
+ }
else
{
$extra_args .= " " . $ARGV[$i];
@@ -220,22 +250,6 @@ $fixed_client_args = "-w $work -t $time_for_test -z $max_throughput_timeout";
description => "thread-lanes-decrease",
server => "-l three-lanes-with-best-effort -b three-bands-with-best-effort",
},
- {
- description => "work-pool-high",
- server => "-s 3 -f 32767",
- },
- {
- description => "work-pool-medium",
- server => "-s 3 -f 21844",
- },
- {
- description => "work-pool-low",
- server => "-s 3 -f 10922",
- },
- {
- description => "work-pool-zero",
- server => "-s 3 -f 0",
- },
);
for $test (@configurations)
@@ -316,21 +330,6 @@ for $test (@configurations)
$test->{clients}[$i - 1] .= " -x 1";
}
- elsif ($test->{description} eq "work-pool-high" or
- $test->{description} eq "work-pool-medium" or
- $test->{description} eq "work-pool-low" or
- $test->{description} eq "work-pool-zero")
- {
- $i = 0;
- for $work (@works)
- {
- $test->{clients}[$i] = "-w $work -r rates -t $time_for_test -z $max_throughput_timeout";
- $i++;
- }
-
- $test->{clients}[$i - 1] .= " -x 1";
- }
-
#
# setup work-lanes-decrease test
#
@@ -392,6 +391,26 @@ for $test (@configurations)
}
}
+for $pool_priority (@pool_priorities)
+{
+ $new_configuration = {};
+ $pool_args = "-ORBsvcconf svc.conf-native -p invocation-priorities-native";
+ $test_type = "work-pool-".$pool_priority;
+ $new_configuration->{description} = $test_type;
+ $new_configuration->{server} = "-f $pool_priority -s $pool_threads $pool_args";
+
+ $i = 0;
+ for $work (@works)
+ {
+ $new_configuration->{clients}[$i] = "-w $work -r rates -t $time_for_test -z $max_throughput_timeout $pool_args";
+ $i++;
+ }
+
+ $new_configuration->{clients}[$i - 1] .= " -x 1";
+
+ push @configurations, $new_configuration;
+}
+
sub run_client
{
print STDOUT "\n______________________________________________________\n";
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/server.cpp b/TAO/performance-tests/RTCorba/Thread_Pool/server.cpp
index a67d864dbc8..1789a23b11f 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/server.cpp
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/server.cpp
@@ -329,6 +329,20 @@ main (int argc, char *argv[])
rt_orb->create_threadpool_policy (threadpool_id,
ACE_TRY_ENV);
ACE_TRY_CHECK;
+
+ if (ACE_OS::strcmp (bands_file, "empty-file") != 0)
+ {
+ result =
+ get_priority_bands ("server",
+ bands_file,
+ rt_orb.in (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_TRY_CHECK;
+
+ if (result != 0)
+ return result;
+ }
}
policies.length (policies.length () + 1);
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf b/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf
index eec17e0d88c..bbfe0d82654 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf
@@ -6,3 +6,5 @@ static RT_ORB_Loader "-ORBPriorityMapping linear -ORBSchedPolicy SCHED_FIFO -ORB
# For testing of RT threads (with native priority)
# static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBScopePolicy SYSTEM"
+
+static Client_Strategy_Factory "-ORBTransportMuxStrategy EXCLUSIVE"
diff --git a/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf-native b/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf-native
index a61ec67ad24..cfda9a19500 100644
--- a/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf-native
+++ b/TAO/performance-tests/RTCorba/Thread_Pool/svc.conf-native
@@ -1,2 +1,4 @@
# For testing of RT threads (with native priority)
static RT_ORB_Loader "-ORBSchedPolicy SCHED_FIFO -ORBScopePolicy SYSTEM"
+
+static Client_Strategy_Factory "-ORBTransportMuxStrategy EXCLUSIVE"