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

Многопроцессорная обработка может быть классифицирована как симметричная многопроцессорная и асимметричная многопроцессорная . В симметричной многопроцессорной обработке все процессоры могут свободно запускать любые процессы в системе. В асимметричной многопроцессорной обработке между процессорами существует отношение «ведущий-ведомый». Главный процессор отвечает за распределение процесса по подчиненным процессорам.
Если процессор имеет встроенный контроллер памяти, то добавление процессора увеличит объем адресуемой памяти в системе. Многопроцессорная обработка может изменить модель доступа к памяти с единообразного доступа к памяти к неоднородному доступу к памяти . Равномерный доступ к памяти составляет одинаковое время для доступа к любой оперативной памяти с любого процессора. С другой стороны, неравномерный доступ к памяти увеличивает время доступа к некоторой части памяти, чем к другим частям.
Определение многопоточности
Многопоточность - это выполнение нескольких потоков одного процесса одновременно в контексте этого процесса. Теперь давайте сначала обсудим, что это за нить? Поток процесса означает сегмент кода процесса, который имеет свой собственный идентификатор потока, счетчик программ, регистры и стек и может выполняться независимо. Но потоки, принадлежащие одному и тому же процессу, должны совместно использовать принадлежащие ему процессы, такие как код, данные и системные ресурсы. Создание отдельных процессов для каждого запроса на обслуживание потребляет время и ресурсы системы. Вместо того, чтобы нести эти накладные расходы, более эффективно создавать потоки процесса.


Создание потока экономично, поскольку оно разделяет код и данные процесса, к которому они принадлежат. Таким образом, система не должна выделять ресурсы отдельно для каждого потока. Многопоточность может быть увеличена в многопроцессорной операционной системе. По мере многопоточности на нескольких процессорах увеличивается параллелизм .
Ключевые различия между многопроцессорностью и многопоточностью
- Основное различие между многопроцессорностью и многопоточностью заключается в том, что многопроцессорность позволяет системе добавлять в систему более двух процессоров, тогда как многопоточность позволяет процессу генерировать несколько потоков для увеличения скорости вычислений в системе.
- Многопроцессорная система выполняет несколько процессов одновременно, тогда как многопоточная система позволяет выполнять несколько потоков процесса одновременно.
- Создание процесса может занять время и даже исчерпать системные ресурсы. Однако создание потоков является экономичным, поскольку потоки, принадлежащие одному и тому же процессу, разделяют принадлежность этого процесса.
- Многопроцессорность может быть классифицирована как симметричная многопроцессорная и асимметричная многопроцессорная, тогда как многопоточность не классифицируется далее.
Заключение:
Преимущества многопоточности можно постепенно увеличивать в многопроцессорной среде, поскольку многопоточность в многопроцессорной системе увеличивает параллелизм.