Worstcase Latency Test Scenario

From RTwiki
(Difference between revisions)
Jump to: navigation, search
(Stress Environments (for WorcaseCase))
 
(10 intermediate revisions by one user not shown)
Line 1: Line 1:
 
This is Realtime Latency Test Scenario during 24hours. In this experiment,I adjusted CPU Affinity Policy to reduce Latency overheads in the Multicore.
 
This is Realtime Latency Test Scenario during 24hours. In this experiment,I adjusted CPU Affinity Policy to reduce Latency overheads in the Multicore.
  
 +
= Requirements =
 
Prepare cyclictest(rt-tests), taskset, chrt, ltp-full-20090531.tar.gz ,hackbench , ping, dd, tar, netperf commands.
 
Prepare cyclictest(rt-tests), taskset, chrt, ltp-full-20090531.tar.gz ,hackbench , ping, dd, tar, netperf commands.
  
 +
<pre>
 
- H/W Informatoin : Core2 Quad CPU
 
- H/W Informatoin : Core2 Quad CPU
 
 
- Target board : 192.168.155.20(Private IP)
 
- Target board : 192.168.155.20(Private IP)
 
+
- Opensource Utilities:  
- Opensource Utilities: http://blogfiles6.naver.net/data42/2009/6/19/149/opensource-list-scheduling-invain.png
+
  http://blogfiles6.naver.net/data42/2009/6/19/149/opensource-list-scheduling-invain.png
 
+
- Graphical Test Map:  
- Graphical Test Map: http://blogfiles13.naver.net/data44/2009/6/19/108/latency-worstcase-testscenario-invain.png
+
  http://blogfiles13.naver.net/data44/2009/6/19/108/latency-worstcase-testscenario-invain.png
 
+
</pre>
  
 
= Latency Test Scenario =
 
= Latency Test Scenario =
Test scenario to measure a latency guarantee in the worstcase environments using simple script and commands.  
+
This is Test scenario to measure a latency guarantee in the worstcase environments using simple script and commands.  
  
 +
== Latency Test ==
 
<pre>
 
<pre>
 
ssh geunsik@192.168.155.20
 
ssh geunsik@192.168.155.20
cd /opt/testsuite-20080530/cyclictest/rt-tests-0.42
+
cd /opt/
 +
git clone git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
 +
cd rt-tests
 +
make clean ; make
 +
cp ./cyclictest /usr/sbin/
  
 
# This is task to keep Latency(Max limitation: 200uSec) at the worst case.
 
# This is task to keep Latency(Max limitation: 200uSec) at the worst case.
Line 23: Line 29:
 
# If you need histogram information just, Please Use -h option.
 
# If you need histogram information just, Please Use -h option.
 
time cyclictest -t1 -p 99 -i 1000 -n -l 1000000000000 -d 86400 -m -a 1
 
time cyclictest -t1 -p 99 -i 1000 -n -l 1000000000000 -d 86400 -m -a 1
 +
</pre>
  
 +
== Stress Environments (for WorcaseCase) ==
 +
* Tip) Utilize iotop & top command to monitor CPU & IO Ratio.
 +
<pre>
 
# Now, Below test code is background stress for the worst case in RT system.
 
# Now, Below test code is background stress for the worst case in RT system.
 
time cyclictest -t50 -p 80 -i 10000 -n -l 100000000000 -d 86400  -a 3
 
time cyclictest -t50 -p 80 -i 10000 -n -l 100000000000 -d 86400  -a 3
Line 38: Line 48:
 
cd ltp-full-20090531; while true; do ./runalltests.sh -x 40; done  &
 
cd ltp-full-20090531; while true; do ./runalltests.sh -x 40; done  &
 
----------------------------
 
----------------------------
# Tip) Utilize iotop & top command to monitor CPU & IO Ratio.
+
 
 
# For 100% Usage of CPU Load using ping
 
# For 100% Usage of CPU Load using ping
 
taskset -c 0 /bin/ping -l 100000 -q -s 10 -f localhost &
 
taskset -c 0 /bin/ping -l 100000 -q -s 10 -f localhost &
Line 47: Line 57:
 
# For 100% Usage of I/O Load using linux-2.6.30 tar source like tiobench s/w.
 
# For 100% Usage of I/O Load using linux-2.6.30 tar source like tiobench s/w.
 
# Don't forget disk total usage ratio (ex: df ).
 
# Don't forget disk total usage ratio (ex: df ).
 +
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6.30
 
