Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
iCarnecie_SSD2_RU_v5 (2).docx
Скачиваний:
18
Добавлен:
23.12.2018
Размер:
6.54 Mб
Скачать

2.5.2 “Узкие” места (Bottlenecks)

  • ”Узкие” места – замедление процессов

  • Основные “Узкие места” (Bottlenecks)

  • Устранение “Узких мест”

”Узкие” места – замедление процессов

Стаканы с широкими краями опустошаются быстрее, чем бутылки с длинными тонкими формами. Для выполнения любого задания, необходимо сделать множество шагов. Узкое место (бутылочное горлышко –Bottlenecks) – шаг, который требует длительного времени и поэтому сокращает общую производительность. "Цепь настолько же сильна как самое слабое ее звено", – это верно так же для скорости процесса, или производительности, которая ограничена его самым медленным этапом.

Это означает, что нет смысла платить за дорогой и быстрый процессор, если память слишком медленная. Точно также как медленный диск будет снижать общую производительность системы. Если другие части компьютера также медленные, то покупка более быстрого процессора не улучшит ситуацию.

Например, предположим, что вы запускаете программу, а она работает медленно. Что нужно делать? Если вы имеете старую машину типа Pentium II, вы можете попробовать заменить его. Но есть другие варианты. Медленная работа возможна из-за памяти малого объема, или ваша шина не передает данные достаточно быстро.

Время, требуемое для выполнения задания, состоящего из нескольких шагов, будет определяться временем самого длительного шага. Если так, то увеличение скорости на других шагах может дать незначительный эффект. Предположим, что приготовление вашего любимого обеда занимает 10 минут – для нарезания ингредиентов, 2 часа – для жарки и 15 минут – для смешивания соуса. Если покупка кухонного комбайна позволяет нарезать все за одну минуту, то ваше время на кухне можно будет сократить только на 6%. С другой стороны, если вы купите конвекционную печь, которая уменьшит время жарки наполовину, это сохранит час вашего времени и уменьшит общие затраты времени на 41%.

Основные “Узкие места”

Ниже приведены некоторые части аппаратного обеспечения, которые могут стать «бутылочным горлышком»

  • Кэш

  • RAM

  • Ввод/вывод

  • Видеокарта (особенно для 3-d игр)

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

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

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

Большинство бизнесменов – пользователей не будут страдать от медленной видеокарты. Любителям игр, дизайнерам и некоторым инженерам нужны высокоскоростные видеокарты, которые бы соответствовали требованиями программного обеспечения. Среднему пользователю не нужны такие видеокарты, однако, медленная обработка 3-D изображений затрудняет работу некоторых приложений.

Устранение “Узких мест”

Можем ли мы повысить скорость компьютера? Фактически мы хотим повысить скорость выполнения задач, а не скорость самого компьютера. Это важное различие. Ускорение компьютера предлагает закупку более быстрого процессора, установку более быстрой памяти, более быстрой шины или более быстрых дисков и видеоконтроллеров. Улучшение аппаратных средств, с целью повышения скорости системы будет работать, если мы сохраняем систему сбалансированной. (Помните, что единственное “узкое место” замедлит работу всей системы). Лабораторная, которую вы выполняли в разделе 2.1.3 Lab: Benchmarking, поможет бы вам идентифицировать узкие места или медленные места в вашей системе.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]