次の問題があります。膨大な量の情報 (最大 32 GB)を保存し、できるだけ速く操作できるようにする必要があります。それを行うための最良の方法は何だろうと思っています(プログラミング言語の組み合わせ+ OS +あなたが重要だと思うものは何でも)。
私が使用している情報の構造は、倍精度浮動小数点数 (8 バイト) の 4D 配列 (NxNxNxN) です。現時点での私の解決策は、4D 配列を 2D 配列にスライスし、それらをコンピューターの HDD の個別のファイルに保存することです。これは非常に遅く、データの操作は耐えられないため、これはまったく解決策ではありません!
自国のスーパーコンピューティング施設に移り、すべての情報を RAM に保存することを考えていますが、それを利用するアプリケーションを実装する方法がわかりません (私はプロのプログラマーではないので、どの本も/参照は私を大いに助けます)。
私が考えている別の解決策は、大量の RAM を備えた専用サーバーを購入することですが、それで問題が解決するかどうかはわかりません。だから今、私の無知のせいで、最善の方法を選択することができません。
あなたがこの状況にいたらどうしますか?私はどんな考えにもオープンです。
前もって感謝します!
編集:十分な情報を提供できなくて申し訳ありません。より具体的にしようと思います。
離散化された 4D 数学関数を格納しています。実行したい操作には、配列の転置 (b[i,j,k,l] = a[j,i,k,l] などの変更)、配列の乗算などが含まれます。
これは提案された実験のシミュレーションであるため、操作は 1 回だけ適用されます。結果が得られたら、データに対してさらに操作を実行する必要はありません。
編集 (2):
また、将来的にはより多くの情報を保存できるようにしたいと考えているため、ソリューションは何らかの形でスケーラブルでなければなりません。現在の 32 GB の目標は、N=256 ポイントの配列が必要なためですが、N=512 (つまり、512 GB を格納することを意味します!!) を使用できればより良いでしょう。