4 ms·
Why do you fork?
by Ono-Sendai 12y ago
Why do you fork?
- seiji 12y agoSee the "How it works" section under "Snapshotting" at http://redis.io/topics/persistence http://redis.io/topics/persistence
- Ono-Sendai 12y agoOk. A couple of points - you can do this kind of persistence with an immutable data structure without forking. Secondly, huge pages help to reduce memory latency for large data sets quite significantly.
- seiji 12y agoyou can do this kind of persistence with an immutable data structure without forking How? huge pages help to reduce memory latency Yup, but this is about _transparent_ huge pages which break databases all over the place: https://blogs.oracle.com/linux/entry/performance_issues_with_transparent_huge https://blogs.oracle.com/linux/entry/performance_issues_with... and http://dev.nuodb.com/techblog/linux-transparent-huge-pages-jemalloc-and-nuodb http://dev.nuodb.com/techblog/linux-transparent-huge-pages-j... and http://scn.sap.com/people/markmumy/blog/2014/05/22/sap-iq-and-linux-hugepagestransparent-hugepages http://scn.sap.com/people/markmumy/blog/2014/05/22/sap-iq-an... and http://www.percona.com/blog/2014/07/23/why-tokudb-hates-transparent-hugepages/ http://www.percona.com/blog/2014/07/23/why-tokudb-hates-tran... and (a dozen more including varnish, mongo, hadoop, ...)
- Ono-Sendai 12y agoIf you have a pointer to an immutable data structure, you know it won't change, so you can write it out to disk at your leisure.
- justincormack 12y agoBut the immutable data structure is not that much different from the copy-on-write pages the kernel gives you, likely to involve the same amount of copying. And disk IO is blocking so you need at least a thread, so it is a natural strategy.