Mathematics in Synchronization and Concurrency
Practically all computing systems, from fire alarms to Internet-scale services, are nowadays distributed: they consist of a number of computing units performing independent computations and communicating with each other to synchronize their activities. Therefore, understanding fundamentals of distributed computing is of crucial importance.
The main complication here is the immense diversity of applications, models of distributed computations, and performance metrics, combined with the lack of mathematical tools to handle this complexity. In this talk, we discuss understanding of what can and what cannot be implemented in specific distributed environments, with a focus on how to apply modern mathematics in deriving new algorithms and lower bounds for distributed computing problems.