Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






В: Плюсы и минусы нескольких потоков на одноядерном пк






О: На одном процессоре многопоточность обычно происходит путём временного мультиплексирования: процессор переключается между разными потоками выполнения. Это переключение контекста обычно происходит достаточно часто, чтобы пользователь воспринимал выполнение потоков или задач как одновременное.

Особенности многопоточности на одном ядре:

· Можно произвольным образом распределить работу по потокам. Т.к. всё равно всё выполняется на одном ядре, то это не имеет значения.

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

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

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

 

Основные преимущества использования потоков:

· создание нового потока в процессе занимает намного меньше времени, чем создание совершенно нового процесса;

· поток можно завершить намного быстрее, чем процесс;

· переключение потоков в рамках одного и того же процесса происходит намного быстрее;

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

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

НЕДОСТАТКИ:

• Снижает производительность при очень большом количестве потоков из-за траты процессорного времени на переключение контекста

В: Недостатки межпроцедурной оптимизации

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

IPO поддерживает многофайловое встраивание, замену кода, размещение данных. Функции оптимизируются внутри и между файлами.

Минусы:

· IPO может увеличить размер кода, что может заставить процессор использовать кэш менее эффективно

· Компиляция может занимать существенно больше времени






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.