'Distributed Mutual Exclusion using Proposed Boost.AFIO' - Niall Douglas [ ACCU 2016 ]

preview_player
Показать описание

Along the way the portable asynchronous file system model supplied by proposed Boost.AFIO will be explained and how such a standardised programming model makes implementing write-once run-anywhere file system algorithms much more tractable. Empirical benchmarks will be shown comparing the scalability of our algorithm to other forms of file system based mutual exclusion such as lock files and byte range locking across Microsoft Windows (NTFS and ReFS), Linux (ext4) and FreeBSD (ZFS). One of the major advantages of our algorithm is that it works perfectly over SMB networked file systems, including mixed POSIX and Microsoft Windows endpoints, and it will be explained how this is not always the case with other mutual exclusion techniques.

With a live demonstration of the working algorithm, the likely audience for this workshop would be similar to that for lock free programming using memory atomics, however the file system exposes a much richer suite of fundamental primitive operations – and unexpected surprises!

*** From Niall ***

Some errata:

* I claimed there was something like 800 emails of feedback from the Boost.AFIO v1 peer review. I just checked and it was more like 250-300.

* There were quite a few uses of the wrong word to describe something, but I'll leave those uncorrected as I think the intended meaning is clear.
Рекомендации по теме
Комментарии
Автор

Love how the speaker is keeping it real: "this might be slow, but it's correct". A lot of aside comments on how to handle bizarre API's and snaggletooth features/bugs. It's not as pretty as a nice abstract subject like C++ template Concepts, but damn it is important to get this elementary stuff right.

jjurksztowicz
Автор



Some errata:

* I claimed there was something like 800 emails of feedback from the Boost.AFIO v1 peer review. I just checked and it was more like 250-300.


* There were quite a few uses of the wrong word to describe something, but I'll leave those uncorrected as I think the intended meaning is clear.

nialldouglas