stringtranslate.com

Производительность компьютера

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Доступность

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

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

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

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

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

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

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

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

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

Задержка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для космических компьютеров отношение скорости обработки к ватту является более полезным критерием производительности, чем необработанная скорость обработки. [8]

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

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

Размер и вес

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

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

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

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

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

Тесты

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

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

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

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

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

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

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

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

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

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

Систематическая настройка состоит из следующих шагов:

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

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

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

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

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

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

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

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

где

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

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

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

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

  1. ^ Анализ производительности компьютера с помощью Mathematica Арнольда О. Аллена, Academic Press, 1994. $ 1.1 Введение, стр. 1.
  2. ^ Измерение сходства программ: эксперименты с наборами тестов процессора SPEC , 2005, стр. 10–20, CiteSeerX  10.1.1.123.501
  3. ^ Уэскотт, Боб (2013). Книга о производительности каждого компьютера, глава 3: Полезные законы . Создать пространство . ISBN 978-1482657753.
  4. ^ Салим Бхатти. «Пропускная способность канала». Конспекты лекций для магистра наук. Сети передачи данных и распределенные системы D51 – Базовые коммуникации и сети . Архивировано из оригинала 21 августа 2007 г.
  5. ^ Джим Лесурф. «Сигналы похожи на шум!». Информация и измерения, 2-е изд .
  6. ^ Томас М. Кавер, Джой А. Томас (2006). Элементы теории информации . Джон Уайли и сыновья, Нью-Йорк.
  7. ^ «EEMBC - Консорциум по тестированию встроенных микропроцессоров» . Архивировано из оригинала 27 марта 2005 г. Проверено 21 января 2009 г.[1]
  8. ^ DJ Ширли; и депутат К. Маклелланд. «Космический компьютер следующего поколения SC-7 RISC». п. 2.
  9. ^ AB Пол ДеМоун. «Невероятный уменьшающийся процессор». 2004. [2] Архивировано 31 мая 2012 г. в Wayback Machine.
  10. ^ «Брэйниаки, демоны скорости и прощание» Линли Гвеннап