Назад | Перейти на главную страницу

Могут ли твердотельные накопители с программным обеспечением RAID0 помочь или препятствовать максимизации полезной пропускной способности процессора?

Мой вопрос в заголовке ... вот некоторые предыстории:

[ОС - это Linux.]

[ОБНОВИТЬ: Содержимое этого RAID0 является избыточным (синхронизируется из SCM). Меня не беспокоит повышенный риск потери данных.]

[ОБНОВЛЕНИЕ 2: Практически, я здесь скорее всего кослюсь. Но помимо попытки решить практическую проблему, я хочу улучшить / подтвердить свое понимание теоретических вопросов.]

У меня есть сервер автоматической сборки, который я использую для компиляции исходного кода очень большого проекта, и я хочу минимизировать время сборки. Я полагаю, что наилучшее возможное время сборки будет достигнуто, когда машина останется привязанной к ЦП в течение всего времени сборки (то есть все ядра загружены на 100%, все время). Это, конечно, идеализированная цель, которая может быть только достигнута. подошел асимптотически.

По поведению сборки (в основном, наблюдая за выводом mpstat) я могу сказать, что самым большим врагом моей цели является% iowait. Бывают случаи, когда я вижу незначительный% простоя и считаю, что это небольшой сбой планировщика ядра и / или небольшая неэффективность в способности Make распараллеливать сборку. Но обычно этого недостаточно, чтобы меня беспокоить. С другой стороны,% iowait довольно часто становится серьезно завышенным ... и загрузка моего процессора резко падает. Я считаю, что это обычно происходит, когда некоторые потоки пытаются связать (записать) большие библиотеки с (программно управляемым [*]) RAID0, в то время как другие потоки пытаются прочитать исходный код.

(Пожалуйста, проигнорируйте на данный момент тот факт, что я могу переместить выходные записи на другой том и контроллер, чем исходный код. Это запланировано.)

Я подумываю о переходе на SSD. Но в таком случае, думаю, лучше всего отказаться от программного RAID-массива [*] дисков. Моя интуиция такова: время доступа к твердотельным накопителям настолько быстрое, а время передачи настолько быстрое, что простой LVM из 4 твердотельных накопителей практически сведет мои% iowaits к нулю, а мои ядра будут постоянно привязаны, делая максимум количество полезной работы.

... В этом случае программный контроль над 4 твердотельными накопителями с RAID без нужды увеличит мой% sys, оставив меньше для% user. Мои ядра по-прежнему будут привязаны, но будет меньше «полезной» работы.

Верна ли моя интуиция в отношении твердотельных накопителей с программным RAID0 для этой конкретной цели?

[*] ДОПОЛНИТЕЛЬНЫЙ ВОПРОС: На материнской плате есть RAID-контроллер, но я понимаю, что это просто «поддельный RAID», обеспечивающий функции управления томами в дополнительном ПЗУ BIOS, но в остальном это просто программный RAID. Так что я им не пользуюсь. Но будет ли здесь полезен настоящий аппаратный RAID-контроллер? Понятно, что я могу довольно легко привязать свои ядра к этой машине; Я просто не могу это выдержать. Я считаю, что твердотельные накопители в основном решат эту проблему с выносливостью, и мне интересно, может ли даже настоящий аппаратный RAID-контроллер улучшить это.

Программный RAID под Linux на современном оборудовании - это нормально ... даже с SSD. Это не предъявляет огромных требований к вашим процессорам. В самом деле.

Черт возьми, с премией Твердотельные накопители Fusion-io, рекомендуемая и распространенная схема развертывания - использование программного RAID.

Я бы вообще не беспокоился об этом.

Также см: Нужны ли мне карты RAID Fusion-io?

Несмотря на то, что я принял ответ @ ewwhite выше, я хотел вернуться и сообщить о слегка противоречивом ответе, который я только что обнаружил в другом месте в Интернете, который основан на эмпирических данных:

Наши результаты тестирования показали увеличение числа операций чтения на 16% при использовании (2) твердотельных накопителей в массиве RAID 0 и снижение производительности записи на 2%. Прирост производительности от операций чтения достаточно существенный, чтобы гарантировать использование RAID 0 для большинства целей, но если вы запускаете приложение, которое выполняет больше операций записи, чем операций чтения, вы можете получить больше преимуществ от автономного использования дисков с данными вместо использования Вариант RAID 0.

Из http://www.rackspace.com/knowledge_center/article/configuring-a-software-raid-on-a-linux-general-purpose-cloud-server

(Мой RAID больше читает, чем пишет, поэтому ответ @ ewwhite по-прежнему подходит для моих нужд.)