Что мы имеем в виду, когда используем термины параллелизм и параллелизм? В чем разница и как они связаны?

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

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

Итак, давайте сначала разберемся, что такое параллелизм и что такое параллелизм.

Что такое параллелизм?

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

Все вещи в мире происходят одновременно, от самого низкого уровня, такого как многоядерные машины, до сетей, планет, вселенной… .. Мы живем в параллельном мире, а не в последовательном, но мы используем последовательные компьютеры для написания программ. Наши компьютеры не выражают этого мировоззрения. Это похоже на некое несоответствие, мы можем решить это двумя способами:

  1. Сделайте мир последовательным
  2. Сделайте программное обеспечение параллельным

Мы всегда будем использовать второй подход.

Сделайте мир одновременным !!

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

  1. Как компьютер выполняет процесс. У исполняемого процесса есть счетчик программ (ПК) и стек.
  2. Каково текущее состояние программы? Вы можете представить состояние программы как (ПК, стек)

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

Можно сказать, что параллелизм - это композиция независимо выполняющихся процессов.

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

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

Что такое параллелизм?

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

Параллелизм - это одновременное выполнение двух или более вещей, а не просто выполнение двух или более вещей.

На компьютерном языке параллелизм заключается в одновременном выполнении нескольких вычислений.

Пример:

  1. Параллелизм: на вашем компьютере вы используете операционную систему (ОС), она может иметь драйвер мыши, драйвер клавиатуры, драйвер дисплея и т. д. Всем этим занимается ОС как самостоятельная вещь. Это параллельные вещи, они не обязательно должны быть параллельны. Если есть один процессор, то одновременно будут работать только они.
  2. Параллелизм: параллельные объекты могут быть чем-то вроде векторного скалярного произведения, которое можно разбить на микроскопические операции, которые можно выполнять параллельно.

Параллелизм - это структура для эффективного совместного использования ресурсов. Ресурсы могут быть чем угодно, например, переменной, базой данных, ЦП или сетевым подключением. Параллелизм - это количество общих ресурсов, а параллелизм - это то, как общие ресурсы. Оба переплетены.

Как связаны параллелизм и параллелизм?

Если есть слово «параллелизм», большинство людей начинают думать о параллелизме, даже когда Google объявляет о go (который является параллельным языком, а параллельный - наиболее характерная особенность go), программисты говорят, что теперь мы можем запускать разные вещи параллельно. Эти два слова связаны, но имеют разные концепции.

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

В программировании параллелизм - это композиция независимо выполняющихся процессов, а параллелизм - это одновременное выполнение нескольких вещей (возможно, связанных).

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

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

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

Параллелизм против параллелизма

  1. Приложение может быть параллельным, но не параллельным, что означает, что оно обрабатывает более одной задачи одновременно, но никакие две задачи не выполняются одновременно.
  2. Приложение может быть параллельным, но не одновременным, что означает, что оно одновременно обрабатывает несколько подзадач задачи в многоядерном ЦП.
  3. Приложение не может быть ни параллельным, ни параллельным, что означает, что оно обрабатывает все задачи по очереди, последовательно.
  4. Приложение может быть как параллельным, так и параллельным, что означает, что оно одновременно обрабатывает несколько задач в многоядерном процессоре.

Теперь, если вы задумались, неужели параллелизм лучше, чем параллелизм? Это было бы похоже на то, что яблоки лучше апельсинов? Не стоит сравнивать две разные вещи.

Использованная литература: