У меня следующая проблема. Мне нужно хранить огромное количество информации (~ 32 ГБ) и иметь возможность манипулировать ею как можно быстрее. Мне интересно, как лучше всего это сделать (комбинации языка программирования + ОС + все, что вы считаете важным).
Структура информации, которую я использую, представляет собой массив 4D (NxNxNxN) с плавающей запятой двойной точности (8 байт). Сейчас мое решение состоит в том, чтобы разделить массив 4D на двумерные массивы и сохранить их в отдельных файлах на жестком диске моего компьютера. Это действительно медленно и манипулирование данными невыносимо, так что это совсем не решение!
Я подумываю о переезде в суперкомпьютерный центр в моей стране и сохранении всей информации в оперативной памяти, но я не уверен, как реализовать приложение, чтобы использовать его в своих интересах (я не профессиональный программист, так что любая книга / справка мне очень поможет).
Альтернативное решение, о котором я думаю, - это купить выделенный сервер с большим количеством оперативной памяти, но я не знаю точно, решит ли это проблему. Поэтому сейчас мое невежество не позволяет мне выбрать лучший путь.
Что бы вы сделали, если бы оказались в такой ситуации? Я открыт для любой идеи.
Заранее спасибо!
РЕДАКТИРОВАТЬ: Извините, что не предоставил достаточно информации, я постараюсь быть более конкретным.
Я храню дискретизированную математическую функцию 4D. Операции, которые я хотел бы выполнить, включают транспонирование массива (изменение b [i, j, k, l] = a [j, i, k, l] и т.п.), умножение массива и т. Д.
Поскольку это симуляция предлагаемого эксперимента, операции будут применяться только один раз. Как только результат получен, больше не нужно выполнять больше операций с данными.
РЕДАКТИРОВАТЬ (2):
Я также хотел бы иметь возможность хранить больше информации в будущем, поэтому решение должно быть как-то масштабируемым. В настоящее время цель 32 ГБ состоит в том, что я хочу иметь массив с N = 256 точками, но было бы лучше, если бы я мог использовать N = 512 (что означает 512 ГБ для его хранения !!).