リムナンテスは愉快な気分

徒然なるままに、言語、数学、音楽、プログラミング、時々人生についての記事を書きます

「分散システム 原理とパラダイム 第2版」第2章解答

英語版の解答の翻訳

ソース:https://www.distributed-systems.net/my-data/ds2/ds-solutions.pdf

google翻訳そのままの箇所は訳がクソです。あしからず。

 

1. Q:クライアントとサーバーが離れて配置されていると、全体のパフォーマンスがネットワークの待ち時間に影響することがあります。 どのようにしてこの問題に取り組んでいますか?

A:本当にクライアントがどのように構成されているかによって異なります。 クライアント側のコードを別々に実行できる小さな部分に分割することも可能です。いずれの部分もサーバーが応答するのを待っているときに、別の部分をスケジュールすることができます。 あるいは、サーバに要求を送信した後で他の作業を実行できるようにクライアントを再配置することもできます。この最後の解決策は、同期クライアント/サーバ通信を非同期的一方向通信に効果的に置き換えます。

 

2. Q:3層クライアント/サーバーアーキテクチャとは何ですか?

A:階層型クライアント/サーバーアーキテクチャは、3つの論理層で構成されています。各層は原則として別のマシンで実装されます。最も高い層はクライアントユーザインタフェースで構成され、中間層は実際のアプリケーションを含み、最下位層は使用されているデータを実装します。

 

3. Q:垂直分布と水平分布の違いは何ですか?

A:垂直分布とは、複数のマシン間で複数のアーキテクチャで異なるレイヤーの分布を指します。原則として、各層は異なる機械上で実施される。水平配布は、単一のデータベースを配布するなど、複数のマシン間で単一のレイヤーの配布を処理します。

 

4. Q:複数のクライアント・サーバー・アーキテクチャーを実装する一連のプロセスP1、P2、...、Pnを考えてみましょう。processP1の要求 - 応答perfor - マンスを見て撮影するときprocessPi+1のProcessPiisクライアント、andPiwillreturn返信TOPI-1onlyは返信fromPi+1.Whatを受けた後、この組織とmainproblemsですか?

A:パフォーマンスは悪くなることが予想されます。問題は、2つの連続するレイヤー間の通信が、原則として異なるマシン間で行われることです。 したがって、P1とP2との間の性能は、他の層の間のn-2回の応答相互作用によって決定されてもよい。 もう1つの問題は、チェーン内の1台のマシンがひどく動作したり、即座に到達不能になった場合、すぐに最高レベルの性能を低下させることです。

 

5. Q:構造化されたオーバーレイネットワークでは、メッセージはオーバーレイのトポロジに従ってルーティングされます。このアプローチの重要な欠点は何ですか?

A:問題は、我々がロジカルパスだけを扱っているということです。オーバレイネットワーク内の隣接ノードである2つのノードとBが物理的に離れて配置されている場合があります。結果として、AとBの間の論理的に短いパスは、基盤となる物理ネットワークの非常に長いパスに沿ってメッセージをルーティングする必要があります。

 

6. Q:図2-0のCANネットワークを考えてみましょう。座標(0.2,0.3)のノードから座標(0.9,0.6)のノードにメッセージをどのようにルーティングするのですか?

A:いくつかの可能性がありますが、ユークリッド距離に従って最短の経路に従う場合は、 0.2,0.3)Æ(0.6,0.7)Æ(0.9,0.6)であり、距離は0.882である。代替ルート(0.2,0.3)Æ(0.7,0.2)Æ(0.9,0.6)は0.957の距離を持ちます。

 

7.質問:CANのノードが直前のノードの座標を知っていることを考慮すると、妥当なルーティング方針はメッセージを最も近いノードに宛先に向かって転送することである。 Howgoodはこの方針ですか?

A:前の質問の例では、最良のルートにつながることはありません。 node(0.2,0.3)がnode(0.9,0.6)宛てのメッセージについてこのポリシーに従うならば、それはofftonode(0.7,0.2).8を送信する。

 

8. Q:各ノードがランダムに選択する非構造化オーバーレイネットワークを考えてみましょう。もし、PとQが共にRの隣人であるならば、それらが互いの隣人である確率はどれくらいですか?

A:Nのネットワークを考えてみましょう。各ノードがran-domで隣人を選ぶならば、PはchooseQ、orQchoosesPはおよそ2c /(N-1).9の確率である。

 

9. Q:すべてのノードがランドームで選択する非構造化オーバーレイネットワークを再度検討してください。ノードを検索すると、ノードはそのノードに要求を送信し、要求を再度要求します。どのノードに到達すべきか?

A:簡単な上限は、asc(c-1)で計算できるが、その場合、nodePの隣人も互いに近づくことができるという事実を強調する.Poillの隣人がq = 1-c-1k = 1SËc-1kÊÊËÊ-1N-1Òk-1-kこの場合、この提案戦略は、 ¥q(c​​-1)個のノード。たとえば、withc = 20およびN = 10,000の場合、aqueryは365.817 nodes.10になります。

 

10. Q:ピアツーピアネットワーク内のすべてのノードがスーパーピアになる必要はありません。スーパーピアが満たすべき合理的な要件は何ですか?

