Я пытаюсь понять больше о параллелизме, но я заметил, что существует много разных терминов, и некоторые из них, похоже, означают одно и то же, а другие имеют заметную разницу. Итак, каковы все различные типы параллелизма, чем они отличаются друг от друга, и есть ли у каждого из них конкретные приложения или цели?
(Чтобы сделать это более сфокусированным, я надеюсь получить ответ, который предоставит ясность для всей терминологии, связанной с параллелизмом, включая термины, не перечисленные ниже; технические сравнения между каждым отдельным типом были бы хороши, но, вероятно, приведут к тому, что этот вопрос станет не по теме - опять же, я действительно не знаю, отсюда и вопрос ).
Примечание:
это не вопрос о параллелизме, а выходит за рамки "простого" вопроса: "что такое параллелизм?", хотя может потребоваться уточняющее определение.
Во-первых, я обратил внимание на разницу между параллелизмом и многопоточностью, но некоторые различия между следующими терминами все еще сбивают с толку.
Чтобы внести ясность в мой вопрос, вот список найденных мною терминов, связанных с параллелизмом: параллельные вычисления, параллельная обработка, многопоточность, многопроцессорность, многоядерное программирование, гиперпоточность (Intel) 2, одновременная многопоточность (SMT) 3, Многопоточность с включением события 3. (Если возможно, также приветствуются определения или ссылки на определения для каждого из этих терминов).
Мой очень конкретный вопрос: в чем разница между параллелизмом на уровне потоков, параллелизмом на уровне инструкций и параллелизмом на уровне процессов? (и любой другой параллелизм x-уровня)?
В многоядерном процессоре может ли происходить параллелизм внутри одного ядра? Это и есть Hyper-threading, и требуется ли для этого одно ядро, имеющее, например, два ALU, которые можно использовать параллельно?
И последнее: есть ли разница между аппаратным и программным параллелизмом, помимо очевидного различия, что одно происходит в аппаратном обеспечении, а другое - в программном?
Связанные ресурсы:
— Process vs Thread,
- Параллелизм на графическом процессоре,
– Гиперпоточность,
– Параллелизм и параллелизм,
— Hyper-threading и игры.
SIMD
. - person Mark Setchell   schedule 19.12.2017