Bug 762008 (GLUSTER-276)

Summary: write behind needs to be optimized.
Product: [Community] GlusterFS Reporter: Raghavendra G <raghavendra>
Component: write-behindAssignee: Raghavendra G <raghavendra>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 2.0.6CC: gluster-bugs, rabhat
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTNR Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
callgrind report for dd on booster
none
callgrind report for recital after optimization none

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.)