All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Ryo Tsuruta <ryov@valinux.co.jp>
Cc: dm-devel@redhat.com, vivek.goyal2008@gmail.com, agk@redhat.com,
	linux-kernel@vger.kernel.org
Subject: Re: Re: dm-ioband: Test results.
Date: Wed, 15 Apr 2009 13:04:15 -0400	[thread overview]
Message-ID: <20090415170415.GE15067@redhat.com> (raw)
In-Reply-To: <20090414.183022.71120459.ryov@valinux.co.jp>

On Tue, Apr 14, 2009 at 06:30:22PM +0900, Ryo Tsuruta wrote:
> Hi Vivek,
> 
> > I quickly looked at the xls sheet. Most of the test cases seem to be
> > direct IO. Have you done testing with buffered writes/async writes and
> > been able to provide service differentiation between cgroups?
> > 
> > For example, two "dd" threads running in two cgroups doing writes.
> 
> Thanks for taking a look at the sheet. I did a buffered write test
> with "fio." Only two "dd" threads can't generate enough I/O load to
> make dm-ioband start bandwidth control. The following is a script that
> I actually used for the test.
> 
>   #!/bin/bash
>   sync
>   echo 1 > /proc/sys/vm/drop_caches
>   arg="--size=64m --rw=write --numjobs=50 --group_reporting"
>   echo $$ > /cgroup/1/tasks
>   fio $arg --name=ioband1 --directory=/mnt1 --output=ioband1.log &
>   echo $$ > /cgroup/2/tasks
>   fio $arg --name=ioband2 --directory=/mnt2 --output=ioband2.log &
>   echo $$ > /cgroup/tasks
>   wait
> 

Ryo,

Can you also send bio-cgroup patches which apply to 2.6.30-rc1 so that
I can do testing for async writes.

Why have you split the regular patch and bio-cgroup patch? Do you want
to address only reads and sync writes?

In the above test case, do these "fio" jobs finish at different times?
In my testing I see that two dd generate a lot of traffic at IO scheudler
level but traffic seems to be bursty. So when higher weight process has
done some IO, it seems to disappear for .2 to 1 seconds and in that
time other writer gets to do lot of IO and eradicates any service
difference provided so far. 

I am not sure where this high priority writer is blocked and that needs
to be looked into. But I am sure that you will also face the same issue.

Thanks
Vivek

> I created two dm-devices to easily monitor the throughput of each
> cgroup by iostat, and gave weights of 200 for cgroup1 and 100 for
> cgroup2 that means cgroup1 can use twice bandwidth of cgroup2. The
> following is a part of the output of iostat. dm-0 and dm-1 corresponds
> to ioband1 and ioband2. You can see the bandwidth is according to the
> weights.
> 
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.99    0.00    6.44   92.57    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3549.00         0.00     28392.00          0      28392
>   dm-1           1797.00         0.00     14376.00          0      14376
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              1.01    0.00    4.02   94.97    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3919.00         0.00     31352.00          0      31352
>   dm-1           1925.00         0.00     15400.00          0      15400
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.00    0.00    5.97   94.03    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3534.00         0.00     28272.00          0      28272
>   dm-1           1773.00         0.00     14184.00          0      14184
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.50    0.00    6.00   93.50    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           4053.00         0.00     32424.00          0      32424
>   dm-1           2039.00         8.00     16304.00          8      16304
> 

> Thanks,
> Ryo Tsuruta

WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Ryo Tsuruta <ryov@valinux.co.jp>
Cc: dm-devel@redhat.com, vivek.goyal2008@gmail.com,
	linux-kernel@vger.kernel.org, agk@redhat.com
Subject: Re: [dm-devel] Re: dm-ioband: Test results.
Date: Wed, 15 Apr 2009 13:04:15 -0400	[thread overview]
Message-ID: <20090415170415.GE15067@redhat.com> (raw)
In-Reply-To: <20090414.183022.71120459.ryov@valinux.co.jp>

On Tue, Apr 14, 2009 at 06:30:22PM +0900, Ryo Tsuruta wrote:
> Hi Vivek,
> 
> > I quickly looked at the xls sheet. Most of the test cases seem to be
> > direct IO. Have you done testing with buffered writes/async writes and
> > been able to provide service differentiation between cgroups?
> > 
> > For example, two "dd" threads running in two cgroups doing writes.
> 
> Thanks for taking a look at the sheet. I did a buffered write test
> with "fio." Only two "dd" threads can't generate enough I/O load to
> make dm-ioband start bandwidth control. The following is a script that
> I actually used for the test.
> 
>   #!/bin/bash
>   sync
>   echo 1 > /proc/sys/vm/drop_caches
>   arg="--size=64m --rw=write --numjobs=50 --group_reporting"
>   echo $$ > /cgroup/1/tasks
>   fio $arg --name=ioband1 --directory=/mnt1 --output=ioband1.log &
>   echo $$ > /cgroup/2/tasks
>   fio $arg --name=ioband2 --directory=/mnt2 --output=ioband2.log &
>   echo $$ > /cgroup/tasks
>   wait
> 

Ryo,

Can you also send bio-cgroup patches which apply to 2.6.30-rc1 so that
I can do testing for async writes.

