I've just shared the 2022-04 update in the Shadow forum: https://github.com/shadow/shadow/discussions/2007
Also it looks like I forgot to share the previous 2021-12 update here: https://github.com/shadow/shadow/discussions/1824
Both mirrored below:
This is part of a series of periodic updates of development in Shadow. This work is sponsored by the NSF. Previous update: 2021-12.
We've merged 82 non-dependabot pull requests and closed 18 issues since our previous update.
We are continuing to work on Shadow 2.1. The biggest user-facing goal for this release is to support running golang programs in Shadow, especially tor simulations using the snowflake pluggable transport.
We've also begun planning the Shadow 2.2 release, which will largely be a push to refactor and migrate more of the core Shadow code to Rust.
gettimeofday
)
to be intercepted at the libc level via LD_PRELOAD
.
However, this doesn't work when the VDSO is used more directly,
such as in golang, which would cause the program to get the
real-world time instead of the simulated time. We now patch the
VDSO itself at program start to reliably intercept these
functions in such cases.kill
processes to send appropriate signals.select
system call.--progress
option, which periodically
updates stderr with the simulation progress.Happy simulating!
The Shadow team
This is part of a series of periodic updates of development in Shadow. This work is sponsored by the NSF. Previous update: 2021-10.
We've merged 78 pull requests and closed 17 issues since our previous update.
We have released Shadow 2.0! Give it a try, and let us know if you run into any issues!
We have begun work on Shadow 2.1. Notable planned features are support for signals (which is needed to reliably run golang programs under Shadow), and improved Unix socket support.
We have been collaborating with The Tor Project to use Shadow in its development and testing.
We have been running Shadow simulations inside a Gitlab CI pipeline to help develop and tune improved congestion control algorithms in the upcoming 0.4.7 release. This is the first major application of Shadow inside the Tor Project itself, and we plan to use the pipeline we've developed for further testing and profiling.
We have also been making progress on running Arti (the experimental new Rust implemenation of tor) under Shadow: https://gitlab.torproject.org/tpo/core/arti/-/issues/174. In the course of this work we have fixed some bugs in Arti, fixed an upstream bug in the async-io crate, and found and identified and fixed several emulation accuracy bugs in Shadow.
Happy simulating!
The Shadow team