
< session />
Fri, April 28 at 12:40 PM - 1:10 PM GMT+5:30ArchitectureBackEndAppDev
Concurrently running transactions in an application results in hard-to-debug data consistency and deadlock issues. A mechanism is needed to avoid these race conditions and deadlocks. First, the transaction must acquire locks to achieve isolation, and then, to prevent deadlocks, one needs to ensure objects are locked in a pre-defined priority order, as there is no static way of reporting locking-order violations.
We’ve built a system in one of our core analytical engines to ensure that transactions follow locking order during runtime. When following the locking order is not feasible, it identifies the transaction resulting in a deadlock and victimizes that transaction.
Session Objective:
In a running application, the landscape of locks held by transactions and the locks it is waiting to acquire are ever-changing. Through this demonstration, we plan to showcase the design and approach of a lock management system, which can be helpful for developers working on multi-threaded applications.
< speaker_info />
Ranadheer Pulluru is a deputy director at D. E. Shaw India, where he has spent 18 years building tech solutions to support the firm’s investment management strategies. He currently oversees front office technology groups focused on the firm’s Discretionary Macro and Energy strategies. Ranadheer enjoys developing real-time trading systems in C++/Java and data analysis frameworks in Python
Angila Talreja is an associate director at D. E. Shaw India. She has 17 years of experience building distributed systems at scale at organizations across diverse domains. Angila is passionate about delivering cutting-edge tech solutions and managing high-performing teams.