Производительность компьютера - Википедия - Computer performance

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

Технические и нетехнические определения

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

  • По сравнению с другими системами или той же системой до / после изменений
  • В абсолютном выражении, например для выполнения договорных обязательств

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

Слово спектакль в компьютере производительность означает то же самое, что производительность в других контекстах, то есть означает: «Насколько хорошо компьютер выполняет работу, которую он должен делать?»[1]

Как аспект качества программного обеспечения

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

Инженерия производительности

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

Инженерия производительности постоянно занимается поиском компромиссов между типами производительности. Иногда Разработчик процессора может найти способ сделать ЦПУ с лучшей общей производительностью за счет улучшения одного из аспектов производительности, представленных ниже, без ущерба для производительности ЦП в других областях. Например, построение ЦП из лучшего, более быстрого транзисторы.

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

Разработка производительности приложений

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

Аспекты производительности

Производительность компьютера метрики (вещи для измерения) включают доступность, время отклика, пропускная способность канала, задержка, время завершения, время обслуживания, пропускная способность, пропускная способность, относительная эффективность, масштабируемость, производительность на ватт, коэффициент сжатия, длина пути инструкции и ускориться. ЦПУ доступны тесты.[2]

Доступность

Доступность системы обычно измеряется как фактор ее надежности - по мере увеличения надежности увеличивается и доступность (т. Е. время простоя ). Доступность системы также может быть увеличена за счет стратегии сосредоточения внимания на повышении тестируемости и ремонтопригодности, а не на надежности. Улучшить ремонтопригодность обычно проще, чем надежность. Оценки ремонтопригодности (скорость ремонта) также обычно более точны. Однако, поскольку неопределенности в оценках надежности в большинстве случаев очень велики, они, вероятно, будут доминировать над проблемой доступности (неопределенности прогноза), даже если уровни ремонтопригодности очень высоки.

Время отклика

Время ответа - это общее время, необходимое для ответа на запрос на обслуживание. В вычислительной технике эта услуга может быть любой единицей работы от простого диск IO к загрузке комплекса страница в Интернете. Время ответа складывается из трех чисел:[3]

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

Скорость обработки

Большинство потребителей выбирают компьютерную архитектуру (обычно Intel IA32 архитектура), чтобы иметь возможность запускать большую базу уже существующего, предварительно скомпилированного программного обеспечения. Поскольку некоторые из них относительно не осведомлены о компьютерных тестах, некоторые из них выбирают конкретный процессор в зависимости от рабочей частоты (см. мегагерцовый миф ).

Некоторые разработчики систем, создающие параллельные компьютеры, выбирают процессоры, исходя из их скорости на доллар.

Емкость канала

Пропускная способность канала - самая жесткая верхняя граница скорости Информация которые могут быть надежно переданы по канал связи. Посредством теорема кодирования с шумом, пропускная способность данного канала является предельной скоростью передачи информации (в единицах Информация в единицу времени), что может быть достигнуто со сколь угодно малой вероятностью ошибки.[4][5]

Теория информации, разработан Клод Э. Шеннон в течение Вторая Мировая Война, определяет понятие пропускной способности канала и предоставляет математическую модель, с помощью которой можно ее вычислить. Ключевой результат заключается в том, что пропускная способность канала, как определено выше, определяется максимумом взаимная информация между входом и выходом канала, где максимизация относится к входному распределению.[6]

Задержка

Задержка - это временная задержка между причиной и следствием некоторых физических изменений в наблюдаемой системе. Задержка - это результат ограниченной скорости, с которой может иметь место любое физическое взаимодействие. Эта скорость всегда меньше или равна скорости света. Следовательно, каждая физическая система, имеющая пространственные измерения, отличные от нуля, будет испытывать некоторую задержку.

Точное определение задержки зависит от наблюдаемой системы и характера стимуляции. При обмене данными нижний предел задержки определяется средой, используемой для связи. В надежных системах двусторонней связи задержка ограничивает максимальную скорость, с которой информация может быть передана, так как часто существует ограничение на количество информации, которая находится «в полете» в любой момент. В области взаимодействия человека с машиной ощутимая задержка (задержка между командами пользователя и выдачей результатов компьютером) сильно влияет на удовлетворенность пользователей и удобство использования.

