Skip to content

Pipeline keydir #4

@dgrnbrg

Description

@dgrnbrg

The goal here is to pipeline put/alter in the keydir. alters and puts can run without waiting for the IO to complete, since each alter only needs to have the result of the previous alter visible to it. To implement this, we must have a "future file", which is an in-memory copy of the latest uncommitted puts and alters. Then, all gets will actually ready from the future file. When IO operations complete, they will delete the data from the future file so that reads will proceed normally to the main keydir chm. There's a potential slowdown case here, in that most reads will first miss in reading from the future file; however, given that those reads need to do IO anyway, maybe it doesn't matter, or maybe the reads can be done in parallel if it is a performance issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions