LLVM's Realtime Safety Revolution: Tools for Modern Mission Critical Systems - CppCon 2024

Channel

https://cppcon.org
---

LLVM's Realtime Safety Revolution: Tools for Modern Mission Critical Systems - Christopher Apple & David Trevelyan - CppCon 2024
---

"ERROR: RealtimeSanitizer: call to malloc detected during execution of realtime function MyAudioCallback::process!"

"Warning: MyAudioCallback::process must not call blocking fuction ‘SkectchyCall`"

Realtime programmers working on mission-critical audio, autonomous vehicle, and aerospace code are well-acquainted with the golden rule: “Thou shalt not call time-unbounded operations in your realtime thread.” Despite its importance, tools to enforce this rule have been non-existent—until now!

In the latest version of Clang, two new features help uphold realtime guarantees by preventing `malloc`, system calls, and user-defined "unsafe" functions. First, we introduce the Realtime Sanitizer, which detects calls to `malloc`, `pthread_mutex_lock`, and other problematic functions in your realtime code at runtime. Next, we explore the `-Wperf-constraints` system, which provides similar feedback statically at compile time. We will compare and contrast these methods and offer recommendations on how to integrate them into your codebase effectively.

By leveraging these new tools, you can ensure your real-time systems remain robust, reliable, and ready for any challenge.
---

Slides: https://github.com/CppCon/CppCon2024/blob/main/Presentations/LLVMs_Real…

Sponsored by JetBrains: https://www.jetbrains.com/clion/
---

Christopher Apple

Chris Apple is a seasoned software engineer and team lead with nearly a decade of experience in the audio industry spanning everything from test automation in python, to speaker installation in Tokyo nightclubs. With expertise in writing efficient C++ solutions, realtime audio rendering, and streamlining software engineering processes, Chris has made significant contributions to companies such as Dolby, Roblox, and Spatial Inc, as well as many open source projects. Recently, Chris has focused primarily on realtime safety and rendering performance in audio playback systems written in C++. This focus has led to his work on the Realtime Sanitizer. This new sanitizer in the LLVM ecosystem provides runtime checks to ensure time-unbound operations cannot be called from real-time contexts.
---

David Trevelyan

I've been developing software for 15 years in academia, start-ups, big tech, and as an independent consultant. I completed a PhD in computational physics at Imperial College London before becoming an early engineer at Jukedeck, taking the company to acquisition by TikTok in 2019. At TikTok I spent 4 years as technical lead and architect of the company's foundational real-time audio and music processing SDK. Here I also designed and led the development of a number of fun new musical experiences, including mawf - an interactive AI timbre-transfer plugin instrument, which can be downloaded for free at https://mawf.io. More recently, I invented RealtimeSanitizer which (thanks to my talented co-authors) is now integrated into the LLVM project. Most of my work now is as an independent audio software engineering consultant. My experience covers the full audio stack; high-level audio systems and multi-threaded architecture, real-time neural network inference, virtual instrument and engine development, digital and virtual-analogue signal processing, SIMD optimisation, and developer tooling. If I can help on your project, please get in touch!
---

CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts.
Annual CppCon Conference - https://www.cppcon.org
https://www.linkedin.com/company/cppcon
https://x.com/cppcon
https://www.facebook.com/CppConference
https://www.reddit.com/r/cppcon/
https://mastodon.social/@CppCon
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd: https://events.digital-medium.co.uk
---

#cpp #cplusplus #cppcon #cppprogramming #cplusplusprogramming #softwaredevelopment #softwareengineering #coding #code #computerscience #technology #technews #programming #programmer