Semi-Globals and Multi-Threading - Challenges in Legacy Code Adaptation
Dyalog User Meetings via YouTube
Overview
Explore the challenges of adapting legacy single-threaded code with global variables to modern multi-threaded architectures in this 24-minute conference talk from Dyalog '22. Learn how SimCorp Sofia evolved over 30 years from a single-threaded application to a multi-threaded client-server system. Discover the issues encountered when integrating with external systems, understand the complexities of system architecture, and gain insights into detecting variable modifications across multiple threads. Examine practical approaches for getting legacy systems working in new environments and extending their functionality. Gain valuable lessons learned about software development and the pitfalls of using global and semi-global variables in multi-threaded applications.
Syllabus
Issues with using globals and semiglobals
Adding interactions with external systems to SimCorp Sofia
Understanding the system architecture
Getting the system working
Extending the system further
How to tell when variables are being modified by multiple threads
What we learned about software development
Taught by
Dyalog User Meetings