File Pinning Deadlocks
Pin is the concept of “space locking”
Assume a site X has space for 2 files
- Process A needs 2 files on site X, and has one file pinned
- Process B needs 2 files on site X, and has one file pinned
- => A & B will be deadlocked until some other process finished
- Multi-site scenarios can be similarly shown
Can be avoided by “two-phase pinning”
- Allocate space first, then move files
- Impractical for very large file requests (e.g. 500 files)
- Need to enforce protocol for requests of smaller number of files
- Or support pre-allocation (more difficult)
Streaming model
- Provide default “quota”
- Do not provide service till files in quota are released
- Support for “file bundles” – to allow small group of concurrent file requests