-1

Когда мы используем _task_manager_ в windows или top в Linux, мы можем видеть, что загрузка процессора обычно не очень высока. Более того, разработчики также делают все возможное, чтобы эта цель снизилась. На самом деле, если загрузка процессора очень высока, мы считаем, что там что-то идет не так.

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

Это меня сильно смущает. почему у нас есть это противоречие? Может ли кто-нибудь пролить свет на это, пожалуйста?

3 ответа3

3

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

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

Для примера технологий, ставших возможными благодаря этой интересной ситуации, взглянем на современные продукты виртуализации. Причина, по которой мы можем одновременно запускать 10 или 20 виртуальных машин на двухъядерном или четырехъядерном процессоре с 4 или 8 гигабайтами оперативной памяти, заключается в том, что все эти системы не пытаются использовать много памяти и процессорного времени одновременно. (Конечно, вы должны либо получить более качественное оборудование, либо разумно выбрать, какие системы будут виртуализированы на одном хосте, или вы создадите проблемы с конкуренцией!)

2

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

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

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

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

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

2

Более подробно о замечании Breakthrough: «Если у вас есть автомобиль мощностью 500 лошадиных сил, как часто, по вашему мнению, вы действительно будете нажимать педаль на металл и использовать все 500 л.с.?"

Как ни странно, это параллели автомобильных двигателей и процессоров.

На автомобиле, если у вас есть двигатель мощностью 500 л.с., вы иногда хотите, чтобы эта мощность была доступна, но когда она не нужна, вы можете отключить цилиндр, как в грузовиках Dodge и C7 Corvette.

Процессоры делают то же самое, AMD называет это Cool and Quiet, а Intel называет их Speedstep. Оба предназначены для снижения тактовой частоты и энергопотребления на холостом ходу и увеличения его при необходимости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .