Глава 3. Пропускная способность и вычислительная мощность

Из двух обсуждаемых в этом разделе ресурсов, один (пропускная возможность) начинающие системные администраторы часто понимают с трудом, тогда как другой (вычислительная мощность) — обычно постигают намного легче.

Кроме того, кажется, что эти два ресурса не так близки друг к другу — зачем же обсуждать их вместе?

Объясняется это тем, что эти ресурсы зависят от оборудования, в совокупности дающего компьютеру способность перемещать и обрабатывать данные. И поэтому их отношения часто переплетены.

3.1. Пропускная способность

По сути, пропускная способность — это способность передавать данные, другими словами, это понятие определяет, как много данных может быть перенесено из одной точку в другую за определённый период времени. Обмен данными между двумя точками подразумевает две вещи:

В компьютере есть два вида компонентов, удовлетворяющие этим требованиям:

Эти компоненты будут рассмотрены в следующих разделах.

3.1.1. Шины

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

  • Стандартизированные электрические характеристики (например, количество проводников, уровни напряжения, скорости сигналов и т.д.)

  • Стандартизированные механические характеристики (например, тип соединения, размер платы, физическая конструкция и т.д.)

  • Стандартизированный протокол

Слово «стандартизированный» важно, потому что шины представляют собой основной способ соединения различных компонентов компьютера вместе.

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

3.1.1.1. Примеры шин

Куда бы внутрь компьютера вы не заглянули, вы увидите шины. Вот лишь некоторые примеры самых распространённых из них:

  • Шины устройств хранения (ATA и SCSI)

  • Сети [1] (Ethernet и Token Ring)

  • Шины памяти (PC133 и Rambus®)

  • Шины расширения (PCI, ISA, USB)

3.1.2. Магистрали данных

Магистрали данных, возможно, не так легко увидеть, но, так же, как и шины, они повсюду. И подобно шинам, магистрали данных позволяют обмениваться данными двум точкам. Однако в отличие от шин, магистрали данных:

  • Работают по более простому протоколу (или вообще без него)

  • Характеризуются меньшим количеством или отсутствием стандартов механической части

Причина этих отличий в том, что магистрали данных обычно расположены внутри определённых компонентов системы и не предназначены для соединения различных компонентов. Поэтому магистрали данных сильно оптимизированы именно для такого использования, когда скорость и низкая цена лучше, чем более медленная и дорогая универсальная гибкость.

3.1.2.1. Примеры магистралей данных

Примерами типичных магистралей данных являются:

  • Магистраль данных от процессора к внутреннему кэшу

  • Магистраль от графического процессора к видеопамяти.

3.1.3. Потенциальные проблемы, связанные с пропускной способностью

Проблемы, связанные с пропускной способностью (как шин, так и магистралей данных), могут возникать по двум причинам:

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

    Хороший пример этого — шина SCSI с несколькими активно работающими дисками. Эти диски загружают шину SCSI так, что другим устройствам шины остаётся очень небольшая часть полосы пропускания. В результате получается, что скорость ввода/вывода всех устройств этой шины снижается, хотя каждое отдельное устройство работает не с полной отдачей.

  2. Шина или магистраль данных могут быть выделенным ресурсом с фиксированным числом подключенных устройств. В этом случае доступную пропускную способность ограничивают электрические характеристики шины (и в некоторой мере свойства используемого протокола). Обычно это больше касается магистралей данных, чем шин. Именно поэтому графические адаптеры обычно работают медленнее при большом разрешении или глубине цвета, так как при каждом обновлении экрана по магистрали от видеопамяти к графическому процессору передаётся больше данных.

3.1.4. Возможные решения проблем, связанных с пропускной способностью

К счастью, проблемы пропускной способности можно решить. И на самом деле вы можете сделать это несколькими способами:

  • Распределить нагрузку

  • Сократить нагрузку

  • Увеличить пропускную способность

Эти подходы будут рассмотрены в следующих разделах.

3.1.4.1. Распределение нагрузки

Первый подход заключается в более равномерном распределении нагрузки на шину. Другими словами, если одна шина перегружена, а вторая свободна, возможно, ситуацию можно улучшить, перенеся на свободную шину какую-то нагрузку.

Это первое, о чём вы должны подумать, как системный администратор, так как часто в компьютере уже имеются дополнительные шины. Например, во многих компьютерах есть как минимум два ATA-канала (это ещё одно название шины). Если у вас есть два диска ATA и два канала ATA, зачем подключать оба диска к одному каналу?

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

3.1.4.2. Снижение нагрузки

На первый взгляд снижение нагрузки и её распределение кажутся разными сторонами одной монеты. Ведь когда нагрузка распределяется, она уменьшается (по крайней мере на перегруженной шине), не так ли?

Хотя эта точка зрения справедлива, всё же перераспределение отличается от глобального снижения нагрузки. Здесь важно определить, есть ли в нагрузке системы что-то такое, что сильно загружает конкретную шину. Например, если сильно загружена сеть, весь ли трафик необходим? Возможно, причиной массированных операций чтения/записи является небольшой временный файл. Если этот временный файл находится на сетевом файловом сервере, работая с этим файлом локально, можно ликвидировать значимую часть сетевого трафика.

3.1.4.3. Увеличение пропускной способности

Очевидное решение проблемы нехватки пропускной способности — как-то её увеличить. Однако обычно это решение требует больших затрат. Рассмотрим, например, SCSI-контроллер и перегруженную шину, к которой он подключен. Для увеличения пропускной способности SCSI-контроллера, его (а также, скорее всего, все подключенные к нему устройства) нужно заменить более быстрым оборудованием. Если SCSI-контроллер представляет собой отдельную плату, это довольно простая операция, но если он является частью материнской платы компьютера, экономически обосновать такую замену оказывается гораздо сложнее.

3.1.5. В заключение…

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

Например, рассмотрим SCSI-адаптер, подключенный к шине PCI. Если производительность ввода/вывода SCSI-дисков неудовлетворительна, причиной тому может быть низкая скорость SCSI-адаптера, хотя пропускная способность самих шин SCSI/PCI может быть гораздо выше.

Замечания

[1]

Сетевые соединения можно представить как меж-компьютерную шину, в отличие от «внутрикомпьютерных».