Neden dağıtık hesaplamanın birleşik bir karmaşıklık teorisi geliştiremiyoruz?


41

Dağıtılmış hesaplama alanı, dağıtılmış algoritmaları tanımlamak için tek bir matematik teorisi geliştirmede büyük ölçüde kısalmıştır. Birbiriyle uyumlu olmayan birkaç “model” ve dağınık hesaplama çerçevesi vardır. Değişen zamansal özelliklerin (asenkron, senkron, kısmi senkron), çeşitli iletişim ilkelerinin (mesaj geçen ve paylaşılan hafıza, yayın ve tek noktaya yayın gibi), birden fazla hata modelinde (başarısız durma, çökme kurtarma, ihmal gönderme, bizans ve benzeri) on) bizi, göreceli çözülebilirlik sonuçlarını karşılaştıran ve bu modeller ve çerçevelerdeki daha düşük sınırları karşılaştıran ve zorlu, anlaşılmaz ve zaman zaman imkansız hale gelen, çok sayıda sistem modeli, çerçeve ve metodolojiyi bıraktı.

Sorum çok basit, neden böyle? Dağıtılmış hesaplamanın (sıralı karşıtından) temelde farklı olan, araştırmayı birleşik bir dağıtılmış hesaplama teorisi olarak harmanlayamadığımızdan ne farklıdır? Sıralı hesaplamada, Turing Makineleri, Özyinelemeli Fonksiyonlar ve Lambda Calculus hepsi eşdeğerdir. Bu sadece bir şans darbesi miydi, yoksa sıralı bilgisayarları henüz dağıtılmış bilgisayarlı bilgisayarlarla gerçekleştirilemeyecek şekilde kapsüllenmesinde iyi bir iş çıkardık mı?

Başka bir deyişle, doğal olarak zarif bir teoriye boyun eğmeyecek şekilde dağıtılmıştır (ve öyleyse, nasıl ve neden?), Ya da biz böyle bir teoriyi keşfedecek kadar akıllı değil miyiz?

Fischer, Merritt DOI: 10.1007 / s00446-003-0096-6 tarafından "Bu sorunu ele alan tek referans:" Yirmi yıllık dağıtılmış hesaplama teorisi araştırmasının değerlendirilmesi "

Herhangi bir referans ya da açıklama gerçekten yardımcı olacaktır.

Yanıtlar:


26

Benim düşüncem, soyut motivasyonlu Turing makine hesaplama modelinin yakın zamana kadar teknolojinin iyi bir yaklaşımı olduğu halde, başlangıçtan itibaren dağıtılmış bilgisayar modelleri, soyutlamalar yapmaktan her zaman daha karışık olan gerçek dünya tarafından motive edildi.

Örneğin, 1940-1995'ten itibaren, sorunlu örneklerin büyüklüğü, paralellik ve eşzamanlılığın göreceli "önemsizliği" ve hepsi de Turing makinelerini gerçek dünya bilgisayarlarının mükemmel bir yaklaşımı olarak tutmak için "anlaşılan" bilgisayar cihazlarının makro ölçeğini. Ancak, büyük veri kümeleri, eşzamanlılık için her yerde ihtiyaç duyulan bir algoritma lensi aracılığıyla biyoloji vb. İle uğraşmaya başladığınızda, "sezgisel" bir hesaplama modeli olup olmadığı çok daha az açıktır. Belki bir modelde zor olan problemler zor değildir - başka bir deyişle kesinlikle daha az işlemsel olarak karmaşıktır. Bu yüzden, ana akım işlemsel karmaşıklığın nihayet, gerçek dünyadaki düşüncelerle motive edilen birden fazla hesaplama ve veri yapısı modelini göz önünde bulundurarak dağınık bilgisayarla (!) Yakaladığına inanıyorum.


7
Ayrıca, ilgili alanların tanımlayıcı sorularını da göz önünde bulundurun. “Mükemmel hesaplayabileceğinizi varsayın. Yapabilecekleriniz ve yapamadıklarınızın sınırları nedir?” "Hatalı bir kanalınız, işlemciniz olduğunu veya bir rakip olduğunuzu varsayalım. Bu engellerle karşılaştığınızda nasıl başarılı bir şekilde hesaplama yapabilirsiniz?" İlk sorunun “temiz” cevapları vermesi daha olası. İkincisi, dağınıklığı bilimselleştirmek için bir istektir.
Aaron Sterling

21

Bunu klasik grafik problemleri (veya giriş / çıkış problemleri) perspektifinden cevaplayacağım: bir ağımız var, her düğüm giriş olarak bir şey alıyor ve her düğüm çıkış olarak bir şey üretmek zorunda. Sanırım bu geleneksel hesaplamalı karmaşıklık dünyasına en yakın olanı.

Kesinlikle önyargılı, ama ben bu ayarda, orada düşünüyorum olan basit ve bilgisayar dağıtılan oldukça yaygın kullanılan modeli: senkron dağıtılan algoritmalar tanımıyla, o zaman = senkron mermi sayısını çalışan . Peleg'in terminolojisinde bu LOCAL modelidir.

