LINUX.ORG.RU

История изменений

Исправление quasimoto, (текущая версия) :

Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.

(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.

Это как я это вижу.

И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.

«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?

«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.

Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?

Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.

«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.

Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?

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

Исправление quasimoto, :

Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.

(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.

Это как я это вижу.

И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.

«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?

«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.

Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?

Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.

«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.

Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?

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

Исходная версия quasimoto, :

Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.

(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.

Это как я это вижу.

И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.

«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?

«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.

Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?

Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.

«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.

Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?

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