Banking on Domain Knowledge for Faster Transactions

Tim Soethout of CWI's Software Analysis and Transformation group defended his thesis at Eindhoven University of Technology.

Publication date
19 Aug 2022

Tim Soethout
Tim Soethout

Computer systems communicate by sending messages over the internet. These messages take time to reach their destinations, especially when they are sent to distant locations around the world. In some cases, multiple messages need to be sent back and forth to ensure that the data stays consistent. In particular, this is important for monetary communications so as to ensure that no currency is lost in the transaction. Coordination between systems is expensive, and so it should be minimized as much as possible. For his PhD research, Tim Soethout looked at reducing the amount of coordination needed by making more decisions locally.

Reduce delay in customer responses

Besides lowering costs, a decrease in coordination between systems can also serve to reduce the delay in customer responses and to improve the overall system performance and throughput. The Local-Coordination Avoidance algorithm achieves these goals by leveraging specific knowledge of the domain, which general purpose database systems do not have. For example, busy bank accounts with lots of money transfers have to wait on each other to finish in-progress transfers. This algorithm uses the bank account domain knowledge to parallelize money transfers when invariants such as the presence of no negative balance will never be broken.

Waiting reduced

This results in faster response times and higher throughput, especially in high-contention scenarios. All distributed computer systems are based on messages, where waiting is expensive. To improve performance and response times, waiting should be reduced, without violating application constraints. The Local-Coordination Avoidance waits less time by running non-conflicting operations in parallel, but only when safe, thus speeding up the processing of transactions. This PhD research was funded by ING Bank and is part of an ongoing collaboration between ING and CWI on managing IT complexity in large evolving enterprise IT systems.

More information

(Text: Eindhoven University of Technology)