2

適切な用語さえわからないので、目的から始めましょう。ファイルから膨大な量のデータをメモリに読み込むだけの単純なアプリ (「Data Doler」) を作成してから、サービスを提供することです。そのデータのスライスを、「Data Lapper」と呼ばれる単一のマルチスレッド アプリ、または Data Lapper の複数のインスタンスに渡します。

Data Doler は、起動してデータ ハンクを 1 回読み取るだけでよいので、少なくともハルマゲドンまで存続させたいと考えています。Data Doler は、Data Lapper が接続してデータの要求を開始するのを待って、アイドリング状態で待機する必要があります。Data Doler は常に、50 ギガバイトを超えるメモリを搭載したマルチコア マシンで実行されます。

データは静的で読み取り専用であり、Data Lapper が行う必要があるのは Data Doler にメモリ アドレスを与えるだけで、要求されたデータの正確なスライスを即座に取得できるようにインデックスが付けられます。

Data Doler は任意の言語 (C、C++、AtariBasic など) で記述できます。

私は Data Laper の C ソース コードを持っているので、Data Doler に接続する方法は完全にオープンです。

私は SqLite、共有メモリ アプリ、名前付きパイプ、IPC などについて自分自身を教育し始めました。しかし、誰かが私がどのツリーを鳴らすべきか、または私が無知であるかどうかを教えてくれることで、時間を節約できることを願っていますこのことについては、ベランダにいるほうがいいでしょう。

4

1 に答える 1

0

スループットとデータが保持される期間によっては、独自に展開するよりも簡単なソリューションがいくつかある場合があります。

memcachedのようなものは、要件に適合する場合、本当に洗練されたものになるでしょう。それはウェブ全体で使用されています。

コード ソリューションを手作りしている場合は、boost interprocessを検討してください。IPCにとってはかなり合理的です。

于 2012-09-17T20:15:11.163 に答える