( Ostrzeżenie: nieco stronnicze poglądy, nadmierne uproszczenia i rażące uogólnienia przed nami ).
Często różnicę między obliczeniami rozproszonymi a obliczeniami równoległymi można podsumować w następujący sposób:
- W obliczeniach rozproszonych podstawowe miary złożoności odnoszą się do komunikacji i przepływów informacji : ile rund komunikacji („czas”); ile bitów przesłano.
- W obliczeniach równoległych podstawowe miary złożoności związane są z obliczeniami i przetwarzaniem informacji : ile podstawowych etapów („czas”); ile przechowywanych bitów.
Jeśli weźmiesz tę perspektywę, często okazuje się, że aby modelować systemy rozproszone, tak naprawdę nie ma znaczenia, jaką moc obliczeniową mają twoje węzły (procesory lub komputery).
Zazwyczaj można po prostu założyć, że każdy węzeł jest tylko maszyną stanu (często wystarczy mieć stosunkowo niewielką liczbę możliwych stanów, takich jak ). Urządzenie zmienia swój stan na podstawie otrzymanych wiadomości. Zwykle nie interesuje Cię, jak maszyna zmienia swój stan. Może to być maszyna Turinga, ale tak naprawdę nie jest to tak istotne.O(n)
Na przykład, jeśli weźmiesz (rozsądny) problem z grafem i przestudiujesz rozproszoną złożoność rozwiązania (np. Liczbę rund komunikacji wymaganych do jego rozwiązania), sposób modelowania obliczeń w każdym węźle zwykle nie wpływa na odpowiedź. Jeśli najpierw przeanalizujesz go za pomocą maszyn Turinga, a następnie przyjmując arbitralnie potężną wyrocznię, odpowiedź jest zwykle taka sama. Możesz dodać niejednolitą poradę, która niczego nie zmienia.XXX
„Wąskim gardłem” jest to, że nie można szybko zebrać informacji. W rundach komunikacyjnych , bez względu na to, co robisz, każdy węzeł może mieć tylko informacje dotyczące własnego sąsiedztwa w promieniuMożesz mieć arbitralnie wydajny procesor w każdym węźle, ale co to za korzyść, jeśli procesory nie mają żadnych informacji do przetworzenia!TTT
Dlatego używanie maszyn Turinga jako punktu wyjścia do modelowania systemów rozproszonych brzmi dla mnie trochę nienaturalnie: jeśli jest to nieistotny aspekt, po co budować na nim wszystko? Z drugiej strony, w obliczeniach równoległych byłoby to naturalne (z wyjątkiem tego, że model jest zwykle czymś w rodzaju PRAM zamiast maszyn Turinga).