-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add lineage-driven fault injection #81
Comments
https://github.com/palvaro/molly ... and et voila |
oh, wow this is very interesting. i had started to design a dedalus plugin for one of our projects, and i've been using molly to run those examples.. it's all very early days :) https://github.com/noahdesu/zlog/blob/dedalus/qa/dedalus/zlog.v2.ded |
I think we can add a new code generation facility to do 2 things:
This is obviously not for scale, but for correctness. That's my preliminary design. Thoughts ? |
I know that sean used a config property loaded by the actor system in wallaroo which does this for their network nemesis. I also know that seastar has a built in disk nemesis too. |
also zlog looks awesome and you are further along than I am. The dedalus plugin looks very coo. I have not sat down and written some, but I can't wait to do it. We should port zlog to smf! ! haha. I know @hellertime was looking to build something similar to zlog - i pointed him to your repo. |
|
oh that's neat! i didn't know you were a researcher - (hadn't google) - exciting times! RE: LDFI - duplicating packets might be more difficult than duplicating messages - i am not entirely sure how to do it within kernel for example - maybe eBPF?. For DPDK based runtime, maybe hacking the replicating messages is very very easy, since we own the protocol front to back. RE: Sequencer: back in the concord.io days we wanted to write a sequencer too for leasing token ranges and never got around it :'( - i.e.: such that only one process could make writes to a particular RE: SPDK.io - i know that avi was thinking about writing a sestar filesystem - probably through libfuse - that uses the same IO engine in seastar so that you can just deploy one app and there would be no need for anything else - of course it would be specialized for storage apps like queues and databases. I hope to test SPDK too but the 3dXpoint drives are so expensive. One caveat you might run into here is that the IO engine and the queue measurement is global. That is if you wanted to do multi device queue measurement is not possible today with seastar. so you'd have to raid0 the drives and hope for the best. I think Glauber Costa was working on a multi-device patch at some point. |
|
RE: msg replay: this is easy then :) I think seastar could hugely benefit from integrating spdk. I haven't looked too closely but something has to tick the loop, and seastar manages the loop for DPDK, so you'll need to add the SDPK loop there too |
issue: #81 The idea is to have smf_gen autogen an oracle that can do the Molly::LDFI accounting
@noahdesu i just added a rough outline, thoughts welcomed! Basically, my idea is that something is better than nothing and even if we just provide the stubs that do:
It is still significant and useful, albeit it only covers request-response protocols. On a later design revision we can address a) more complex protocols and sequencing, b) hazard step from molly automatically by linking a SAT solver too. thanks! |
https://people.eecs.berkeley.edu/~palvaro/molly.pdf
tl;dr: add faults and gracefully recover should be the outcome - or at least document failures so they are well understood.
i.e.: fault tolerance is a global property.
molly.pdf
The text was updated successfully, but these errors were encountered: