о параллелизме
Лучше уж на ЗППП - зависимости последовательно-параллельных процессов. Они ведь не только последовательны, но и параллельны. Опять же, слово ближе русскому уху.
Такое название еще меньше отражает суть, там даже намека нет, что какие-то части хотя бы могут исполнятся параллельно.
Предлагаю не использовать дурацкий, пугающий и путающий термин "параллельные вычисления", и заменить его на ЗПП - Зависимости последовательных процессах (DSP - Dependencies of sequential processes ну или хотя бы на CSP.Предлагаю предложить сантехникам впредь вместо пугающего и запутывающего посторонних термина "прокладки" в разговоре использовать термин "устройства уплотнительные для водопроводного кранов (УУдВК)".
Еще маза придумать новые варианты расшифровки аббревиатур CPU, PCI и WWW, а то старые надоели уже реально.
под процессом я понимаю одну единицу исполнения. т.е. параллельные программы, это несколько взаимодействующих процессов.
ну действительно, переделывать определения, так все
про переименование (понятно, что никто этого делать не будет и про ЗПП, это я уже в шутку.
то, что ты постебался это конечно весело, но хотелось бы услышать комментарии по поводу существенной части постинга
допустим на многоядерном (больше 6 ядер) процессоре исполняются 6 потоков, по одному на каждом ядре, исполняются реально параллельно. при этом, 3 потока взаимодействуют (т.е. решают одну задачу а 3 остальных - совершенно независимы. так области исследования "параллельные вычисления" будет интересна только первая тройка потоков. но ведь они все параллельны, почему только первая тройка?! так вот 1) реальный "параллелизм" не является ключевым критерием отбора, того, что попадает в область "параллельные вычисления"; 2) ключевым критерием является взаимодействие!
про переименование (понятно, что никто этого делать не будет и про ЗПП, это я уже в шутку.
то, что ты постебался это конечно весело, но хотелось бы услышать комментарии по поводу существенной части постинга
модеры, снесите этот бред во мусорку
в чём имено бред?
в том, что из-за пары слов в названии, от которых ничего не зависит произнесено уж очень много слов в этом треде
мой постинг о том, что является предметом области исследований "параллельные вычисления", и о том, что слово "параллелизм" этот предмет не характеризует.
не сюда недо было постить, а в альт какой-нибудь, или флуд
лучше в сосайте, где хранятся остальные замечательные посты автора
Соответственно очень важный правильный выбор термина для обозначения того или иного понятия, т.к. именно термин часто определяет рамки, в которых человек думает при работе с понятием.\
но хотелось бы услышать комментарии по поводу существенной части постингавсе верно, так оно и есть. о чем говорить?
мужик, это "лодку" так назвали хз сколько лет назад. И ничего, плывёт
ключевым моментом области знаний под названием "параллельные вычисления" являются зависимости, а не параллелизм.Зависимости неявным образом возникают хотя бы из-за общей памяти (если она есть). Зачем их выделять в названии - непонятно. И кстати много ли ты знаешь параллельных независимых процессов?
И кстати много ли ты знаешь параллельных независимых процессов?
вот! в том то и дело, что параллельных независимых процессов полно. например процессы, работающие сейчас на моём компе, не зависят от твоих процессов! даже если они работают одновременно, т.е. параллельно! при этом интерес для области "параллельные вычисления" появляется только тогда, когда имеются взаимодействующие (зависимые) процессы.
Зависимости неявным образом возникают хотя бы из-за общей памяти (если она есть)
общая память, это никак не причина зависимостей.
параллельных независимых процессовтакие процессы могут существовать на Земле, но очень непродолжительное время
я не считаю, что правильное название, это ОЧЕНЬ важно. и про "лодку", на мой взгляд, здесь не подходит. название важно, но до определённой степени. кому нужно, сами разберутся.
все верно, так оно и есть. о чем говорить?
если ты согласен, с тем, что я вынес в "существенную часть", то говорить больше не о чём
спасибо за мнение, было интересно.
хотелось бы услышать комментарии по поводу существенной части постингаА она есть? Покажи, где именно!
А она есть? Покажи, где именно!ключевым моментом области знаний под названием "параллельные вычисления" являются зависимости, а не параллелизм.
Твои примеры независимых параллельных процессов не подходят под такую формулировку, поскольку относятся к различным задачам.
Сложно привести реальный пример задачи, которая может быть решена с использованием нескольких процессов, которые никак между собой не взаимодействуют, поэтому вопрос организации взаимодействия между процессами является ключевым - с этим я согласен.
А "Взаимодействие последовательных процессов" как раз уводит в сторону: у меня такое название ассоциируется не только с параллельными вычислениями, но и с сетью. Да, это близкие вопросы, но все-таки разные: сеть - это одно из возможных средств, которое может быть использовано для организации параллельных вычислений; но параллельные вычисления - не единственная область применения сетевых технологий, и, на мой взгляд, даже не основная. А смысл слова "последовательный" здесь мне вообще непонятен: это что, конкретное указание на то, что рассматриваются только однонитевые процессы?
Не понял примера с кластером, процессорами и процессами. ИМХО, если задача представлена в виде двух процессов, которые конфликтуют по данным и создают друг другу затыры и ожидания - это не самая лучшая параллельность.
А смысл слова "последовательный" здесь мне вообще непонятен: это что, конкретное указание на то, что рассматриваются только однонитевые процессы?
да в CSP нить исполнения называется процессом. просто там примерно такой подход: есть понятие алгоритм (представляющий одну нить управления). он может взаимодействовать с другими алгоритмами. допустим некое множество взаимодействующих алгоритмов решает некую задачу. если в этом множестве всего один алгоритм - значит это последовательное решение задачи. если более одного - параллельное.
ну и вообще, неважно сколько задач решается. если мы имеем дело с более чем одним взаимодействующим потоком, то это нам интересно. если нет, то никакой специфики не возникает, это классическое программирование.
Предлагаешь переименовать в "зависимые вычисления"?
да я не настаиваю на переименовании, т.к. существующий термин 1) прижился; 2) тоже относительно адекватен; 3) в конце концов, хоть "горшком" назови, типа, кому надо - разберутся.
но термин "зависимые вычисления" (или "взаимодействующие алгоритмы") в качестве альтернативы мне симпатичен.
Parallel computing: общий термин с фокусом конкретно на распараллеливании задач. Например, для параллельного разложения числа на простые множители сложного взаимодействия в общем-то почти и не нужно — раздать данные, собрать ответы, всё.
Concurrent computing: фокусируется на взаимодействии между параллельно исполняющимися задачами — различные способы, компайл-тайм определение race conditions етс
Distributed computing: фокусируется на проблемах large-scale параллельных систем с ненадёжными элементами, большими транзакционными издержками етс.
Есть ещё вопросы?
Parallel computing: действительно общий термин, Concurrent computing - это ответвление от него.
Distributed computing я вообще не затрагивал (хотя это в каком-то смысле тоже ответвление).
Есть термин — concurrent computing — который абсолютно точно описывает ту специфику (взаимодействие между процессами которую ты имел в виду во фразе:
"Предлагаю не использовать дурацкий, пугающий и путающий термин "параллельные вычисления", и заменить его на ЗПП - Зависимости последовательных процессах (DSP - Dependencies of sequential processes ну или хотя бы на CSP."
Вотжеж засада, не удалось придумать свой личный термин, абидно, да? =)
Parallel computing — более общий термин, и это правильно. Потому что если мне, например, нужно проверить простоту числа, то я решаю общую задачу распараллеливания алгоритма "for (int i = 0; i * i < n; i++) { if (IsComposite(i return false; }", а никакой особой concurrency у меня не возникает. Если у тебя возникает — значит, тебе о своей проблеме нужно говорить как о проблеме cuncurrent computing. Все задачи concurrent computing являются задачами parallel computing, обратное неверно.
Если делать нечего — сходи погуляй или в кино, там. Больше пользы будет.
Concurrent computing is the concurrent (simultaneous) execution of multiple interacting computational tasks....
т.е. по сути, сказано Concurrent computing - is the сoncurrent interacting computing. т.е. термин определён сам через себя. это аналогично определению: яблоки - это зелёные яблоки.
если любые вычислительные задачи физически работают одновременно, то это уже Concurrent computing. потому что это одновременно производимые вычисления.
такая вот накладочка. это не смертельно, но в этом неудачность принятой терминологии на мой взгляд..
аналогично (цитата из википедии):
Parallel computing is the simultaneous execution of some combination of multiple instances of programmed instructions and data on multiple processors in order to obtain results faster.
по сути - Parallel computing is the parallel computing which performed in order to obtain results faster.
с этим определением ещё одна проблема. бывают многопоточные приложения, которые распараллелили не из-за скорости, а просто из-за удобства. такие приложения выпадают из определения.
твоё утверждение
Все задачи concurrent computing являются задачами parallel computing, обратное неверно.
противоречит определению википедии, т.к. " in order to obtain results faster" тебе просто необходимо concurrent computing.
Ты туповат что ли немножко?
сдерживай эмоции. я к тебе в собеседники не навязываюсь. считаешь меня тупым, можешь игнорировать мои постинги. мне пох.
" in order to obtain results faster" тебе просто необходимо concurrent computing.Ты не прав. В определении concurrent чётко написано interacting. Для parallel это не обязательно. Если задача решается в два потока, но они не взаимодействуют, то это parallel, но не concurrent.
Кстати, оффтоп вопрос, как у тебя в школе было с сочинениями?
Ты не прав. В определении concurrent чётко написано interacting. Для parallel это не обязательно. Если задача решается в два потока, но они не взаимодействуют, то это parallel, но не concurrent.
а, да, это я упустил
оффтоп вопрос, как у тебя в школе было с сочинениями?
оффтоп ответ, было не очень хорошо
Оставить комментарий
Cryptox
досужие размышления...Термин "параллельные вычисления" (parallel computing) совершенно неудачный. Дело в том, что это название совсем ничего не говорит о специфике явлений и проблем, которые рассматриваются в этой области информационных технологий.
Если процесс не взаимодействуют с другими, а значит, ни в какой момент не зависит от других процессов, то будь их хоть миллион одновременно (параллельно) работающих таких процессов, никаких проблем "параллелизма" не возникает. Собственно, вычисления, производимые параллельно существовали почти всегда, с того момента, как на Земле появилось два компьютера, работающих в одно и то же время.
На самом деле, ключевым моментом области знаний под названием "параллельные вычисления" являются зависимости. Т.е. специфические проблемы появляются тогда, когда два или более процессов, начинают зависеть один от другого (что является следствием взаимодействия процессов).
Суть того "параллелизма", который рассматривается в "параллельных вычислениях", заключается во множестве процессов, связанных для решения одной задачи и в том, как эти процессы зависят друг от друга. Частный случай такого "параллелизма" - конвеер - последовательное исполнение процессов. Так же, во многих случаях, "параллельные" задачи физически не исполняются одновременно (например на одноядерном процессоре под управлением Виндоус ХР). Т.е. слово "параллелизм" не просто неподходящее, но и даже путающее.
Не случайно, один из фундаментальных трудов в "параллельных вычислениях", формальный язык для описания поведения параллельных процессов, называется CSP - Взаимодействие последовательных процессов (Communicating sequential processes). Тут мало того, что нет слова "параллелизм", так наоборот используется слово "последовательный". Молодец Хор, очень тонко подметил суть и правильно назвал своё детище! Хотя вместо слова "взаимодействие", я бы использовал слово "зависимости". Ибо на самом деле все проблемы от зависимостей.
Предлагаю не использовать дурацкий, пугающий и путающий термин "параллельные вычисления", и заменить его на ЗПП - Зависимости последовательных процессах (DSP - Dependencies of sequential processes ну или хотя бы на CSP.