diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-10-24 03:54:06 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-10-24 03:54:06 +0000 |
commit | a6e3cd0e69aff476f8f863b46f49179f1da0f21b (patch) | |
tree | 266028e471ec4c94ed904ae07facb97a7ba0ad27 /TAO/performance-tests | |
parent | 986ffb7c590663989889b20905043c5e69b4a824 (diff) | |
download | ATCD-a6e3cd0e69aff476f8f863b46f49179f1da0f21b.tar.gz |
Minor changes and enhancements.
Diffstat (limited to 'TAO/performance-tests')
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" |