3

erlang の最大の採用者の 1 つは通信業界であると読んだことがあります。ノード間でバイナリデータを送信し、簡単な冗長性、効率性、および並列性を提供するためにそれを使用していると思います。

erlang は実際にバイナリだけをセントラル ノードに送信しますか?

バイナリデータを実際の音声に解析する直接の責任はありますか? それとも、ポート経由で別の言語/プログラムに供給されますか?

電話の速度、つまり私が何かを言ってからあなたがそれを聞くまでの遅延などの速度に責任があります.

erlang は並列動作を容易にするためにのみ使用され、c++ などは順次関数の処理速度のために使用される可能性はありますか?

4

1 に答える 1

5

実際のテレコムスイッチにどのように実装されているかを推測することしかできませんが、次ようなアプローチをお勧めします。

  • まず、低レベルのものの多くを含め、すべてをErlangに実装します。信号処理は非常にコストがかかるため、これはおそらくそれほど拡張されません。ただし、プロトタイプとしては機能し、電話をかけることもできます。

  • 次に、パフォーマンスのボトルネックをどうするかを決定します。それらをC(++)にプッシュして約10倍にするか、FPGAにプッシュして約100倍にすることができます。最後に、CMOS作業を実行して約1000倍にすることができます。後者のアプローチも非常に急勾配なので、必要なものを決定して購入します。

  • Erlangは、ボタンを押してコールセットアップなどを行ったときに何が起こるかという意味で、コントロールバックプレーンの制御を維持します。ただし、呼び出しが割り当てられると、チャネルを下位層に渡します。ここでは、接続を設定すると変更する必要がないため、ATMの切り替えが簡単になります(ATMはコネクション型、IPはパケット型です)。

  • アーラン分布機能は、主に制御バックプレーンに冗長性を提供するためにあります。つまり、ハードウェア障害が発生した場合のノードの乗っ取りを容易にするために、複数のノード間で呼び出し設定などのテーブルを同期します。

  • 秘訣は、プロトタイプ後のポートとNIFを使用して、プログラムの遅い部分を高速化することです。

于 2011-02-09T08:37:03.313 に答える