2012-04-02 25 views
2

私は、1つのプロセスから多くの(数千)までのデータ更新の高いスループットを可能にするipcメカニズムを探しています。one-to-many IPC

'サーバ'プロセスは、高い頻度でデータ構造を更新する責任があります。更新時に、私は更新の 'クライアント'プロセスに通知し、それらのプロセスが新しいデータを読み取ることを許可したいと思います。

LinuxまたはFreeBSD環境では、これについてはどうすればよいでしょうか?

答えて

3

ZeroMQをお勧めします。これは、あなたが求めているすべてのことを、すでに実行している、高速で軽量なクロスプラットフォームのクロスランゲージ・メッセージング・システムです。使いやすく、非常に堅牢です。これは、多くの、多くのモードで動作することができ、そのうちの1つは、1対多のメッセージングである(これはCS-speakでのブロードキャストと呼ばれる)。

2

セットアップの制限または要件(同じマシン内のすべてのプロセス)では明確ではありませんが、プラットフォームに依存しない、分散されたMPIを使用することが最も汎用性の高いソリューションと考えられます。特に、broadcasting functionalityを提供します。

欠点は、MPI APIの後にデザインを少しモデリングする必要があることです。