Publication date: 19-08-2022
In addition to reducing costs, a decrease in coordination between systems can also serve to reduce customer response time and improve overall system performance and throughput. The local coordination avoidance algorithm achieves these goals by exploiting specific domain knowledge, which general purpose database systems do not have. For example, busy bank accounts with many money transfers have to wait for each other to complete ongoing transfers. This algorithm uses domain knowledge of bank accounts to parallelize money transfers when invariants such as the presence of no negative balance will never be broken.
This results in faster response times and higher throughput, especially in high-contention scenarios. All distributed computing systems are message-based, where waiting is expensive. To improve performance and response times, latency must be reduced, without violating application constraints. Local coordination avoidance waits less time by executing non-conflicting operations in parallel, but only when safe, thus speeding up transaction processing. This doctoral 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.