Speed up wal write

Registered by Kostja Osipov

Right now we do 4 memcpy and 4 syscalls to make sure each user request which changes data reaches the disk.
Reduce this overhead by using shared memory and producer-consumer pattern, rather than the message-passing paradigm
used today.
Maintain "the last written lsn" across the front-end and the back-end, and alert all fibers waiting on wal-writer
based on the lsn they are waiting for (i.e. do not maintain an individual inbox in each fiber for that purpose).

Use offset_t as lsn, not consequetive lsn id -- that will simplify lsn generation.

Blueprint information

Status:
Complete
Approver:
Kostja Osipov
Priority:
Essential
Drafter:
Konstantin Shulgin
Direction:
Approved
Assignee:
Konstantin Shulgin
Definition:
Approved
Series goal:
Accepted for 1.4
Implementation:
Implemented
Milestone target:
milestone icon 1.4.5
Started by
Kostja Osipov
Completed by
Kostja Osipov

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.