QoS (качество обслуживания) на ЦП: как это влияет на производительность

QoS (качество обслуживания) на ЦП

Термин «качество обслуживания» может напоминать о вещах, которые не имеют ничего общего с оборудованием, поэтому это не очень распространенный термин в мире оборудования. Однако QoS ЦП является очень важным элементом с точки зрения производительности многоядерного процессора. Объясняем, из чего он состоит и какие факторы на него влияют.

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

Что мы понимаем под качеством обслуживания или QoS в ЦП?

Переключение тактовой частоты процессора Velocidad

Термин «качество обслуживания» в ЦП пришел из мира телекоммуникаций, где он относится к общей производительности телефонной сети и, следовательно, к способности предоставлять адекватные услуги различным терминалам, которые участвуют в указанной сети. Это определение экстраполировано на мир многоядерных процессоров и APU, где оно относится к взаимодействию различных элементов процессора друг с другом и с Оперативная память память через общий центральный хаб. Который мы традиционно называем северным мостом, и, следовательно, QoS многоядерного процессора зависит от производительности центрального концентратора, будь то классический коммутатор Crossbar Switch или NIC или SmartNIC NoC.

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

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

Закон Паркинсона и QoS процессора

Курва Лей Паркинсон

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

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

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

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

Качество обслуживания ЦП не может быть гарантировано

Эффективность QoS ЦП

Наше оборудование бесполезно без программного обеспечения, и в то же время программное обеспечение - ничто без оборудования для его запуска. Таким образом, это две части, которые симбиотически дополняют друг друга, и поэтому оборудование не может жить без программного обеспечения, и наоборот. Это означает, что в программном обеспечении есть факторы, которые влияют на оборудование, а также на качество обслуживания ЦП.

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

Аппаратное обеспечение QoS

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

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

Есть ли идеальный ЦП с QoS?

ПРОЦЕССОР ? Interrogante

Прежде всего, мы должны иметь в виду, что идеального качества обслуживания не существует, поскольку невозможно достичь теоретических максимумов, которые требуются для обеспечения 100% производительности связи между различными сторонами. Что должен иметь процессор с идеальным качеством обслуживания? Ну и следующие элементы:

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

Таким образом, идеального ЦП с QoS на самом деле не существует, но в то же время для инженеров - задача добиться максимальной производительности.