Why have you split the regular patch and bio-cgroup patch? Do you want
to address only reads and sync writes?

In the above test case, do these "fio" jobs finish at different times?
In my testing I see that two dd generate a lot of traffic at IO scheudler
level but traffic seems to be bursty. So when higher weight process has
done some IO, it seems to disappear for .2 to 1 seconds and in that
time other writer gets to do lot of IO and eradicates any service
difference provided so far. 

I am not sure where this high priority writer is blocked and that needs
to be looked into. But I am sure that you will also face the same issue.

Thanks
Vivek

> I created two dm-devices to easily monitor the throughput of each
> cgroup by iostat, and gave weights of 200 for cgroup1 and 100 for
> cgroup2 that means cgroup1 can use twice bandwidth of cgroup2. The
> following is a part of the output of iostat. dm-0 and dm-1 corresponds
> to ioband1 and ioband2. You can see the bandwidth is according to the
> weights.
> 
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.99    0.00    6.44   92.57    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3549.00         0.00     28392.00          0      28392
>   dm-1           1797.00         0.00     14376.00          0      14376
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              1.01    0.00    4.02   94.97    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3919.00         0.00     31352.00          0      31352
>   dm-1           1925.00         0.00     15400.00          0      15400
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.00    0.00    5.97   94.03    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           3534.00         0.00     28272.00          0      28272
>   dm-1           1773.00         0.00     14184.00          0      14184
>   
>   avg-cpu:  %user   %nice %system %iowait  %steal   %idle
>              0.50    0.00    6.00   93.50    0.00    0.00
>   
>   Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
>   dm-0           4053.00         0.00     32424.00          0      32424
>   dm-1           2039.00         8.00     16304.00          8      16304
> 

> Thanks,
> Ryo Tsuruta

  reply	other threads:[~2009-04-15 17:04 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-13  4:05 dm-ioband: Test results Ryo Tsuruta
2009-04-13 14:46 ` Vivek Goyal
2009-04-13 14:46   ` Vivek Goyal
2009-04-14  2:49   ` Vivek Goyal
2009-04-14  2:49     ` Vivek Goyal
2009-04-14  5:27     ` Ryo Tsuruta
2009-04-14  9:30   ` Ryo Tsuruta
2009-04-14  9:30     ` [dm-devel] " Ryo Tsuruta
2009-04-15 17:04     ` Vivek Goyal [this message]
2009-04-15 17:04       ` Vivek Goyal
2009-04-16 12:56       ` Ryo Tsuruta
2009-04-16 12:56         ` Ryo Tsuruta
2009-04-16 13:32         ` Vivek Goyal
2009-04-16 13:32           ` [dm-devel] " Vivek Goyal
2009-04-15  4:37 ` Vivek Goyal
2009-04-15  4:37   ` Vivek Goyal
2009-04-15 13:38   ` Ryo Tsuruta
2009-04-15 14:10     ` Vivek Goyal
2009-04-15 14:10       ` Vivek Goyal
2009-04-15 16:17     ` Vivek Goyal
2009-04-15 16:17       ` Vivek Goyal
2009-04-16  2:47     ` [dm-devel] " Ryo Tsuruta
2009-04-16 14:11       ` Vivek Goyal
2009-04-16 14:11         ` [dm-devel] " Vivek Goyal
2009-04-16 20:24         ` Nauman Rafique
2009-04-20  8:29           ` Ryo Tsuruta
2009-04-20  8:29             ` [dm-devel] " Ryo Tsuruta
2009-04-20  9:07             ` Nauman Rafique
2009-04-21 12:06               ` Ryo Tsuruta
2009-04-21 12:10                 ` Ryo Tsuruta
2009-04-21 12:10                   ` [dm-devel] " Ryo Tsuruta
2009-04-21 13:57                   ` Mike Snitzer
2009-04-21 13:57                     ` Mike Snitzer
2009-04-21 14:16                     ` Vivek Goyal
2009-04-21 14:16                       ` Vivek Goyal
2009-04-22  0:50                       ` Li Zefan
2009-04-22  3:14                       ` Ryo Tsuruta
2009-04-22  3:14                         ` [dm-devel] " Ryo Tsuruta
2009-04-22 15:18                         ` Mike Snitzer
2009-04-22 15:18                           ` Mike Snitzer
2009-04-27 10:30                           ` Ryo Tsuruta
2009-04-27 10:30                             ` Ryo Tsuruta
2009-04-27 12:44                             ` Ryo Tsuruta
2009-04-27 12:44                               ` Ryo Tsuruta
2009-04-27 13:03                             ` Mike Snitzer
2009-04-27 13:03                               ` Mike Snitzer
2009-04-20 21:37             ` Vivek Goyal
2009-04-20 21:37               ` [dm-devel] " Vivek Goyal
2009-04-21 12:18               ` Ryo Tsuruta
2009-04-16 20:57 ` Vivek Goyal
2009-04-16 20:57   ` Vivek Goyal
2009-04-17  2:11   ` Vivek Goyal
2009-04-17  2:11     ` Vivek Goyal
2009-04-17  2:28     ` Vivek Goyal
2009-04-17  2:28       ` Vivek Goyal

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=20090415170415.GE15067@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ryov@valinux.co.jp \
    --cc=vivek.goyal2008@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.