> Deterministic simulation. Another lightweight method widely used at AWS is deterministic simulation testing, in which a distributed system is executed on a single-threaded simulator with control over all sources of randomness, such as thread scheduling, timing, and message delivery order. Tests are then written for particular failure or success scenarios, such as the failure of a participant at a particular stage i…
I suspect you can relatively easily obtain a completely deterministic machine by running QEMU in 100% emulation mode in one thread. But what you are after is controlled deterministic execution, and it's far harder. That is, making your multiple processes to follow a specific dance that triggers an interesting condition must be very involved, when seen from the level as low as CPU and OS scheduler. Hence a language-ag…
Systems Correctness Practices at Amazon Web Services
121–130 of 143 posts
Re: Systems Correctness Practices at Amazon Web Services
#122S3 remains one of the most amazing pieces of software I've ever seen. That thing a few years ago where they just added strong read-after-write consistency to the whole system? Incredible software engineering. https://aws.amazon.com/blogs/aws/amazon-s3-update-strong-rea...
Also S3 is not better than gcs or azure blob.
Re: Systems Correctness Practices at Amazon Web Services
#123S3 remains one of the most amazing pieces of software I've ever seen. That thing a few years ago where they just added strong read-after-write consistency to the whole system? Incredible software engineering. https://aws.amazon.com/blogs/aws/amazon-s3-update-strong-rea...
I had the distinct pleasure of working on S3 (Lifecycle) during the timeframe that the index team was working on the rearchitecture that enabled the read-after-write consistency. I can confidently say that as impressive as S3 is from the outside, it's at least that impressive internally, both in implementation, and organizational structure.
Re: Systems Correctness Practices at Amazon Web Services
#124Earlier quoted context omitted.
It's funny that things that are pinnacles of human engineering exist like this where the general public has no idea it even exists, though they (most likely) use it every single day.
I find red dead redemption 2 more impressive. I don’t know why. It sounds stupid but S3 on the surface has the simplest api and it’s just not impressive to me when compared to something like that. I’m curious which one is actually more impressive in general.
Re: Systems Correctness Practices at Amazon Web Services
#125> Deterministic simulation. Another lightweight method widely used at AWS is deterministic simulation testing, in which a distributed system is executed on a single-threaded simulator with control over all sources of randomness, such as thread scheduling, timing, and message delivery order. Tests are then written for particular failure or success scenarios, such as the failure of a participant at a particular stage i…
https://rr-project.org/ for languages that can be debugged by gdb.
Re: Systems Correctness Practices at Amazon Web Services
#126> 92% of catastrophic failures in tested distributed systems were triggered by incorrect handling of nonfatal errors This. If you take nothing else away from the article (which has a lot) take this: fail well, don’t fail poorly.
This paper from 11 years ago had the exact same finding!!(Finding 10). https://www.usenix.org/system/files/conference/osdi14/osdi14...
> In 2014, Yuan et al. found that 92% of catastrophic failures in tested distributed systems were triggered by incorrect handling of nonfatal errors.
Re: Systems Correctness Practices at Amazon Web Services
#127Earlier quoted context omitted.
I find red dead redemption 2 more impressive. I don’t know why. It sounds stupid but S3 on the surface has the simplest api and it’s just not impressive to me when compared to something like that. I’m curious which one is actually more impressive in general.
That's the strangest comparison I have seen. What axis are you really comparing here? Better graphics? Sound?
Re: Systems Correctness Practices at Amazon Web Services
#128Earlier quoted context omitted.
Yeah, basically all the coreutils plus all the common extras (rsync, ssh, etc) could use stuff like this.
It should be feasible to rewrite the coreitils like ls, cd and cp in Lean 4 together with Cursor within days. Rsync and ssh are more complex though.
Re: Systems Correctness Practices at Amazon Web Services
#129Re: Systems Correctness Practices at Amazon Web Services
#130Earlier quoted context omitted.
That's the strangest comparison I have seen. What axis are you really comparing here? Better graphics? Sound?
Complexity and sheer intelligence and capability required to build either.