cd /opt
 
cd /opt
 
while true; do taskset -c 0 tar cvzf test1.tgz  ./linux-2.6.30 ; done  &
 
while true; do taskset -c 0 tar cvzf test1.tgz  ./linux-2.6.30 ; done  &
Line 67: Line 78:
  
 
</pre>
 
</pre>
 +
 +
= Contacts=
 +
* Geunsik Lim, leemgs1@gmail.com

Latest revision as of 08:09, 17 February 2011

This is Realtime Latency Test Scenario during 24hours. In this experiment,I adjusted CPU Affinity Policy to reduce Latency overheads in the Multicore.

Contents

[edit] Requirements

Prepare cyclictest(rt-tests), taskset, chrt, ltp-full-20090531.tar.gz ,hackbench , ping, dd, tar, netperf commands.

- H/W Informatoin : Core2 Quad CPU
- Target board : 192.168.155.20(Private IP)
- Opensource Utilities: 
  http://blogfiles6.naver.net/data42/2009/6/19/149/opensource-list-scheduling-invain.png
- Graphical Test Map: 
  http://blogfiles13.naver.net/data44/2009/6/19/108/latency-worstcase-testscenario-invain.png

[edit] Latency Test Scenario

This is Test scenario to measure a latency guarantee in the worstcase environments using simple script and commands.

[edit] Latency Test

ssh geunsik@192.168.155.20
cd /opt/
git clone git://git.kernel.org/pub/scm/linux/kernel/git/clrkwllms/rt-tests.git
cd rt-tests
make clean ; make
cp ./cyclictest /usr/sbin/

# This is task to keep Latency(Max limitation: 200uSec) at the worst case.
# Written by GeunSik,Lim 
# If you need histogram information just, Please Use -h option.
time cyclictest -t1 -p 99 -i 1000 -n -l 1000000000000 -d 86400 -m -a 1

[edit] Stress Environments (for WorcaseCase)

* Tip) Utilize iotop & top command to monitor CPU & IO Ratio.
# Now, Below test code is background stress for the worst case in RT system.
time cyclictest -t50 -p 80 -i 10000 -n -l 100000000000 -d 86400  -a 3

taskset -c 2,3 ./stress.20080904.sh
---------------------------
#!/bin/sh
# Most hardcore test (Ingo Molnar - http://lkml.org/lkml/2005/6/22/347)
# For Heavy CPU Ratio.
while true; do /bin/dd if=/dev/zero of=bigfile bs=1024000 count=1024; done &
while true; do /usr/bin/killall hackbench; sleep 5; done &
while true; do /sbin/hackbench 20; done &
# some source code(ltp-full-20090531) consists of sched_setschduler() with FIFO 99.
cd ltp-full-20090531; while true; do ./runalltests.sh -x 40; done  &
----------------------------

# For 100% Usage of CPU Load using ping
taskset -c 0 /bin/ping -l 100000 -q -s 10 -f localhost &
taskset -c 1 /bin/ping -l 100000 -q -s 10 -f localhost &
taskset -c 2 /bin/ping -l 100000 -q -s 10 -f localhost &
taskset -c 3 /bin/ping -l 100000 -q -s 10 -f localhost &

# For 100% Usage of I/O Load using linux-2.6.30 tar source like tiobench s/w.
# Don't forget disk total usage ratio (ex: df ).
# git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6.30
cd /opt
while true; do taskset -c 0 tar cvzf test1.tgz  ./linux-2.6.30 ; done  &
while true; do taskset -c 1 tar cvzf test2.tgz  ./linux-2.6.30 ; done  &
while true; do taskset -c 2 tar cvzf test3.tgz  ./linux-2.6.30 ; done  &
while true; do taskset -c 3 tar cvzf test4.tgz  ./linux-2.6.30 ; done  &

# Estimate file space usage ( for I/O Load)
while true; do taskset -c 3 /bin/du / ; done  &

# Network Stress ( Network Performance & Stress )
/usr/bin/netserver
/usr/bin/netperf -H 192.168.155.20 -t TCP_STREAM -A 16K,16K -l 3600
# Streamming Stress using firefox webbrowser.
firefox http://www.intomail.net/stream.php

# USB Disk I/O Stress(External HDD's I/O )
cd /media/usb/
taskset -c 2 tar cvzf test5.tgz  /media/usb/linux-2.6.30 &

[edit] Contacts

* Geunsik Lim, leemgs1@gmail.com
Personal tools