Bug 762008 (GLUSTER-276) - write behind needs to be optimized.
Summary: write behind needs to be optimized.
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: GLUSTER-276
Product: GlusterFS
Classification: Community
Component: write-behind
Version: 2.0.6
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-09-21 14:02 UTC by Raghavendra G
Modified: 2009-11-23 05:57 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed:
Regression: RTNR
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)
callgrind report for dd on booster (213.53 KB, application/octet-stream)
2009-09-21 11:05 UTC, Raghavendra G
no flags Details
callgrind report for recital after optimization (238.74 KB, application/octet-stream)
2009-09-23 05:31 UTC, Raghavendra G
no flags Details

Description Raghavendra G 2009-09-21 11:05:05 UTC
Created attachment 73 [details]
This patch fixes the -x option of the cp command.

Comment 1 Raghavendra G 2009-09-21 11:06:01 UTC
The setup consists of write-behind on dht. write behind has flush-behind turned on and has a window-size configured to 4MB.

Comment 2 Raghavendra G 2009-09-21 14:02:53 UTC
write behind is showing under-par performance. This is evident in a booster set-up, where the application is doing large number of small-sized writes. Attached is the valgrind report of the dd on booster doing 1 million writes each of 140 bytes. The report shows the application spending lots of time in traversing the request-queue in write-behind.

Comment 3 Anand Avati 2009-09-22 10:13:09 UTC
PATCH: http://patches.gluster.com/patch/1433 in master (performance/write-behind: fine-tune logic of wb_mark_winds)

Comment 4 Anand Avati 2009-09-22 10:13:13 UTC
PATCH: http://patches.gluster.com/patch/1434 in master (performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf.)

Comment 5 Anand Avati 2009-09-22 10:13:17 UTC
PATCH: http://patches.gluster.com/patch/1435 in master (performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_ sync.)

Comment 6 Anand Avati 2009-09-22 10:13:20 UTC
PATCH: http://patches.gluster.com/patch/1437 in master (performance/write-behind: reduce list-traversal during wb_mark_unwinds)

Comment 7 Anand Avati 2009-09-22 10:13:24 UTC
PATCH: http://patches.gluster.com/patch/1436 in master (performance/write-behind: reduce traversal of request list during wb_mark_winds.)

Comment 8 Anand Avati 2009-09-22 10:13:28 UTC
PATCH: http://patches.gluster.com/patch/1438 in master (performance/write-behind: add option "enable-trickling-writes".)

Comment 9 Anand Avati 2009-09-22 10:14:14 UTC
PATCH: http://patches.gluster.com/patch/1424 in release-2.0 (performance/write-behind: fine-tune logic of wb_mark_winds)

Comment 10 Anand Avati 2009-09-22 10:14:17 UTC
PATCH: http://patches.gluster.com/patch/1425 in release-2.0 (performance/write-behind: Aggregate adjacent contiguous write-buffers into single iobuf.)

Comment 11 Anand Avati 2009-09-22 10:14:22 UTC
PATCH: http://patches.gluster.com/patch/1427 in release-2.0 (performance/write-behind: remove redundant traversal of write-requests in the wind list in wb_sync.)

Comment 12 Anand Avati 2009-09-22 10:14:25 UTC
PATCH: http://patches.gluster.com/patch/1426 in release-2.0 (performance/write-behind: reduce list-traversal during wb_mark_unwinds)

Comment 13 Anand Avati 2009-09-22 10:14:29 UTC
PATCH: http://patches.gluster.com/patch/1428 in release-2.0 (performance/write-behind: reduce traversal of request list during wb_mark_winds.)

Comment 14 Anand Avati 2009-09-22 10:14:33 UTC
PATCH: http://patches.gluster.com/patch/1429 in release-2.0 (performance/write-behind: add option "enable-trickling-writes".)

Comment 15 Raghavendra G 2009-09-23 05:31:45 UTC
Created attachment 74 [details]
text shaping patch for mc-4.5.42

callgrind report for recital after optimization

Comment 16 Anand Avati 2009-09-23 05:47:11 UTC
PATCH: http://patches.gluster.com/patch/1446 in master (performance/write-behind: reduce usage of iov_length.)

Comment 17 Anand Avati 2009-09-23 05:47:15 UTC
PATCH: http://patches.gluster.com/patch/1447 in master (performance/write-behind: store the current window size in wb_file.)

Comment 18 Anand Avati 2009-09-23 05:47:19 UTC
PATCH: http://patches.gluster.com/patch/1448 in master (performance/write-behind: store currently aggregated data size in wb_file)

Comment 19 Anand Avati 2009-09-23 05:47:23 UTC
PATCH: http://patches.gluster.com/patch/1443 in release-2.0 (performance/write-behind: reduce usage of iov_length.)

Comment 20 Anand Avati 2009-09-23 05:47:26 UTC
PATCH: http://patches.gluster.com/patch/1444 in release-2.0 (performance/write-behind: store the current window size in wb_file.)

Comment 21 Anand Avati 2009-09-23 05:47:30 UTC
PATCH: http://patches.gluster.com/patch/1445 in release-2.0 (performance/write-behind: store currently aggregated data size in wb_file)

Comment 22 Anand Avati 2009-10-09 06:00:43 UTC
PATCH: http://patches.gluster.com/patch/1838 in master (performance/write-behind: Add enable-trickling-writes to volume_options.)


Note You need to log in before you can comment on or make changes to this bug.