A:最初の場所では、ほかのノードが多数存在するため、ノードの可用性が高くなければなりません。また、要求を処理するのに十分な容量が必要です。たぶん重要なのは、それが仕事をうまくやっていることが信頼できるという事実です。

 

11. Q:各ノードが帯域幅容量を持つ発信リンクを持ち、帯域幅容量がある着信リンクを持つBitTorrentシステムを考えてみましょう。これらのノードの一部(シードと呼ばれます)は自発的にダウンロードされます。一度に最大1つのシードに接続できるかどうかを調べる場合、BitTorrentクライアントの最大ダウンロード容量はどのくらいですか?

A:シードするノードの送信容量をクライアント間で共有する必要があることを考慮する必要があります。シーサーとクライアントが存在し、各クライアントがシーダーの1つをランダムに選ぶと仮定します。シーダーの共同出力能力は¥Boutであり、各クライアントにはBout / Nimmediateのダウンロード能力が与えられます。さらに、クライアントがお互いを助け合うと、それぞれがBin> Boutと仮定して、チャンクをBoutでダウンロードできます。 tt-for-tatポリシーのため、BitTorrentクライアントのダウンロード容量は主にそのダウンロード容量によって決まります。結論として、ダウンロード容量の合計は¥Bout / N + Bout.12になります。

 

12. Q:BitTorrentで使用されるtat-for-tatポリシーがインターネットでの共有に最適でない理由を説得力のある(技術的な)引数を与えます。

A:推論は比較的簡単です。ほとんどのBitTorrentクライアントは、ADSLやケーブルモデムなどの非対称リンクより後に動作します。一般的に、クライアントには高い帯域幅容量が提供されますが、誰も本当に提供するサービスがあるとは考えていません.BitTorrentはクライアントの協力を得ず、クライアントを共同サーバーに変えます。対称的な結びつきを持つことは、tat-for-tat政策の方がずっと良い一致である

 

13. Q:適応型ミドルウェアでインターセプタを使用する例を紹介します。

A:いくつかの例があります。たとえば、インターセプタを使用してモビリティをサポートすることができます。その場合、要求レベルのインターセプタは、コールが転送される前に、参照されたオブジェクトの現在の場所をルックアップします。同様に、インターセプタを使用して、セキュリティが維持されているときにメッセージを透過的に暗号化することができます。別の例は、ロギングが必要な場合です。これをアプリケーションが処理するのではなく、呼び出されたオブジェクトにコールを渡す前に、特定のイベントを記録するメソッド固有のインターセプターを挿入するだけです。そのような例の多くは、簡単に気になります。

 

14. Q:インターセプタはどこに配置されているミドルウェアに依存していますか?

A:一般に、インターセプタは高度にミドルウェアに依存します。図2-0を考慮すると、メッセージレベルのインターセプタが中間レベルのインターセプタとの相互作用に強く依存するように、クライアントスタブはミドルウェアによって提供されるより低いレベルのインターフェイスに緊密に接続されている可能性があります。 Wareとローカルのオペレーティングシステムです。それにもかかわらず、これらのインタフェースを標準化することは可能であり、特定の種類のミドルウェアにもかかわらず、ポータブル・インターセプタを開発する道を開くことができます。この最後のアプローチはCORBA.15に従っている。

 

15. Q:現代自動車には電子機器が詰まっています。いくつかの例をcars.

Aのオフフィードバック制御システムに与えてください:明らかなのはクルーズコントロールです。一方で、このサブシステムは現在の速度を上回り、必要な設定から変化すると、かごが減速または加速されます。アンチロックブレーキシステム(ABS)は、他の例である。各車輪が及ぼしている圧力を調節すると同時に、車のブレーキを脈動させることによって、車輪が塞がれているため、制御を失うことなく操舵を続けることが可能である。最後の例は、エンジンの状態を監視するセンサーの閉回路によって形成されています。危険な状態になるとすぐに、自動車が最悪の事態を防ぐために自動的に停止することがあります。

 

16. Q:分析コンポーネントが完全に分散されているか、または非公開である自己管理システムの例を挙げてください。

A:このタイプのシステムにはすでにあります。ノードがメンバーシップ情報を交換する非構造ピアツーピアシステムでは、トポロジーが発生する可能性があります。分析コンポーネントは、意図されたトポロジを変換するのに役立たない特定のリンクを削除することから成り立っています。類似の例は、他のこのようなシステムでも参照できます。

 

17. Q:Globuleのレプリケーション・ポリシーを先取りするための最適なトレース長を自動的に決定するソリューションをスケッチします。

A:オリジンサーバは、その期間のポリシーの予測をチェックするために、TitoTi + 1からのトレースを使用する必要があります。 実際のアクセスパターンで選択された方針が期間Ti-1toiの要求に基づいて選択されたものと同じであるかどうかを単に見ることができます。これにより、サーバが予測エラーを計算することが可能になります。トレース長さにもかかわらず、 予測が最小である長さ。 この方法では、最適なトレース長を自動的に決定し、Globuleの自己管理の性質に効果的に貢献します

 

18. Q:既存のソフトウェアを使用して、BitTorrentベースのシステムを設計して実装し、単一の強力なサーバーから多くのクライアントにノードを配布します.Mattersは、トラッカーとして動作する標準のWebサーバーを使用して応答します。