Bu model çok az sayıda "hareketli parça", parametre, vb. İçermediğinden güzel Ve koşulsuz, bilgi teorik alt sınırları kanıtlayabilirsiniz: Bu açıdan, birçok grafik probleminin (örneğin, grafik renklendirme) dağınık karmaşıklığı oldukça iyi anlaşılmıştır.

Bu model aynı zamanda dağıtılmış hesaplamanın birçok yönüne birleşik bir yaklaşım sunar:

  • Mesaj gönderme, paylaşılan hafıza, yayın ve tek noktaya yayın: Bu model ile ilgili değildir
  • α
  • Dinamik ağlar için bir algoritmaya sahip olmak mı istiyorsunuz, yoksa hatalardan kurtulmak mı istiyorsunuz? Senkron algoritmanız deterministik ise, o zaman kendini dengeleyici bir algoritma oluşturmak için kullanabilirsiniz. Yine, zaman karmaşıklığı esasen etkilenmez.

Şimdi, algoritmanızın çalışma süresinin grafiğin çapından daha küçük olduğu anlamında "gerçekten dağılmış" sorunları araştırdığınız sürece tüm bunlar sorun yaratmaz , yani hiçbir düğümün yapısı hakkında tam bilgiye sahip olması gerekmez. grafiktir. Bununla birlikte, doğası gereği global olan birçok sorun da var: Bu modeldeki en hızlı algoritma grafiğin çapında doğrusal olan çalışma zamanına sahip. Bu problemlerin çalışmasında, yukarıdaki model artık bir anlam ifade etmiyor ve daha sonra başka bir şeye başvurmamız gerekiyor. Genellikle, biri ağda iletilen toplam ileti veya bit sayısına dikkat etmeye başlar. Birkaç farklı model almamızın bir nedeni budur.


O zaman elbette, dağıtılmış bilgi işlem topluluğunun aslında iki ortak topluluk olduğu ve şaşırtıcı bir şekilde ortak noktaları olduğu sorunu var . Eğer iki topluluğun tüm modellerini bir araya getirirseniz , kesinlikle biraz kafa karıştırıcı görünecektir ... Yukarıdaki cevabım topluluğun sadece bir yarısı ile ilgilidir; Diğer yarının diğerlerinin de dolduracağına inanıyorum.


Bunu doğru anlarsam, mesele şu ki, sadece senkron sistemler için şık bir teori var, başka bir şey değil. Eşzamanlı sistemler dışındaki sistemlere gelince, problemleri / odakları iki farklı topluluktan birleştiriyoruz ve bu da tek bir teori geliştirmenin metodolojik sorunlarını ortaya koyuyor. Argümanlarını doğru anladım mı?
Srikanth Sastry

Bilgilendirici cevap için teşekkürler. Bunu cevap olarak kabul ediyorum.
Muhammed El-Türkistan

5

Çeşitli dağıtılmış hesaplama modellerini yakalamak için romantik bir fikir cebirsel topoloji ile olmuştur. Temel fikir, noktaların her biri bir işlem kimliği ile etiketlenmiş işlem durumları olmasına izin vererek basit kompleksler inşa etmektir. Bu konuyla ilgili bir astar . Sorunuza en yakın cevaba muhtemelen Eli- gafni'nin makalesinde- Dağınık hesaplama-bir teoriye bir bakışta değinilmiştir. Makalesinde, async ile nasıl başladığını iki üç işlemcide (başarısız durma ve Bizans için) paylaşılan belleğe nasıl benzettiğini gösterir - bunu mesaj iletme modeline nasıl uygulayabileceğini gösterir. Simülasyonlarını anlamak için çok önemli, dağınık bir bilgisayarı topolojik olarak görüntüleme kavramıdır.


4

Durum bağlamında bakıldığında durumun oldukça farklı olduğunu düşünüyorum: ilk çalışmalardan başlayarak ve Bizans anlaşmasıyla imkansızlık sonuçlarına ( PSL80 LSP82 FLP85)), kısa süre önce, dağıtılmış hesaplamadaki temel sorunların ancak katı senkronizasyon varsayımları ve yüksek bir fazlalık derecesiyle çözülebileceği açıktı. Bu koşulsuz teorik kaynak alt sınırları herhangi bir pratik amaç için olanaksız olarak kabul edildiğinden, araştırmalar varsayımların (örneğin, zamanlama garantileri veya başarısızlık modları üzerine) daha fazla ince taneli takasların yapılmasına izin veren daha rafine modeller geliştirmeye odaklanmıştır. Sistem tasarımcılarına, eldeki sistem için doğru dengeyi bulma araçlarını vermek amacıyla ne tür bileşenlerin tolere edildiği, örneğin işlemciler, bağlantılar) aynı anda meydana gelen arızalar.


Rafine modellerin, problemlerin dağıtık alanda 'pratik' çözülebilirliğini anlamak için kullanıldığını biliyorum. Biri, bu iyi ayarlanmış modellerin, çözülebilirlik, zaman karmaşıklığı ve mesaj karmaşıklığı açısından kendilerini düzgün bir şekilde hiyerarşi içinde düzenlemelerini bekler. Ne yazık ki, bu böyle değil. Buradaki sorum, bu balkanizasyonun sebebi nedir? Dağıtılmış hesaplamanın doğasında var olan bazı özellikler varsa, bunlar ne?
Srikanth Sastry
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.