Особенности работы с многоуровневой системой хранения данных (СХД) на СК "Ломоносов".

Устройство многоуровневой СХД.

Система хранения данных состоит из трех частей:
  1. Быстрое хранилище (tier 1) – предназначено для проведения расчетов.
  2. Основное хранилище (tier 2) – предназначено для хранения рабочих данных пользователя (например данные проекта над которым пользователь работает в данный момент)
  3. Хранилище архивных данных (tier 3) – предназначено для хранения данных, которые в данный момент пользователю не нужны, но понадобятся в будущем, и хранения архивов данных. 

Устройство домашней директории пользователя на access узлах.

Домашняя директория пользователя (/home/users/$user) расположена на основном хранилище(tier 2).
Она содержит в себе две директории: /home/users/$user/_scratch и /home/users/$user/_backup
Первая - директория на быстром хранилище (tier 1), вторая – директория на хранилище архивных данных (tier 3).
 

Устройство домашней директории пользователя на compiler узлах.

Домашняя директория пользователя (/home/users/$user) расположена на основном хранилище (tier 2).
Она содержит в себе директорию /home/users/$user/_scratch – директория на быстром хранилище (tier 1), и не содержит /home/users/$user/_backup.
 

Устройство домашней директории пользователя на вычислительных узлах.

Домашняя директория пользователя (/home/users/$user) расположена на быстром хранилище (tier 1).
Важно:доступ с вычислительных узлов на основное хранилище (tier 2) или хранилище архивных данных (tier 3) невозможен
 

Особенности запуска задач на кластере.

Запуск задачи возможен как с основного хранилища, так и со _scratch.
Для запуска задач с основного хранилища необходимо предварительно скопировать (или убедиться в актуальности) программные файлы и данные на _scratch. Например, если программа расположена в директории ~/project/task1/calculator, а данные — в каталоге ~/project/task1/data123, то необходимо скопировать обе этих директории в _scratch:
cp -ap ~/project/task1/calculator ~/_scratch/project/task1/calculator

cp -ap ~/project/task1/data123 ~/_scratch/project/task1/data123
После этого переходим в директорию ~/project/task1/data123 и запускаем задачу, например так:
sbatch -n 1024 ompi ~/project/task1/calculator/calc -i ~/project/task1/data123/input
Важно понимать, что директория, доступная на вычислительных узлах по пути ~/project/task1/data123 на узлах доступа и компиляции будет доступна по пути ~/_scratch/project/task1/data123 и выходные данные также будут сохранены там. После окончания счёта выходные файлы нужно скопировать на основное хранилище, например так:
cp ~/_scratch/project/task1/data123/outfile ~/project/task1/data123
В нештатных случаях, когда размеры данных пользователя превышают отведённую ему квоту на tier2 и когда данные хранятся на tier3 перед запуском задачи данные следует копировать с tier3 на tier1:
cp -ap ~/_backup/project/task1/data123 ~/_scratch/project/task1/data123
Для запуска задач с быстрого хранилища (scratch) перейдите в нужный каталог, например ~/_scratch/project/task1/data123, и запустите задачу, например так:
cd ~/_scratch/project/task1/data123

sbatch -n 1024 ompi ~/project/task1/calculator/calc -i ~/project/task1/data123/input
Крайне не рекомендуется указывать путь ~/_scratch... , предпочтительней сразу использовать путь ~/..., так как это снижает нагрузку на вычислительные узлы и систему. Обязательно по итогам работы скопируйте изменённые данные  данные (скомпилированные программы, выходные файлы и т. п.) на основное хранилище!
 
ВАЖНО!  длительное (более месяца) хранение данных на быстром хранилище (tier 1, _scratch) недопустимо и может привести к потере данных, так как быстрое хранилище периодически очищается. В периоды профилактических работ на кластере быстрое хранилище полностью очищается, поэтому перед их проведением также необходимо скопировать нужные данные на основное хранилище.
 
Важно: работая в директории _scratch, помните, что длительное хранение данных невозможно, а значит, ваша программа или входные данные могут быть потеряны. Держите рабочую копию программ и данных на основном хранилище и по возможности используйте вариант запуска задач с основного хранилища.
 
Если для запуска задачи требуется выполнение стартовых скриптов (~/.bashrc и т. п.), то они должны быть предварительно скопированы в каталог ~/_scratch. Помните, что нужно именно скопировать файлы, символические ссылки работать не будут, также необходимо возобновлять файлы после автоматического их удаления.
 

Особенности использования хранилища архивных данных (tier 3)

Как уже было сказано, хранилище архивных данных (tier 3) предназначено для сохранения временно неиспользуемых данных и пользовательских резервных копий.
Для того чтобы переместить данные на хранилище архивных данных (tier 3) необходимо переместить или скопировать их в директорию _backup, находящуюся в домашней директории пользователя. Данные со временем будут перемещены на ленточную библиотеку, это перемещение абсолютно прозрачно для пользователя. При этом файлы будут «видны» в директории _backup. Восстановление файлов  с ленты произойдет при доступе к ним на чтение.
 

Квоты

По умолчанию на домашний каталог пользователя (tier2) установлена квота в размере 50 ГБ. На архивные данные (tier 3) — также установлена независимая квота в 50 ГБ.
На объём данных на быстром хранилище (tier1) в данный момент квота не установлена.