llnl / llnl/UnifyFS

optimization: allow a single open/create call for N parallel processes

Open
#678 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
122
Forks
34
PR merge metrics
No merged PRs in 30d

Description

Extracting from a discussion on the mailing list:

> At the moment, the other clients (rank >= 1) still need to call unifyfs_open(). Doing so will initialize some internal client state for the target file that is required by the I/O dispatch.

> However, I think it would be reasonable for Unify to support relaxing this so that your example could work as is. We can easily do a metadata lookup using just the gfid provided in the I/O req.

In ROMIO, we have seen file systems that provide a stateless global handle allow for really scaleable metadata (I am always excited when I can cite our 17 year old paper) https://link.springer.com/chapter/10.1007/978-3-540-30218-6_18

Not critical: ROMIO of course can handle calling open from every process just fine.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names unifyfs_open(), the I/O dispatch, and metadata lookup by gfid, but no files or tests. Start by locating those entry points and determine the design and validation needed for rank >= 1 processes to issue I/O without calling open; done means the single open/create workflow works correctly for N parallel processes.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
distributed-systems, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.