From: haotian <haotian.zhang@windriver.com>
To: Ryo Tsuruta <ryov@valinux.co.jp>
Cc: zumeng.chen@windriver.com, bruce.ashfield@windriver.com,
linux-kernel@vger.kernel.org, dm-devel@redhat.com,
containers@lists.linux-foundation.org,
virtualization@lists.linux-foundation.org,
xen-devel@lists.xensource.com, fernando@oss.ntt.co.jp,
"haotian.zhang" <haotian.zhang@windriver.com>
Subject: Re: [PATCH 0/2] dm-ioband: I/O bandwidth controller v1.8.0: Introduction
Date: Thu, 23 Oct 2008 18:02:38 +0800 [thread overview]
Message-ID: <1224756158.8286.36.camel@pek-hzhang-d1> (raw)
In-Reply-To: <20081022.170536.193712541.ryov@valinux.co.jp>
Hi Ryo Tsuruta:
This is Haotian Zhang, I am testing the bio_tracking as your benchmark
reports.
I follow the test procedure as you describe in web page with the
xdd-count.sh, but the results are not to indicate the implementation of
IO count-based bandwidth control on per bio-cgroups.
The testing approach is as follow:
1, mount bio-cgroup on /cgroup
#mount -t cgroup -bio none /cgroup
2, create 3 cgroup
#cd /cgroup \
mkdir 1 2 3
3, create 3 ioband device on each partiton,
a.I have 3 ext2 partition /dev/sda5 sda6 sda7:
# cat /proc/partitions
major minor #blocks name
8 0 58605120 sda
8 1 32901088 sda1
8 2 1 sda2
8 5 8152956 sda5
8 6 8924076 sda6
8 7 8626873 sda7
b. Give weights of 40, 20 and 10 to cgroup1, cgroup2 and cgroup3
respectively, and create ioband device:
#echo "0 $DEVSIZE1 ioband $DEV1 1 0 0" \
"cgroup weight 0 :100 1:40 2:20 3:10" | dmsetup create ioband1
#echo "0 $DEVSIZE2 ioband $DEV2 1 0 0" \
"cgroup weight 0 :100 1:40 2:20 3:10" | dmsetup create ioband2
#echo "0 $DEVSIZE3 ioband $DEV3 1 0 0" \
"cgroup weight 0 :100 1:40 2:20 3:10" | dmsetup create ioband3
/*============================================================================
"NOTE"
The variables are exported as:
DEV1=/dev/sda5
DEV2=/dev/sda6
DEV3=/dev/sda7
DEVSIZE1=$(blockdev --getsize $DEV1)
DEVSIZE2=$(blockdev --getsize $DEV2)
DEVSIZE3=$(blockdev --getsize $DEV3)
RANGE=10240
XDDOPT="-op write -queuedepth 32 -blocksize 512 -reqsize 64
-seek random -datapattern random -dio -timelimit 60
-mbytes $RANGE -seek range $((RANGE * 1048576 / 512))"
============================================================================*/
c. Check out the ioband:
#ls /dev/mapper/
control ioband1 ioband2 ioband3
4, Run 32 processes random direct I/O with data on each ioband device in
60 seconds:
//******* THE first device ioband1 /dev/sda5 ***************//
#export XDDOPT="-op write -queuedepth 32 -blocksize 512 -reqsize 64
-seek random -datapattern random -dio -timelimit 60 -mbytes 10240 -seek
range 20971520"
#echo $$ > /cgroup/1/tasks
#xdd.linux -targets 1 /dev/mapper/ioband1 $XDDOPT -output cgroup1.txt
#tail -4 /root/cgroup1.txt
T Q Bytes Ops Time Rate IOPS
Latency %CPU OP_Type ReqSize
Combined 1 32 262766592 8019 60.203 4.365 133.20
0.0075 0.01 write 32768
Ending time for this run, Thu Oct 23 01:46:38 2008
//******* THE second device ioband2 /dev/sda6 ***************//
Using another ssh terminal
#export XDDOPT="-op write -queuedepth 32 -blocksize 512 -reqsize 64
-seek random -datapattern random -dio -timelimit 60 -mbytes 10240 -seek
range 20971520"
#echo $$ > /cgroup/2/tasks
#xdd.linux -targets 1 /dev/mapper/ioband2 $XDDOPT -output cgroup2.txt
#tail -4 /root/cgroup2.txt
T Q Bytes Ops Time Rate IOPS
Latency %CPU OP_Type ReqSize
Combined 1 32 243662848 7436 60.263 4.043 123.39
0.0081 0.01 write 32768
Ending time for this run, Thu Oct 23 01:50:55 2008
//******* THE third device ioband3 /dev/sda7 ***************//
Using another ssh terminal
#export XDDOPT="-op write -queuedepth 32 -blocksize 512 -reqsize 64
-seek random -datapattern random -dio -timelimit 60 -mbytes 10240 -seek
range 20971520"
#echo $$ > /cgroup/3/tasks
#xdd.linux -targets 1 /dev/mapper/ioband3 $XDDOPT -output cgroup3.txt
#tail -4 /root/cgroup3.txt
T Q Bytes Ops Time Rate IOPS
Latency %CPU OP_Type ReqSize
Combined 1 32 222986240 6805 60.073 3.712 113.28
0.0088 0.01 write 32768
Ending time for this run, Thu Oct 23 01:58:31 2008
The results are almost the same. I can not see any change of Direct I/O
performance for this bio-cgroup kernel feature with dm-ioband support!
Does the methord to caculate throughout should be the Rate of xdd.linux
output?
Dose my testing approach should be correct? If not, please help me point
out.
Thanks,
Haotian.
On Wed, 2008-10-22 at 17:05 +0900, Ryo Tsuruta wrote:
> Hi Chen,
>
> > Chen Zumeng wrote:
> > > Hi, Ryo Tsuruta
> > > And our test team want to test bio_tracking as your benchmark reports,
> > > so would you please send me your test codes? Thanks in advance.
> > Hi Ryo Tsuruta,
> >
> > I wonder if you received last email, so I reply this email to ask
> > for your bio_tracking test codes to generate your benchmark reports
> > as shown in your website. Thanks in advance :)
>
> I've uploaded two scripts here:
> http://people.valinux.co.jp/~ryov/dm-ioband/scripts/xdd-count.sh
> http://people.valinux.co.jp/~ryov/dm-ioband/scripts/xdd-size.sh
>
> xdd-count.sh controls bandwidth based on the number of I/O requests,
> and xdd-size.sh controls bandwidth based onthe number of I/O sectors.
> Theses scritpts require xdd disk I/O testing tool which can be
> downloaded from here:
> http://www.ioperformance.com/products.htm
>
> Please feel free to ask me questions if you have any questions.
>
> > > P.S. The following are my changes to avoid schedule_timeout:
>
> Thanks, but your patch seems to cause a problem when ioband devices
> which have the same name are created at the same time. I will fix the
> issue in the next release.
>
> Thanks,
> Ryo Tsuruta
next prev parent reply other threads:[~2008-10-23 10:03 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-17 7:09 Ryo Tsuruta
2008-10-17 7:10 ` [PATCH 1/2] dm-ioband: I/O bandwidth controller v1.8.0: Source code and patch Ryo Tsuruta
2008-10-17 7:11 ` [PATCH 2/2] dm-ioband: I/O bandwidth controller v1.8.0: Document Ryo Tsuruta
2008-10-20 8:40 ` [PATCH 0/2] dm-ioband: I/O bandwidth controller v1.8.0: Introduction Dong-Jae Kang
2008-10-20 9:01 ` Ryo Tsuruta
2008-10-20 10:13 ` Dong-Jae Kang
2008-10-20 12:48 ` Ryo Tsuruta
2008-10-21 2:00 ` KAMEZAWA Hiroyuki
2008-10-21 11:10 ` Chen Zumeng
2008-10-22 7:55 ` Chen Zumeng
2008-10-22 8:05 ` Ryo Tsuruta
2008-10-22 8:12 ` Chen Zumeng
2008-10-23 10:02 ` haotian [this message]
2008-10-23 11:28 ` Ryo Tsuruta
2008-10-22 10:38 ` Ryo Tsuruta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1224756158.8286.36.camel@pek-hzhang-d1 \
--to=haotian.zhang@windriver.com \
--cc=bruce.ashfield@windriver.com \
--cc=containers@lists.linux-foundation.org \
--cc=dm-devel@redhat.com \
--cc=fernando@oss.ntt.co.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=ryov@valinux.co.jp \
--cc=virtualization@lists.linux-foundation.org \
--cc=xen-devel@lists.xensource.com \
--cc=zumeng.chen@windriver.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®