famus
: Failure-atomic msync()
in User Space
famus
and famus_snap
are new user-space
library implementations of failure-atomic msync()
(FAMS). See the description of the original FAMS concept in the
EuroSys
2013 paper by Park et al. and read about subsequent developments
in the ACM
Queue article.
Source Code
famus_snap
- 29 November 2019. Released with USENIX ;login:
magazine article; see below.
Extensively tested against sudden whole-system power
interruptions in December 2019; passes with flying colors.
famus
Release 01
- 22 July 2019. Preliminary release for PIRL.
Discussed in the ACM Queue article.
Further Reading
- (forthcoming) Is Persistent Memory Persistent?
- Describes a new testbed for subjecting crash consistency
mechanisms to sudden whole-system power interruptions and
uses it to test the
famus_snap
library's
data integrity guarantees. (Spoiler
alert: famus_snap
passes.)
- Good Old-Fashioned Persistent Memory
- USENIX ;login: magazine, Vol. 44 No. 4, Winter 2019
More working example code and a new library implementation
of FAMS called famus_snap
that leverages
filesystem snapshots.
[PDF (from USENIX)]
[PDF (local copy)]
[famus_snap
source code (from USENIX)]
[famus_snap
source code (local copy)]
[Errata (from USENIX)]
[Errata (local copy)]
- Persistent Memory Programming on Conventional Hardware
- ACM Queue magazine, Volume 17 Issue 4, July-August 2019
Presents working examples of the persistent memory style
of programming on conventional hardware and discusses the
famus
library.
[HTML]
[PDF]
Events
- Tutorial at NVMW 2020, UC San Diego
- Sunday 8 March 2020, morning
NVMW was cancelled this year due to corona virus.
- Tutorial at USENIX FAST 2020 Conference, Santa Clara, CA
- Monday 24 February 2020, 9:00 am to 12:30 pm
- "Persistent Memory Programming on Conventional Hardware"
- SNIA Storage Developer Conference, 3:05 pm Wed 25 Sept 2019, Santa Clara, CA
[recorded talk]
[slides]
- "Persistent Memory Programming on Conventional Hardware"
- Persistence in Real Life (PIRL), 10:30 am Mon 23 July 2019, UC San Diego
[blog post (summary of talk)]
[slides]
[recorded talk]
History
An earlier platform for fault-tolerant distributed computing,
"Ken", essentially contains a
user-space implementation of FAMS, but Ken is a monolith and its FAMS
aspect is intertwined with other features in such a way as not to be
readily separable. famus
and famus_snap
are new clean-slate implementations of FAMS; they are not based on
Ken. For a good summary of the history of FAMS, see the
ACM
Queue article.
$Id: index.html,v 1.18 2020/03/08 02:03:44 tpkelly Exp $