From: Vivek Goyal <vgoyal@redhat.com>
To: Rik van Riel <riel@redhat.com>
Cc: guijianfeng@cn.fujitsu.com, linux-kernel@vger.kernel.org,
jmoyer@redhat.com, dm-devel@redhat.com, jens.axboe@oracle.com,
Nauman Rafique <nauman@google.com>,
akpm@linux-foundation.org, agk@redhat.com,
balbir@linux.vnet.ibm.com
Subject: Re: Regarding dm-ioband tests
Date: Tue, 8 Sep 2009 13:54:00 -0400 [thread overview]
Message-ID: <20090908175400.GE15974@redhat.com> (raw)
In-Reply-To: <4AA68AA5.10505@redhat.com>
On Tue, Sep 08, 2009 at 12:47:33PM -0400, Rik van Riel wrote:
> Nauman Rafique wrote:
>
>> I think this is probably the key deal breaker. dm-ioband has no
>> mechanism to anticipate or idle for a reader task. Without such a
>> mechanism, a proportional division scheme cannot work for tasks doing
>> reads.
>
> That is a really big issue, since most reads tend to be synchronous
> (the application is waiting for the read), while many writes are not
> (the application is doing something else while the data is written).
>
> Having writes take precedence over reads will really screw over the
> readers, while not benefitting the writers all that much.
>
I ran a test to show how readers can be starved in certain cases. I launched
one reader and three writers. I ran this test twice. First without dm-ioband
and then with dm-ioband.
Following are few lines from the script to launch readers and writers.
**************************************************************
sync
echo 3 > /proc/sys/vm/drop_caches
# Launch writers on sdd2
dd if=/dev/zero of=/mnt/sdd2/writezerofile1 bs=4K count=262144 &
# Launch writers on sdd1
dd if=/dev/zero of=/mnt/sdd1/writezerofile1 bs=4K count=262144 &
dd if=/dev/zero of=/mnt/sdd1/writezerofile2 bs=4K count=262144 &
echo "sleeping for 5 seconds"
sleep 5
# launch reader on sdd1
time dd if=/mnt/sdd1/testzerofile1 of=/dev/zero &
echo "launched reader $!"
*********************************************************************
Without dm-ioband, reader finished in roughly 5 seconds.
289533952 bytes (290 MB) copied, 5.16765 s, 56.0 MB/s
real 0m5.300s
user 0m0.098s
sys 0m0.492s
With dm-ioband, reader took, more than 2 minutes to finish.
289533952 bytes (290 MB) copied, 122.386 s, 2.4 MB/s
real 2m2.569s
user 0m0.107s
sys 0m0.548s
I had created ioband1 on /dev/sdd1 and ioband2 on /dev/sdd2 with weights
200 and 100 respectively.
Thanks
Vivek
WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Rik van Riel <riel@redhat.com>
Cc: Nauman Rafique <nauman@google.com>,
Ryo Tsuruta <ryov@valinux.co.jp>,
linux-kernel@vger.kernel.org, dm-devel@redhat.com,
jens.axboe@oracle.com, agk@redhat.com, akpm@linux-foundation.org,
guijianfeng@cn.fujitsu.com, jmoyer@redhat.com,
balbir@linux.vnet.ibm.com
Subject: Re: Regarding dm-ioband tests
Date: Tue, 8 Sep 2009 13:54:00 -0400 [thread overview]
Message-ID: <20090908175400.GE15974@redhat.com> (raw)
In-Reply-To: <4AA68AA5.10505@redhat.com>
On Tue, Sep 08, 2009 at 12:47:33PM -0400, Rik van Riel wrote:
> Nauman Rafique wrote:
>
>> I think this is probably the key deal breaker. dm-ioband has no
>> mechanism to anticipate or idle for a reader task. Without such a
>> mechanism, a proportional division scheme cannot work for tasks doing
>> reads.
>
> That is a really big issue, since most reads tend to be synchronous
> (the application is waiting for the read), while many writes are not
> (the application is doing something else while the data is written).
>
> Having writes take precedence over reads will really screw over the
> readers, while not benefitting the writers all that much.
>
I ran a test to show how readers can be starved in certain cases. I launched
one reader and three writers. I ran this test twice. First without dm-ioband
and then with dm-ioband.
Following are few lines from the script to launch readers and writers.
**************************************************************
sync
echo 3 > /proc/sys/vm/drop_caches
# Launch writers on sdd2
dd if=/dev/zero of=/mnt/sdd2/writezerofile1 bs=4K count=262144 &
# Launch writers on sdd1
dd if=/dev/zero of=/mnt/sdd1/writezerofile1 bs=4K count=262144 &
dd if=/dev/zero of=/mnt/sdd1/writezerofile2 bs=4K count=262144 &
echo "sleeping for 5 seconds"
sleep 5
# launch reader on sdd1
time dd if=/mnt/sdd1/testzerofile1 of=/dev/zero &
echo "launched reader $!"
*********************************************************************
Without dm-ioband, reader finished in roughly 5 seconds.
289533952 bytes (290 MB) copied, 5.16765 s, 56.0 MB/s
real 0m5.300s
user 0m0.098s
sys 0m0.492s
With dm-ioband, reader took, more than 2 minutes to finish.
289533952 bytes (290 MB) copied, 122.386 s, 2.4 MB/s
real 2m2.569s
user 0m0.107s
sys 0m0.548s
I had created ioband1 on /dev/sdd1 and ioband2 on /dev/sdd2 with weights
200 and 100 respectively.
Thanks
Vivek
next prev parent reply other threads:[~2009-09-08 17:54 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-01 16:50 Regarding dm-ioband tests Vivek Goyal
2009-09-01 16:50 ` Vivek Goyal
2009-09-01 17:47 ` Vivek Goyal
2009-09-01 17:47 ` Vivek Goyal
2009-09-03 13:11 ` Vivek Goyal
2009-09-03 13:11 ` Vivek Goyal
2009-09-04 1:12 ` Ryo Tsuruta
2009-09-15 21:40 ` dm-ioband fairness in terms of sectors seems to be killing disk (Was: Re: Regarding dm-ioband tests) Vivek Goyal
2009-09-15 21:40 ` Vivek Goyal
2009-09-16 11:10 ` dm-ioband fairness in terms of sectors seems to be killing disk Ryo Tsuruta
2009-09-16 11:10 ` Ryo Tsuruta
2009-09-04 4:02 ` Regarding dm-ioband tests Ryo Tsuruta
2009-09-04 4:02 ` Ryo Tsuruta
2009-09-04 23:11 ` Vivek Goyal
2009-09-04 23:11 ` Vivek Goyal
2009-09-07 11:02 ` Ryo Tsuruta
2009-09-07 11:02 ` Ryo Tsuruta
2009-09-07 13:53 ` Rik van Riel
2009-09-07 13:53 ` Rik van Riel
2009-09-08 3:01 ` Ryo Tsuruta
2009-09-08 3:01 ` Ryo Tsuruta
2009-09-08 3:22 ` Balbir Singh
2009-09-08 3:22 ` Balbir Singh
2009-09-08 5:05 ` Ryo Tsuruta
2009-09-08 5:05 ` Ryo Tsuruta
2009-09-08 13:49 ` Vivek Goyal
2009-09-08 13:49 ` Vivek Goyal
2009-09-09 5:17 ` Ryo Tsuruta
2009-09-09 5:17 ` Ryo Tsuruta
2009-09-09 13:34 ` Vivek Goyal
2009-09-09 13:34 ` Vivek Goyal
2009-09-08 13:42 ` Vivek Goyal
2009-09-08 13:42 ` Vivek Goyal
2009-09-08 16:30 ` Nauman Rafique
2009-09-08 16:30 ` Nauman Rafique
2009-09-08 16:47 ` Rik van Riel
2009-09-08 16:47 ` Rik van Riel
2009-09-08 17:54 ` Vivek Goyal [this message]
2009-09-08 17:54 ` Vivek Goyal
2009-09-15 23:37 ` ioband: Writer starves reader even without competitors (Re: Regarding dm-ioband tests) Vivek Goyal
2009-09-15 23:37 ` Vivek Goyal
2009-09-16 12:08 ` ioband: Writer starves reader even without competitors Ryo Tsuruta
2009-09-08 17:06 ` Regarding dm-ioband tests Dhaval Giani
2009-09-09 6:05 ` Ryo Tsuruta
2009-09-09 6:05 ` Ryo Tsuruta
2009-09-09 10:51 ` Dhaval Giani
2009-09-10 7:58 ` Ryo Tsuruta
2009-09-10 7:58 ` Ryo Tsuruta
2009-09-11 9:53 ` Dhaval Giani
2009-09-15 15:12 ` Ryo Tsuruta
2009-09-15 15:12 ` Ryo Tsuruta
2009-09-15 15:19 ` Balbir Singh
2009-09-15 15:19 ` Balbir Singh
2009-09-15 15:58 ` Rik van Riel
2009-09-15 15:58 ` Rik van Riel
2009-09-15 16:21 ` Ryo Tsuruta
2009-09-15 16:21 ` Ryo Tsuruta
2009-09-09 13:57 ` Vivek Goyal
2009-09-09 13:57 ` Vivek Goyal
2009-09-10 3:06 ` Ryo Tsuruta
2009-09-09 10:01 ` Ryo Tsuruta
2009-09-09 14:31 ` Vivek Goyal
2009-09-09 14:31 ` Vivek Goyal
2009-09-10 3:45 ` Ryo Tsuruta
2009-09-10 13:25 ` Vivek Goyal
2009-09-10 13:25 ` Vivek Goyal
2009-09-08 19:24 ` Rik van Riel
2009-09-08 19:24 ` Rik van Riel
2009-09-09 0:09 ` Fabio Checconi
2009-09-09 2:06 ` Vivek Goyal
2009-09-09 2:06 ` Vivek Goyal
2009-09-09 15:41 ` Fabio Checconi
2009-09-09 17:30 ` Vivek Goyal
2009-09-09 17:30 ` Vivek Goyal
2009-09-09 19:01 ` Fabio Checconi
2009-09-09 9:24 ` Ryo Tsuruta
2009-09-09 9:24 ` Ryo Tsuruta
2009-09-16 4:45 ` ioband: Limited fairness and weak isolation between groups (Was: Re: Regarding dm-ioband tests) Vivek Goyal
2009-09-16 4:45 ` Vivek Goyal
2009-09-18 7:33 ` ioband: Limited fairness and weak isolation between groups 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=20090908175400.GE15974@redhat.com \
--to=vgoyal@redhat.com \
--cc=agk@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=balbir@linux.vnet.ibm.com \
--cc=dm-devel@redhat.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=jens.axboe@oracle.com \
--cc=jmoyer@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=nauman@google.com \
--cc=riel@redhat.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.