Файл: Реализация механизма многозадачности в многоядерных процессорах.pdf
Добавлен: 12.07.2023
Просмотров: 116
Скачиваний: 2
Большинство современных многоядерных процессоров работает по следующей схеме. Если запущенное приложение поддерживает многопоточность, оно может заставлять процессор выполнять несколько заданий одновременно. Например, если в компьютере используется 4-ядерный процессор с тактовой частотой 1.8 ГГц, программа может «загрузить» работой сразу все четыре ядра, при этом суммарная частота процессора будет составлять 7.2 ГГц. Если запущено сразу несколько программ, каждая из них может использовать часть ядер процессора, что тоже приводит к росту производительности компьютера.
Многие операционные системы поддерживают многопоточность, поэтому использование многоядерных процессоров позволяет ускорить работу компьютера даже в случае приложений, которые многопоточность не поддерживают. Если рассматривать работу только одного приложения, то использование многоядерных процессоров будет оправданным лишь в том случае, если это приложение оптимизировано под многопоточность. В противном случае, скорость работы многоядерного процессора не будет отличаться от скорости работы обычного процессора, а иногда он будет работать даже медленнее.
Многоядерность
Технология многопоточности – реализация многоядерности на программном уровне. Дальнейшее увеличение производительности, как всегда, требует изменений в аппаратной части процессора. Усложнение систем и архитектур не всегда оказывается действенным. Существует обратное мнение: «всё гениальное – просто!». Действительно, чтобы повысить производительность процессора вовсе необязательно повышать его тактовую частоту, усложнять логическую и аппаратную составляющие, так как достаточно лишь провести рационализацию и доработку существующей технологии. Такой способ весьма выгоден – не нужно решать проблему повышения тепловыделения процессора, разработку нового дорогостоящего оборудования для производства микросхем. Данный подход и был реализован в рамках технологии многоядерности – реализация на одном кристалле нескольких вычислительных ядер. Если взять исходный процессор и сравнить прирост производительности при реализации нескольких способов повышения производительности, то очевидно, что применение технологии многоядерности является оптимальным вариантом.
Если сравнивать архитектуры симметричного мультипроцессора и многоядерного, то они окажутся практически идентичными. Кэш-память ядер может быть многоуровневой (локальной и общей, причём данные из оперативной памяти могут загружаться в кэш-память второго уровня напрямую). Исходя из рассмотренных достоинств многоядерной архитектуры процессоров, производители делают акцент именно на ней. Данная технология оказалась достаточно дешёвой в реализации и универсальной, что позволило вывести её на широкий рынок. Кроме того, данная архитектура внесла свои коррективы в закон Мура: «количество вычислительных ядер в процессоре будет удваиваться каждые 18 месяцев».
Если посмотреть на современный рынок компьютерной техники, то можно увидеть, что доминируют устройства с четырёх- и восьми- ядерными процессорами. Кроме того, производители процессоров заявляют, что в скором времени на рынке можно будет увидеть процессоры с сотнями вычислительных ядер. Как уже неоднократно говорилось ранее, весь потенциал многоядерной архитектуры раскрывается только при наличии качественного программного обеспечения. Таким образом, сфера производства компьютерного «железа» и программного обеспечения очень тесно связаны между собой.
Увеличение производительности за счёт многоядерности
Принцип увеличения производительности процессора за счёт нескольких ядер, заключается в разбиении выполнения потоков (различных задач) на несколько ядер. Обобщая, можно сказать, что практически каждый процесс, запущенный у вас в системе, имеет несколько потоков.
Например, антивирусная программа. Один поток у нас будет сканирование компьютера, другой – обновление антивирусной базы .
Вывод
Многопоточность ― отличный способ, для использования ресурсов центрального процессора. Разработчики приложений и OС распространяют многопоточность на параллелизм уровня приложения. Разработчики начали пользоваться программированием на основе потоков для последовательного выполнения логики в написании программ.
Для высокопроизводительных приложений, требуется параллелизм, в котором логика разбивается на отдельные части работы.
SMP система - архитектура многопроцессорных компьютеров, в которой два или более одинаковых процессора подключаются единообразно к общей памяти и выполняют одни и те же функции. Каждый процессор работает над своей задачей.
Hyper-threading – реализует идею одновременной мультипоточности.
одно физическое ядро определяется операционной системой как два отдельных логических ядра.
Преимуществами Hyper-threading считаются:
- возможность запуска нескольких потоков одновременно (многопоточный код);
- уменьшение времени отклика;
- увеличение числа пользователей, обслуживаемых сервером.
Источники:
- https://www.ibm.com/developerworks/ru/library/j-nothreads/
- https://studfiles.net/preview/2715079/
- https://studfiles.net/preview/2715079/
- https://yandex.ru/images/
- https://www.kakprosto.ru/kak-901137-mnogoyadernye-processory-principy-raboty-
- https://www.syl.ru/article/330403/tehnologiya-hyper-threading---chto-eto-takoe-kak-vklyuchit-i-ispolzovat