Applying The Universal Scalability Law to Distributed Systems by Dr. Neil J. Gunther

preview_player
Показать описание
Talk by Dr. Neil Gunther at DSConf 2019.

---

About Dr. Gunther
Neil Gunther is a computer information systems researcher best known internationally for developing the open-source performance modeling software Pretty Damn Quick and developing the Guerrilla approach to computer capacity planning and performance analysis. He has also been cited for his contributions to the theory of large transients in computer systems and packet networks, and his universal law of computational scalability.

---

When I originally developed the Universal Scalability Law (USL), it was in the context of tightly-coupled Unix multiprocessors, which led to an inherent dependency between the serial contention term and the data consistency term in the USL, i.e., no contention, no coherency penalty. Later, I realized that the USL could have broader applicability to large-scale clusters if this dependency was removed. In this talk I will show examples of how the USL can be applied as a statistical regression model to a variety of large-scale distributed systems, such as, Hadoop, Zookeeper, Sirius, AWS cloud, and Avalanche DLT, in order to quantify their scalability in terms of numerical concurrency, contention, and coherency.
Рекомендации по теме
Комментарии
Автор

CAP just means that when you are not partition tolerant, progress will stop during the partition. Latency and unavailability can be exchanged. ie: independent clusters using CRDTs in between them, but clusters are strongly consistent within the cluster (when it's not partitioned). If a partition happens inside the cluster, you may be unable to keep processing writes until partition heals. You can wait indefinitely for the cluster to heal rather than have an error. When partition is gone inside the cluster; between clusters, they can do a CRDT and get up to date.

So, the idea that there is a choice between strong and eventual consistency seems wrong. It seems like it is layered. A cluster doing round-robin load balancing expects strong consistency - so that each cluster member is equivalent. Then between clusters, they have eventual consistency... and a member of one cluster can reach a member of any other cluster. You get eventual consistency when you decide to not wait for agreement. You commit locally. The commits are facts. And facts can be merged later.

robfielding
Автор

the workload size question... i wonder if he had Gustafson's law in mind. i actually started watching videos on USL for exactly that reason. With Gustafson's law, you can show that Amdahl's law isn't as dire as you might think. But with a non-zero beta term, I wonder if you can be explicit about how to handle coordination in such a way that you can continue to scale.

robfielding
Автор

🤔, the 1080p version is broken / does not exist / will not download.

HenkPoley