[LU-16789] "lfs migrate" to use AIO/DIO Created: 01/May/23  Updated: 20/Jan/24

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: Andreas Dilger Assignee: WC Triage
Resolution: Unresolved Votes: 0
Labels: lad23dd, lug23dd, medium

Issue Links:
Related
is related to LU-17143 Use migrate_copy_data() for all data ... Open
Rank (Obsolete): 9223372036854775807

 Description   

It would be useful to speed up "lfs migrate", "lfs mirror extend", and "lfs mirror resync" to use asynchronous Direct IO (AIO/DIO via libaio) to do the data copying

This should use the same mechanism as lustre/tests/aiocp.c to have a producer/consumer queue and submits some number of AIO read requests, and then submit the write requests when the reads finish.



 Comments   
Comment by Patrick Farrell [ 04/Oct/23 ]

I think we should actually aim this at io_uring.  simmonsja says there is a library which allows you to write against io_uring and have it use AIO for backwards compatibility with older kernels (eg, RHEL 8 which is still a major target).

Comment by Patrick Farrell [ 04/Oct/23 ]

Note for anyone doing this - These changes should be made to migrate_copy_data(), which can then be shared out.  See LU-17143.

Comment by James A Simmons [ 04/Oct/23 ]

Just to leave a note, at ORNL we implemented a replacement for lfs mirgate using a library that uses IO ring under the hood. Need to ask Chris Brumgard.

Comment by Peter Jones [ 20/Oct/23 ]

simmonsja any word from Chris B?

Comment by Peter Jones [ 09/Nov/23 ]

As per James, this work has not been tackled at ORNL yet so this task is still available for someone else to work on

Generated at Sat Feb 10 03:30:01 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.