Компьютеры выполняют наборы инструкций, называемые процессом. В операционных системах выполнение процесса может быть отложено, если другие процессы также выполняются. Кроме того, операционная система может планировать, когда выполнять действие, выполняемое процессом. Например, предположим, что процесс командует, чтобы выходное напряжение компьютерной карты было установлено на высокий-низкий-высокий-низкий уровень и так далее с частотой 1000 Гц. Операционная система может выбрать настройку расписания каждого перехода (высокий-низкий или низкий-высокий) на основе внутренних часов. Задержка - это задержка между инструкцией процесса, управляющей переходом, и аппаратным обеспечением, фактически переводящим напряжение с высокого на низкий или с низкого на высокое.

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

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

В компьютерных сетях полоса пропускания - это измерение скорости передачи доступных или потребляемых ресурсов передачи данных, выраженное в битах в секунду или кратных ей (бит / с, кбит / с, Мбит / с, Гбит / с и т. Д.).

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

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

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

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

В интегральных схемах часто блок в диаграмма потока данных имеет один вход и один выход и работает с дискретными пакетами информации. Примеры таких блоков: БПФ модули или двоичные множители. Поскольку единицы пропускной способности являются обратной величиной единицы для Задержка распространения, которая представляет собой «секунды на сообщение» или «секунды на вывод», пропускная способность может использоваться для связи вычислительного устройства, выполняющего специальную функцию, такую ​​как ASIC или же встроенный процессор к каналу связи, упрощая системный анализ.

Относительная эффективность

Масштабируемость

Масштабируемость - это способность системы, сети или процесса эффективно справляться с растущим объемом работы или ее способность расширяться с учетом этого роста.

Потребляемая мощность

Количество электроэнергии, потребляемой компьютером. Это становится особенно важным для систем с ограниченными источниками энергии, такими как солнечные батареи, батареи, человеческая энергия.

Производительность на ватт

Здание системных проектировщиков параллельные компьютеры, Такие как Оборудование Google, выбирайте процессоры исходя из их скорости на ватт мощности, потому что стоимость питания центрального процессора превышает стоимость самого процессора.[7]

Коэффициент сжатия

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

Размер и вес

Это важная характеристика мобильных систем, от смартфонов, которые вы держите в кармане, до портативных встроенных систем в космическом корабле.

Воздействие на окружающую среду

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

Количество транзисторов

Количество транзисторов - это количество транзисторы на Интегральная схема (IC). Количество транзисторов - наиболее распространенный показатель сложности ИС.

Контрольные точки

Поскольку существует так много программ для тестирования ЦП по всем аспектам производительности, ориентиры были разработаны.

Самыми известными тестами являются SPECint и SPECfp тесты, разработанные Standard Performance Evaluation Corporation и Знак сертификации тест, разработанный Консорциумом Embedded Microprocessor Benchmark Consortium EEMBC.

Тестирование производительности программного обеспечения

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

Тестирование производительности - это подмножество инженерии производительности, развивающейся практики компьютерных наук, которая стремится встроить производительность в реализацию, дизайн и архитектуру системы.

Профилирование (анализ производительности)

В программная инженерия, профилирование («профилирование программ», «профилирование программного обеспечения») - это форма динамический анализ программы который измеряет, например, пространство (память) или время сложность программы, то использование конкретных инструкций, или частота и продолжительность вызовов функций. Чаще всего профилирующая информация используется для помощи программе оптимизация.

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

Настройка производительности

Настройка производительности - это улучшение система спектакль. Обычно это компьютерное приложение, но те же методы могут применяться к экономическим рынкам, бюрократии или другим сложным системам. Мотивация для такой деятельности называется проблемой производительности, которая может быть реальной или ожидаемой. Большинство систем будут реагировать на увеличение нагрузка с некоторой степенью снижения производительности. Способность системы выдерживать более высокую нагрузку называется масштабируемость, а изменение системы для обработки более высокой нагрузки является синонимом настройки производительности.

Систематическая настройка выполняется следующим образом:

  1. Оцените проблему и установите числовые значения, которые определяют допустимое поведение.
  2. Перед модификацией измерьте производительность системы.
  3. Определите часть системы, которая имеет решающее значение для повышения производительности. Это называется горлышко бутылки.
  4. Измените эту часть системы, чтобы устранить узкое место.
  5. Измерьте производительность системы после модификации.
  6. Если модификация улучшает производительность, примените ее. Если модификация ухудшает производительность, верните ее на прежнее место.

