אירועים והרצאות בפקולטה למדעי המחשב ע"ש הנרי ומרילין טאוב
ירון חי (הרצאה סמינריונית למגיסטר)
יום רביעי, 15.03.2023, 11:30
Blockchain Networks, especially those with Smart Contracts, are well-known examples of Active Replication Systems. Active Replication Services are available thanks to a group of servers called replicas that handle client requests. Each server maintains a local copy of the global state of the service, and all servers update their local copy at synchronized incremental steps. At the i-th step, all servers receive the *same* transaction from a global ordering service, execute it and apply the results to their local copies. The (i+1)-th step repeats this process for the next transaction.
The combination of a consistent global ordering protocol and having all transactions are inherently deterministic guarantees that all replicas will eventually have the same exact state (for each step taken). It is imperative for replicated services. However, this comes at a loss in performance because of the restriction to executing only one transaction at any given time. Sequential execution prevents us from utilizing the capabilities of multicore processors by processing multiple transactions in parallel.
In this lecture, we will define formal models that allow for consistent concurrent execution while maintaining deterministic results at all replicas, and discuss ways to maximize concurrency.
We'll explore the connection between Graph Vertex Coloring and minimizing overall latency. Then describe practical approaches to solving this problem in real-world applications, with experimental evaluation for two popular benchmarking frameworks.
Lastly, we'll describe how to implement concurrent execution while replacing lock-based synchronization primitives with cheap signals for communication.