Worstcase Latency Test Scenario

From RTwiki
(Difference between revisions)
Jump to: navigation, search
m (Protected "Worstcase Latency Test Scenario": This page has been migrated to the Linux Foundation RT wiki. (‎[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)))
(Remove Content)
 
Line 2: Line 2:
 
<b>This wiki is being migrated to the Linux Foundation Real-Time Linux Project hosted wiki. The new page is available at: https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/worstcaselatency. This page is now deprecated.</b>
 
<b>This wiki is being migrated to the Linux Foundation Real-Time Linux Project hosted wiki. The new page is available at: https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/worstcaselatency. This page is now deprecated.</b>
 
</div>
 
</div>
 
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.
 
 
<pre>
 
- 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
 
</pre>
 
 
= Latency Test Scenario =
 
This is Test scenario to measure a latency guarantee in the worstcase environments using simple script and commands.
 
 
== Latency Test ==
 
<pre>
 
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
 
</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.
 
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 &
 
 
</pre>
 
 
= Contacts=
 
* Geunsik Lim, leemgs1@gmail.com
 

Latest revision as of 14:45, 17 July 2017

This wiki is being migrated to the Linux Foundation Real-Time Linux Project hosted wiki. The new page is available at: https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/worstcaselatency. This page is now deprecated.

Personal tools