計画に不備があると、分散システムは全体の計算の信頼性が低下し、ノードのダウンによって他のノードも動作不能に陥る可能性がある。レスリー・ランポートは、「分散システムは、そんな障害があるとは思ってもみなかった障害によって利用不能になるシステムである」と述べている。分散システムにおけるトラブルシューティングや診断はますます困難になりつつある。問題の原因を突き止めようとすれば、遠隔ノードへの接続が必要であり、ノード間の通信内容を調べる必要がある。設計思想(アーキテクチャ).分散コンピューティングでの設計思想(アーキテクチャ).分散コンピューティングでは、様々なハードウェアおよびソフトウェアの設計思想(アーキテクチャ)が使われる。大きく分けると低レベルと高レベルに分けられる。分散プログラミングでの設計思想(アーキテクチャ).分散プログラミングは、一般に以下の基本アーキテクチャのいずれかに分類される。分散コンピューティング・アーキテクチャの別の観点として、並行プロセス間の通信と作業配布の方法がある。プロセスは各種メッセージパッシングプロトコルを使って互いに直接通信でき、一般にマスタースレーブ型の関係にある。それとは別にデータベースを中心とするアーキテクチャもあり、直接のプロセス間通信をせず、データベースを共有することで分散処理を実現する。並行性.分散コンピューティングには、ある種の並行性が実装される。並行コンピューティングとも密接な関係があり、しばしば同義に扱われる。マルチプロセッサシステム.マルチプロセッサシステムは、複数のCPUを持つ単一のコンピュータである。オペレーティングシステムがその利点を生かすよう構築されていれば、異なるプロセス(あるいは同一プロセスの異なるスレッド)を異なるCPU上で同時に実行できる。マルチコアシステム.分類.分散システムはフリンの分類によって次のように分類される。コンピュータクラスター.