Операции чтения / записи с нескольких дисков могут вызвать узкое место?

#file #parallel-processing #disk

#файл #параллельная обработка #диск

Вопрос:

Я выполнял большую работу, в ходе которой я одновременно получал доступ к одному файлу из более чем 30 процессов (через 4 узла, смонтированных в NFS), и мне было интересно, есть ли преимущество, помимо узкого места с пропускной способностью, в том, что меньшее количество подключений открывает один и тот же файл. В частности…

Будет ли разница в скорости при этих двух способах доступа к файлу:

  1. доступ к 1 файлу осуществляется 5 отдельными процессами (ТОЛЬКО ЧТЕНИЕ)

  2. доступ к 5 отдельным файлам (1/5 размера оригинала) осуществляется 5 отдельными процессами (ТОЛЬКО ЧТЕНИЕ)

Также…

Даже если пропускная способность диска не превышена, существует ли узкое место, связанное со слишком большим количеством открытых подключений к файлам?

Комментарии:

1. Я бы настоятельно рекомендовал использовать hdf5 вместо параллельного чтения mpi / io и pvfs.

Ответ №1:

Одновременный доступ к одному и тому же файлу несколькими процессами подразумевает операции блокировки и сериализации, по крайней мере, в некоторой степени. В сетевой файловой системе это может привести к значительным задержкам в любой операции. Хотя использование полосы пропускания не будет сильно отличаться, связанные с этим задержки могут значительно снизить производительность.

Если вы можете избежать одновременных обращений к одному и тому же файлу по сети, вам, вероятно, следует это сделать, если производительность вообще имеет значение.

Кстати, NFS и большинство других сетевых файловых систем имели долгую историю проблем с блокировкой и одновременным доступом, даже когда приложение выполняет явную блокировку — обычным результатом является некоторая форма повреждения данных.

Если вы можете, рассмотрите возможность переключения на надлежащий сетевой протокол, где несколько процессов передают данные на центральный сервер ведения журнала / записи, который записывает данные в ваш выходной файл, без участия NFS или любого из ее друзей…

Комментарии:

1. задействована ли блокировка, если файл только читается? Спасибо за совет по NFS, к сожалению, на данный момент я застрял с NFS.

2. Нет. Я записываю выходные данные в отдельные файлы.

3. @sequenceGeek: одновременный доступ к файлу NFS с разрешением только для чтения может быть разрешен. Лучше всего было бы выполнить некоторый сравнительный анализ, чтобы выяснить наверняка.