Mirrored from https://github.com/shadow/shadow/discussions/2243
This is part of a series of periodic updates of development in Shadow. This work is sponsored by the NSF.
NSF sponsorship: https://shadow.github.io/docs/guide/nsf_sponsorship.html Previous update: https://github.com/shadow/shadow/discussions/2007
We will be presenting a paper on Shadow's 2.0 architecture, "Co-opting Linux Processes for High-Performance Network Simulation", at the USENIX Annual Technical Conference.
Paper: https://www.robgjansen.com/publications/phantom-atc2022.pdf USENIX ATC: https://www.usenix.org/conference/atc22
We've merged 123 non-dependabot pull requests and closed 38 issues since our previous update.
Pull requests: https://github.com/shadow/shadow/pulls?q=is%3Apr+merged%3A2022-04-05..2022-0... Issues: https://github.com/shadow/shadow/issues?q=closed%3A2022-04-05..2022-06-27+is...
Release status ==============
We have released Shadow 2.1. This release focused largely on more complete and accurate OS emulation, to increase the number of applications that can be run under Shadow. Shadow now supports newer versions of glibc, software that uses signals and "busy loops", and dynamically linked golang programs. It also has a new `--debug-hosts` feature to facilitate attaching debuggers like `gdb` to Shadow's managed processes. See the release notes for details.
Shadow 2.1: https://github.com/shadow/shadow/releases/tag/v2.1.0 Release notes: https://github.com/shadow/shadow/discussions/2219
We've begun work on Shadow 2.2, which will largely be a push to refactor and migrate more of the core Shadow code to Rust, which is expected to ultimately increase velocity of Shadow development.
Shadow 2.2 project: https://github.com/shadow/shadow/projects/6
Notable changes since last update =============================
Most of the changes since the last update are covered in the v2.1.0 release notes. We are now also keeping a running CHANGELOG of user-facing changes since the last release. Currently this is:
* We have removed ptrace-mode, and the associated experimental options `use-o-n-waitpid-workaround` and `--interpose-method`. ptrace-mode was an alternative to Shadow's current interposition mechanism that uses `LD_PRELOAD` and `seccomp`. This change should be transparent to most users, since it hasn't been the default for several releases, and was only accessible via experimental options. See https://github.com/shadow/shadow/issues/1945
Release notes: https://github.com/shadow/shadow/discussions/2219 Changelog: https://github.com/shadow/shadow/blob/main/CHANGELOG
Happy simulating! The Shadow team