Параллельные вычисления в ИММ УрО РАН
 
 

Параллельная файловая система PVFS на МВС-1000/16

На МВС-1000/16 стала доступна параллельная файловая система PVFS (разработка Clemson University и Арагонской Национальной Лаборатории, см. сайт разработчиков.) Под параллельностью здесь понимается то, что вывод каждого процесса параллельной задачи пишется поочерёдно на диски нескольких вычислительных узлов, и хранится каждый файл на нескольких узлах сразу, кусками фиксированного размера. Напомним, что в стандартном случае все считающиеся на МВС процессы пишут на один диск. Для оценки производительности необходимо учитывать, что пропускная способность сети – чуть больше 20 МБайт/с, а дисков в узлах МВС – приблизительно 17 МБайт/с. К примеру, если на диск пишет лишь один процесс параллельной задачи, то максимальный выигрыш от использования PVFS будет порядка 10%. Если же одновременно пишут 10 процессов, то общая скорость обменов c PVFS будет максимум 170 МБайт/с, а в стандартном случае – лишь 17 МБайт/с.

Использование PVFS может дать следующие преимущества:

  • ликвидируется узкое горло для ввода-вывода с вычислительных узлов, особенно заметен выигрыш при одновременной записи со многих процессоров,
  • размер одного файла не ограничен свободным местом на локальном диске; например, в текущий момент на разделе PVFS можно создать файл размером 40 Гигабайт.

PVFS не даст выигрыша в следующих случаях:

  • незначимый на фоне счёта/обменов ввод-вывод (10-мегабайтный файл выводится 1.3 сек., что позволяет оценить, что такое незначимый),
  • запись в большое число мелких файлов,
  • если заметное время занимают запись одних процессов в файл, а затем чтение этого файла с других, то, наверное, стоит написать обычные посылку-приём, что исключит узкое место гораздо более эффективно.

Возможны 3 способа использования PVFS (способы упорядочены по возрастанию затрат труда программиста и получаемого выигрыша в производительности):

  • работать с ней, как с обычной файловой системой (OPEN и пр. в Фортране),
  • использовать стандартизованный MPI-2 интерфейс к параллельному вводу-выводу в реализации ROMIO (почитать про него можно, например, у нас),
  • через собственные вызовы PVFS.
В любом случае, доступ с пользователькой машины не меняется: для Вас это будет ещё один сетевой диск/каталог. При переписывании файлов с PVFS на Windows-машину необходимо осозновать, что, например, максимальный размер файла на разделе FAT-32 составляет 4 ГБ, а в стандартной для Линукса ext2fs – чуть больше 3 ГБ.

На рисунке представлены данные о производительности PVFS, достигаемой на больших (16 МБайт) обменах с диском. В этом варианте данные пишутся на диски 4-х узлов. По оси абсцисс отложено число параллельных процессов, использующих PVFS, а по оси ординат – суммарная пропускная способность. Видно, что максимум достигается весьма быстро, то есть для параллельной работы с большими объемами PVFS приспособлена весьма неплохо. Излом графика в районе 15-го процесса объясняется нынешней конструкцией MBC-1000/16.


Замечания, предложения, сообщения об ошибках горячо приветствуются. За консультациями обращайтесь, пожалуйста, к
Сергею Владимировичу Шарфу scharf@imm.uran.ru,
Тел. (343)375-35-11, местный 35-11.