我有以下问题。我需要存储大量信息(约 32 GB)并能够尽可能快地操作它。我想知道最好的方法是什么(编程语言+操作系统+任何你认为重要的组合)。
我使用的信息结构是双精度浮点数(8 字节)的 4D 数组(NxNxNxN)。现在我的解决方案是将 4D 数组分割成 2D 数组,并将它们存储在我计算机 HDD 中的单独文件中。这真的很慢,而且对数据的操作令人难以忍受,所以这根本不是解决方案!
我正在考虑搬到我国家的超级计算设施并将所有信息存储在 RAM 中,但我不确定如何实现应用程序以利用它(我不是专业程序员,所以任何书/reference 对我有很大帮助)。
我正在考虑的另一种解决方案是购买具有大量 RAM 的专用服务器,但我不确定这是否能解决问题。所以现在我的无知并没有让我选择最好的方式进行。
如果你处于这种情况,你会怎么做?我对任何想法都持开放态度。
提前致谢!
编辑:抱歉没有提供足够的信息,我会尝试更具体。
我正在存储一个离散的 4D 数学函数。我想要执行的操作包括数组的转置(更改 b[i,j,k,l] = a[j,i,k,l] 等)、数组乘法等。
由于这是对提议的实验的模拟,因此这些操作将只应用一次。一旦获得结果,就无需对数据执行更多操作。
编辑(2):
我还希望将来能够存储更多信息,因此该解决方案应该具有某种可扩展性。当前的 32 GB 目标是因为我想要 N=256 点的数组,但是如果我可以使用 N=512 会更好(这意味着 512 GB 来存储它!!)。