Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Технические и нетехнические определения [ править ]

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

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

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

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

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

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

Техника исполнения [ править ]

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

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

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

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

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

Аспекты исполнения [ править ]

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

Доступность [ править ]

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

Время ответа [ править ]

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

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

Скорость обработки [ править ]

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

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

Емкость канала [ править ]

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

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

Задержка [ править ]

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

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

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

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

Пропускная способность [ править ]

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

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

Пропускная способность [ править ]

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

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

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

Относительная эффективность [ править ]

Масштабируемость [ править ]

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

Потребляемая мощность [ править ]

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

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

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

Степень сжатия [ править ]

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

Размер и вес [ править ]

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

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

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

Количество транзисторов [ править ]

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

Контрольные показатели [ править ]

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

Самыми известными тестами являются тесты SPECint и SPECfp, разработанные Standard Performance Evaluation Corporation, и тест Certification Mark, разработанный Консорциумом EEMBC для тестирования встроенных микропроцессоров .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

куда

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

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

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

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

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

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

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

См. Также [ править ]

  • Алгоритмическая эффективность
  • Производительность компьютера на порядки
  • Производительность сети
  • Архитектура процессора, ориентированная на задержку
  • Оптимизация (информатика)
  • Частота обновления RAM
  • Полный набор инструкций
  • Аппаратное ускорение
  • Ускорение
  • Политики замены кеша

Ссылки [ править ]

  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 - Базовые коммуникации и сети . Архивировано из оригинала на 2007-08-21.
  5. ^ Джим Лесурф. "Сигналы похожи на шум!" . Информация и измерения, 2-е изд .
  6. ^ Томас М. Обложка, Джой А. Томас (2006). Элементы теории информации . John Wiley & Sons, Нью-Йорк.
  7. ^ "Архивная копия" . Архивировано из оригинала на 2005-03-27 . Проверено 21 января 2009 .CS1 maint: archived copy as title (link)[1]
  8. ^ а б Пол ДеМоне. «Невероятно уменьшающийся процессор». 2004. [2] Архивировано 31 мая 2012 года в Wayback Machine.
  9. ^ "Brainiacs, Speed ​​Demons, и прощание" Линли Гвеннап
  10. ^ Харт, Бенджамин (2020-11-17). «Топ-5 вещей, которые замедляют работу вашего компьютера» . Техническая поддержка Hart . Проверено 17 ноября 2020 .