Ответ 1
Непосредственно последовательный.
Пример. Число женщин не уменьшит продолжительность беременности.
Согласно Википедии, проблема "смущающей параллели" - это та, для которой мало или вообще не требуется усилий для разделения проблемы на ряд параллельных задач. Raytracing часто упоминается в качестве примера, потому что каждый луч может, в принципе, обрабатываться параллельно.
Очевидно, что некоторые проблемы гораздо сложнее распараллеливать. Некоторые могут быть даже невозможны. Мне интересно, какие термины используются и каковы стандартные примеры для этих более сложных случаев.
Могу ли я предложить "Раздражающе последовательно" как возможное имя?
Непосредственно последовательный.
Пример. Число женщин не уменьшит продолжительность беременности.
Там более чем одна противоположность проблемы "смущающей параллели".
Одна противоположность - это проблема непараллелизуемая, то есть проблема, для которой no speedup может достигаются за счет использования нескольких процессоров. Несколько предложений уже опубликованы, но я бы предложил еще одно имя: отлично последовательная проблема.
Примеры: проблемы с I/O-привязкой, вычислить f 1000000 (x 0) ", вычисляя определенные криптографические хэш-функции.
Другая противоположность - параллелизируемая проблема, требующая много параллельной связи (проблема с коммуникационной интенсивностью). Реализация такой проблемы будет правильно масштабироваться только на суперкомпьютере с высокоскоростным соединением с низкой задержкой. Сравните это с неловко параллельными проблемами, реализация которых эффективно работает даже в системах с очень плохим межсоединением (например, фермы).
Известный пример проблемы, связанной с коммуникацией: решение A x = b
, где A
- большая плотная матрица. На самом деле, реализация проблемы используется для компиляции рейтинга TOP500. Это хороший ориентир, поскольку он подчеркивает как вычислительную мощность отдельных процессоров, так и качество межсоединений (из-за интенсивности связи).
Более практично, любая математическая модель, которая решает систему уравнений в частных производных на регулярной сетке с использованием дискретного шага времени (подумайте: прогноз погоды, в силиконе), распараллеливается декомпозицией домена. Это означает, что каждый процессор заботится о части сетки, и в конце каждого временного шага процессоры обмениваются своими результатами на границах регионов с "соседними" ЦП. Эти обмены делают этот класс проблем интенсивным с точки зрения коммуникации.
Мне трудно не писать об этом... потому что я знаю, что это ничего не добавляет к обсуждению.. но для всех поклонников южного парка там
"Суперсерийный!"
"Упрямо серийный"?
Противоположность смущающей параллели - это Закон Amdahl, в котором говорится, что некоторые задачи не могут быть параллельными и что минимальное время - совершенно параллельная задача потребуется продиктовать чисто последовательную часть этой задачи.
"стандартные примеры" последовательных процессов:
P-complete (но это еще не известно).
Я использую "Унизительно последовательный"
Пол
Все это связано с зависимостями данных. Смутно параллельные проблемы - это те, для которых решение состоит из многих независимых частей. Проблемами с противоположностью этого характера были бы те, которые имеют массивные зависимости данных, где практически ничего не может быть сделано параллельно. Дегенеративно зависимый?
Я всегда предпочитал "грустно последовательный" ala шаг раздела в quicksort.
Если когда-либо нужно рассуждать о том, как было бы иметь естественные, неисправимо последовательные проблемы, попробуйте
блаженно последовательный
чтобы противостоять "смущающей параллели".
"Гладдинго последовательный"
Термин, который я слышал чаще всего, "тесно связан", поскольку каждый процесс должен часто взаимодействовать и часто обмениваться информацией для обмена промежуточными данными. В принципе, каждый процесс зависит от других, чтобы завершить их вычисления.
Например, обработка матриц часто включает разделение граничных значений по краям каждого раздела массива.
Это в отличие от неудобно параллельных (или слабо связанных) проблем, где каждая часть проблемы полностью автономна, и нет (или очень мало) IPC. Подумайте, мастер/работник parallelism.
Похвально последовательный.
"Полностью серийный?"
Не должно вас удивлять, что ученые больше думают о том, что можно сделать, чем того, что нельзя сделать. Особенно в этом случае, когда альтернатива распараллеливанию делает все, как обычно.
Полностью непараллелизуем? Пессимистически параллелизуемо?
Противоположность - "неутешительно последовательная".
принимая во внимание, что parallelism является актом выполнения многих заданий на одном и том же шаге времени t. противоположные могут быть временными проблемами
Пример неотъемлемой последовательной проблемы. Это распространено в пакетах САПР и некоторых технических анализах.
Обход дерева с зависимостями данных между узлами.
Представьте, что вы перемещаете граф и добавляете вес узлов.
Вы просто не можете его распараллелить.
Программное обеспечение САПР представляет части как дерево, а для рендеринга объекта вы должны пересечь дерево. По этой причине рабочие станции cad используют меньше ядер и быстрее, чем многие ядра.
Спасибо за чтение.
Конечно, вы могли бы подумать, что оба "имени" не являются проблемой. С точки зрения функционального программирования вы можете сказать, что "досадно последовательная" часть является наименьшей более или менее независимой частью алгоритма.
В то время как "смущающая параллель", если не принимать параллельный подход, является плохой практикой кодирования.
Таким образом, я не вижу смысла давать эти вещи имени, если хорошая практика кодирования всегда заключается в том, чтобы затормозить ваше решение на самостоятельные части, даже если вы в этот момент не воспользуетесь parallelism.