Dağıtılmış bilgi işlemden bir örnek:
1. Arkaplan
1.1 Asenkron Paylaşımlı Bellek Modeli
Paylaşılan bellek değişkenlerini kullanarak iletişim kuran dağıtılmış düğümlerden oluşan bir koleksiyonu düşünelim. Bir düğümün ne zaman adım atacağını ve ne zaman ileti ileteceğini kontrol eden bir düşman vardır. Hesaplama eşzamansızdır , yani düşman, düğümlerin adımlarını herhangi bir (sonlu) süre boyunca geciktirebilir. Bir düğümün
bir adımını , bir sonraki durumun geçerli durum ve son adımdan bu yana düğümün gözlemleri tarafından belirlendiği yerel otomatının (algoritmaya göre) bir durum geçişi olarak düşünebilirsiniz .
1.2 Güvenlik ve Canlılık
Bir eşzamansız algoritmanın özellikleri hakkında resmi olarak muhakeme yaparken, güvenlik ve canlılık özellikleri arasında ayrım yaparız. Gayri resmi olarak, bir
güvenlik özelliği, "kötü" bir şeyin asla gerçekleşmeyeceğinin garantisi olarak yorumlanabilir. (Örneğin, karşılıklı dışlama için, bir güvenlik özelliği, hiçbir düğümün aynı anda kritik bölüme girmemesidir.) Öte yandan, canlılık "sonunda iyi bir şey olacak" olarak yorumlanabilir, örneğin: her düğüm sonunda sona erer.
MMα , β∈ M2- nnαβ
SP⊆ MPM∖ P
Koenig'in Infinity Lemma Uygulanması
Belirli bir özelliğin bir güvenlik özelliği olup olmadığını görmek her zaman kolay değildir: Temel paylaşılan bellek değişkenlerinin üzerine okuma / yazma atomik nesnelerinin uygulanmasını düşünün. Böyle bir uygulama, istekleri ve onların yanıtlarını, sanki zamanında gerçekleşmiş gibi görünecek ve çağırma düzenlerini ihlal etmeyecek şekilde ele almalıdır. (Asenkron işlem nedeniyle, istek ve yanıt arasındaki gerçek süre sıfır olmayabilir.) Atomisite, Doğrusallaştırılabilirlik olarak da bilinir . [A] 'nın Bölüm 13.1'i Atomicity'nin bir güvenlik özelliği olduğuna dair bir kanıt vermektedir. Kanıt, (her biri Atomikliği tatmin eden) sonsuz yürütme dizisinin sınırının da Atomikliği karşıladığını göstermek için Koenig'in lemmasını kullanır.
[A] N. Lynch. Dağıtık Algoritmalar. Morgan Kaufmann, 1996.