私は、1つのプロセスから多くの(数千)までのデータ更新の高いスループットを可能にするipcメカニズムを探しています。one-to-many IPC
'サーバ'プロセスは、高い頻度でデータ構造を更新する責任があります。更新時に、私は更新の 'クライアント'プロセスに通知し、それらのプロセスが新しいデータを読み取ることを許可したいと思います。
LinuxまたはFreeBSD環境では、これについてはどうすればよいでしょうか?
私は、1つのプロセスから多くの(数千)までのデータ更新の高いスループットを可能にするipcメカニズムを探しています。one-to-many IPC
'サーバ'プロセスは、高い頻度でデータ構造を更新する責任があります。更新時に、私は更新の 'クライアント'プロセスに通知し、それらのプロセスが新しいデータを読み取ることを許可したいと思います。
LinuxまたはFreeBSD環境では、これについてはどうすればよいでしょうか?
ZeroMQをお勧めします。これは、あなたが求めているすべてのことを、すでに実行している、高速で軽量なクロスプラットフォームのクロスランゲージ・メッセージング・システムです。使いやすく、非常に堅牢です。これは、多くの、多くのモードで動作することができ、そのうちの1つは、1対多のメッセージングである(これはCS-speakでのブロードキャストと呼ばれる)。
セットアップの制限または要件(同じマシン内のすべてのプロセス)では明確ではありませんが、プラットフォームに依存しない、分散されたMPIを使用することが最も汎用性の高いソリューションと考えられます。特に、broadcasting functionalityを提供します。
欠点は、MPI APIの後にデザインを少しモデリングする必要があることです。