Воспринимаемая производительность

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

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

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

Уравнение производительности

Общее количество времени (т), необходимого для выполнения конкретной программы тестирования, составляет

, или эквивалентно
[8]

куда

  • "производительность" с точки зрения времени выполнения
  • это количество фактически выполненных инструкций ( длина пути инструкции ). В плотность кода из Набор инструкций сильно влияет N. Значение N можно определить точно используя симулятор набора команд (при наличии) или оценкой - частично основанной на оценочном или фактическом частотном распределении входных переменных и путем изучения сгенерированных Машинный код из HLL компилятор. Его нельзя определить по количеству строк исходного кода HLL. N не зависит от других процессов, запущенных на том же процессоре. Важным моментом здесь является то, что оборудование обычно не отслеживает (или, по крайней мере, не делает легко доступным) значение N для исполняемых программ. Таким образом, значение может быть точно определено только моделированием набора команд, что редко практикуется.
  • - тактовая частота в циклах в секунду.
  • это средний циклов на инструкцию (CPI) для этого эталона.
  • это средний инструкций за цикл (IPC) для этого теста.

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

Разработчик ЦП часто требуется для реализации конкретного Набор инструкций, и поэтому не может изменить N. Иногда разработчик сосредотачивается на улучшении производительности, внося значительные улучшения в f (с помощью таких методов, как более глубокие конвейеры и более быстрые кеши), при этом (надеюсь) не жертвуя слишком большим количеством C, что приводит к скоростной демон Проектирование ЦП. Иногда разработчик сосредотачивается на улучшении производительности путем значительного улучшения CPI (с помощью таких методов, как внеочередное исполнение, суперскалярный ЦП, кеши большего размера, кеши с улучшенными показателями попаданий, улучшенные предсказание ветвления, спекулятивное исполнение и т. д.), при этом (надеюсь) не жертвуя слишком большой тактовой частотой, что приводит к умопомрачительному дизайну ЦП.[9]Для данного набора инструкций (и, следовательно, фиксированного N) и полупроводникового процесса максимальная производительность одного потока (1 / t) требует баланса между умственными методами и техниками спидрейсера.[8]

Внутренние и внешние факторы, влияющие на производительность компьютера

На производительность компьютера могут влиять многие факторы, в том числе:[10]

  • Фоновые процессы
  • Процессы переднего плана
  • Вредоносное ПО
  • Физический возраст
  • Аппаратное обеспечение

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

Смотрите также

Рекомендации

  1. ^ Анализ производительности компьютеров с помощью Mathematica Арнольда О. Аллена, Academic Press, 1994. $ 1.1 Введение, стр. 1.
  2. ^ Измерение схожести программ: эксперименты с тестовыми наборами SPEC CPU, CiteSeerX  10.1.1.123.501
  3. ^ Уэскотт, Боб (2013). Книга о производительности каждого компьютера, глава 3: Полезные законы. CreateSpace. ISBN  1482657759.
  4. ^ Салим Бхатти. «Емкость канала». Конспект лекций для M.Sc. Сети передачи данных и распределенные системы D51 - Базовые коммуникации и сети. Архивировано из оригинал на 21.08.2007.
  5. ^ Джим Лесурф. "Сигналы похожи на шум!". Информация и измерения, 2-е изд..
  6. ^ Томас М. Кавер, Джой А. Томас (2006). Элементы теории информации. John Wiley & Sons, Нью-Йорк.
  7. ^ «Архивная копия». Архивировано из оригинал на 2005-03-27. Получено 2009-01-21.CS1 maint: заархивированная копия как заголовок (связь)[1]
  8. ^ а б Пол ДеМоне. "Невероятно уменьшающийся процессор" .2004.[2] В архиве 2012-05-31 в Wayback Machine
  9. ^ "Умники, демоны скорости и прощай" Линли Гвеннап
  10. ^ Харт, Бенджамин (2020-11-17). «5 главных факторов, замедляющих работу вашего компьютера». Техническая поддержка Hart. Получено 2020-11-17.