[LU-6148] Strided lock proposal - Feature proposal for 2.8 Created: 22/Jan/15  Updated: 16/Sep/17  Resolved: 16/Sep/17

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

Type: New Feature Priority: Minor
Reporter: Patrick Farrell (Inactive) Assignee: WC Triage
Resolution: Won't Do Votes: 0
Labels: None

Attachments: PDF File Strided_Lock_Presentation_pdf.pdf    
Issue Links:
Related
is related to LU-6179 Lock ahead - Request extent locks fro... Resolved
is related to LU-6180 Fix page cache flushing when group lo... Resolved
Severity: 3
Rank (Obsolete): 17170

 Description   

This ticket is a placeholder for further information forthcoming.

Briefly, strided locking is a proposed new feature to make improved shared file IO performance possible in certain situations. This is being proposed at the Lustre developers meeting at LLNL (currently ongoing).

Details will be forthcoming, for now, this ticket is mostly to allow me to push the prototype to Gerrit for ease of viewing.



 Comments   
Comment by Gerrit Updater [ 22/Jan/15 ]

Patrick Farrell (paf@cray.com) uploaded a new patch: http://review.whamcloud.com/13498
Subject: LU-6148 ldlm: Strided locking prototype
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 590c2b30d66021aac4f4a31fb05754036092c0dd

Comment by Patrick Farrell (Inactive) [ 22/Jan/15 ]

Prototype/proof of concept here:
http://review.whamcloud.com/13498

Comment by Patrick Farrell (Inactive) [ 22/Jan/15 ]

Presentation slides from developer's conference.

Comment by Alex Zhuravlev [ 29/Jan/15 ]

what about group locks?

Comment by Patrick Farrell (Inactive) [ 29/Jan/15 ]

Alex - The presentation PDF explains why not in a bit more detail, giving a few reasons.

The main reason is what I'm calling write visibility:

Client A and B both have the same group lock.
Client A reads some pages, then client B writes to those pages.
Client A reads the pages again, but because it has a lock on the file, it does not realize the pages have been modified & will re-use its cached pages.

Some of the more complex data formats used in HPC - Such as HFD5 - write out in file metadata as part of writing out a file, and it requires write visibility in the course of the IO.

Comment by Patrick Farrell (Inactive) [ 29/Jan/15 ]

Jinshan suggested implementing an ioctl for user space to request LDLM locks, allowing user space to 'lock ahead' of the actual IO, and we agreed I'd implement that and test it for performance before considering strided locks further. If that can get most of the performance of file per process, then there isn't much point to strided locks, and we do not need to add the complexity. We agreed there that if that doesn't close the gap, strided locks are worth considering.

A prototype of lock ahead is here:
LU-6179

This ticket's going to be on hold until we have more results there.

Comment by Andreas Dilger [ 16/Sep/17 ]

This approach was abandoned in favour of lockahead.

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