У вас есть 1 ТБ данных и 11 ТБ общей памяти. Поэтому нет проблем хранить все ваши данные в кластере, это просто вопрос того, как.
Вы можете упаковать их на как можно меньшее количество узлов, а это шесть узлов. Или вы можете распространить его на все 60 узлов. Какой подход лучше, зависит от многих вещей, включая шаблоны доступа, с которыми вы будете использовать эти данные, модель затрат вашего кластера (бесплатна ли она, независимо от того, сколько узлов вы используете?) И многое другое.
Вам необходимо определить, какой максимальный объем памяти можно использовать для каждой отдельной задачи в вашем конкретном кластере. Это что-то настроено администраторами кластера. Например, некоторые кластеры могут равномерно разделить память, поэтому 192 ГБ ОЗУ в каждом узле может быть доступно только в том случае, если вы выполняете одну задачу для ядра на узле, а не если вы запускаете одну задачу на узел. Вы не сказали нам, сколько существует ядер, и, очевидно, мы не знаем, каковы политики использования вашего кластера.
Ответ на ваш вопрос C ++: Да, вы можете хранить 1 ТБ в C ++ vector
или array
или list
или map
или любая другая структура данных. C ++ здесь не накладывает никаких ограничений.