Skip to contentSkip to conversation

file streams allocator behavior

DISCUSSION Richard Scobie 3 participants 5 messages Oct 25, 2014 – Oct 26, 2014

lore
Share & tools
lore
#0 lore raw
Quoted 2 lines · Stan Hoeppner

How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test?

Hi Stan,

Instead of mounting with -o filestreams, would using the chattr flag instead help?

See http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html

Regards,

Richard

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#1 lore raw
Quoted 5 lines · Richard Scobie
Quoted 2 lines · Stan Hoeppner

How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test?

Quoted 7 lines

Hi Stan,

Instead of mounting with -o filestreams, would using the chattr flag instead help?

See
http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html

That won't help. That turns it on (if it's not enabled by default these days). I need to turn off the behavior I'm seeing, whether it's due to the filestreams allocator or default inode64. Then again it may not be possible to turn it off...

Anyone have other ideas on how to accomplish my goal? Parallel writes to a single AG on the outer platter edge vs the same to all AGs across the entire platter? I'm simply trying to demonstrate the differences in aggregate bandwidth due to the extra seek latency of all AGs case.

Thanks,
Stan

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#2 lore raw
Quoted 19 lines · Stan Hoeppner
Quoted 5 lines · Richard Scobie
Quoted 2 lines · Stan Hoeppner

How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test?

Quoted 7 lines

Hi Stan,

Instead of mounting with -o filestreams, would using the chattr flag instead help?

See
http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html

That won't help. That turns it on (if it's not enabled by default these days). I need to turn off the behavior I'm seeing, whether it's due to the filestreams allocator or default inode64. Then again it may not be possible to turn it off...

Quoted 5 lines

Anyone have other ideas on how to accomplish my goal? Parallel writes to a single AG on the outer platter edge vs the same to all AGs across the entire platter? I'm simply trying to demonstrate the differences in aggregate bandwidth due to the extra seek latency of all AGs case.

What about just preallocating the files? Obviously this removes block allocation contention from your experiment, but it's not clear if that's relevant to your test. If I create a smaller, but analogous fs to yours, I seem to get this behavior from just doing an fallocate of each file in advance.

E.g., Create directory 0, fallocate 44 files all of which end up in AG
0. Create directory 1, fallocate 44 files which end up in AG 1, etc.

Quoted 1 line

From there you can do direct I/O overwrites to 44 files across each AG

or 44 files in any single AG.

Brian

Quoted 7 lines

Thanks,
Stan

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#3 lore raw
Quoted 32 lines · Brian Foster
Quoted 19 lines · Stan Hoeppner
Quoted 5 lines · Richard Scobie
Quoted 2 lines · Stan Hoeppner

How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test?

Quoted 7 lines

Hi Stan,

Instead of mounting with -o filestreams, would using the chattr flag instead help?

See
http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html

That won't help. That turns it on (if it's not enabled by default these days). I need to turn off the behavior I'm seeing, whether it's due to the filestreams allocator or default inode64. Then again it may not be possible to turn it off...

Quoted 5 lines

Anyone have other ideas on how to accomplish my goal? Parallel writes to a single AG on the outer platter edge vs the same to all AGs across the entire platter? I'm simply trying to demonstrate the differences in aggregate bandwidth due to the extra seek latency of all AGs case.

What about just preallocating the files? Obviously this removes block allocation contention from your experiment, but it's not clear if that's relevant to your test. If I create a smaller, but analogous fs to yours, I seem to get this behavior from just doing an fallocate of each file in advance.

Quoted 4 lines

E.g., Create directory 0, fallocate 44 files all of which end up in AG
0. Create directory 1, fallocate 44 files which end up in AG 1, etc. From there you can do direct I/O overwrites to 44 files across each AG or 44 files in any single AG.

I figured preallocating would get me what I want but I've never used fallocate, nor dd into fallocated files. Is there anything special required here with dd, or can I simply specify the filename to dd, and make sure bs + count doesn't go beyond EOF?

Thanks,
Stan

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#4 lore raw
Quoted 40 lines · Stan Hoeppner
Quoted 32 lines · Brian Foster
Quoted 19 lines · Stan Hoeppner
Quoted 5 lines · Richard Scobie
Quoted 2 lines · Stan Hoeppner

How can I disable or change the filestreams behavior so all files go into the one AG for the single directory test?

Quoted 7 lines

Hi Stan,

Instead of mounting with -o filestreams, would using the chattr flag instead help?

See
http://xfs.org/docs/xfsdocs-xml-dev/XFS_User_Guide/tmp/en-US/html/ch06s16.html

That won't help. That turns it on (if it's not enabled by default these days). I need to turn off the behavior I'm seeing, whether it's due to the filestreams allocator or default inode64. Then again it may not be possible to turn it off...

Quoted 5 lines

Anyone have other ideas on how to accomplish my goal? Parallel writes to a single AG on the outer platter edge vs the same to all AGs across the entire platter? I'm simply trying to demonstrate the differences in aggregate bandwidth due to the extra seek latency of all AGs case.

What about just preallocating the files? Obviously this removes block allocation contention from your experiment, but it's not clear if that's relevant to your test. If I create a smaller, but analogous fs to yours, I seem to get this behavior from just doing an fallocate of each file in advance.

Quoted 4 lines

E.g., Create directory 0, fallocate 44 files all of which end up in AG
0. Create directory 1, fallocate 44 files which end up in AG 1, etc. From there you can do direct I/O overwrites to 44 files across each AG or 44 files in any single AG.

Quoted 5 lines

I figured preallocating would get me what I want but I've never used fallocate, nor dd into fallocated files. Is there anything special required here with dd, or can I simply specify the filename to dd, and make sure bs + count doesn't go beyond EOF?

Ah, yeah. dd will truncate the file by default iirc, which would free the preallocated blocks and start from scratch. Specify 'conv=notrunc' as part of the command line to get around that.

Brian

Quoted 3 lines

Thanks,
Stan

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs