Які алгоритми не можна паралелізувати?


24

Чи є якийсь алгоритм, який складно паралелізувати чи дослідження все ще активне?

Я хотів дізнатися про будь-який алгоритм чи будь-яке дослідницьке поле при паралельних обчисленнях.

Що-небудь, що я шукав, "паралельна" реалізація зроблена. Просто хочу трохи вивчити будь-яке невивчене поле паралельних обчислень.


1
Що саме ви маєте на увазі під "паралелізацією"? Можливо, кожен алгоритм є паралельним, просто не завжди добре. (У будь-якому випадку може бути цікавіше знайти нові алгоритми.)
Рафаель

Ви правильно зрозуміли, моя мета - знайти алгоритми, які важко паралелізувати. Чи можете ви розповісти більше про те, що ви маєте на увазі, знаходячи нові алгоритми?
Поліном Протон

Ви не відповідали на моє запитання. Скільки процесорів ви дозволяєте (5, p , n , )? Яку швидкість та / або ефективність ви потребуєте (будь-яка швидкість, швидкість лінійна за кількістю процесорів, полі-логарифмічний загальний час)?
Рафаель

На сьогоднішній день я шукаю алгоритми, які складно паралелізувати, тобто досліджувати поле, а потім приймати рішення відповідно до їх вивчення.
Поліном Протон

Відповіді:


11

це в основному відкрита дослідницька проблема, що стосується питання NC =? P, де NC приймається як клас ефективних паралельних алгоритмів.

У впливовому / широкомасштабному опитуванні Берклі "пейзаж паралельних обчислень" є класи алгоритмів або паралелізму, поділених на "гномів". з 1-ї ідентифікованої 6-ої, це виглядає як проблеми -body, можливо, порівняно складно ефективно паралелізувати, оскільки n збільшується, оскільки між n n- точками є n ^ 2 взаємодії .ннн2н

пізніше вони додали ще 6 матеріалів у документ і припускають, що останній під назвою "FSMs" (p14), де проблема пов'язана з обчисленням FSM, як обчислення (наприклад, й стан FSM), може бути протилежною "бентежно паралельній" щось вони пропонують називати "бентежно послідовним".н

дивіться також, чи є відомі алгоритми в sci. комп. що не можна паралелізувати , scicomp.se


1
Блискуче, дякую за посилання та пояснення!
Поліном Протон

11

Ця стаття надає низку проблем, які легко вирішити послідовно, але важко паралелізувати: http://en.wikipedia.org/wiki/P-complete

Проблема зі значенням ланцюга ("з урахуванням булевої схеми + її вхід, скажіть, що вона виводить") - хороша відправна точка - її легко зрозуміти, легко вирішити за допомогою послідовних алгоритмів, і ніхто не знає, чи можна її паралелізувати ефективно.


Це передбачає теоретико-теоретичне визначення поняття "паралелізабельність", яке може представляти чи не представляти інтерес.
Рафаель

@Raphael: AFAIK, багато класичних проблем, повних P, важко паралелізувати не тільки в теорії, але і на практиці (навіть якщо у вас порівняно невелика кількість процесорів).
Jukka Suomela

@JukkaSuomela Також є випадки, коли теорія складності припускає твердість, але на практиці все добре працює. Крім того, позитивні результати на практиці теж не означають багато .
Рафаель

NС=П

7

З практичної точки зору, ви запитуєте про суттєво послідовні алгоритми. Є багато кандидатів, таких як хеш-ланцюжок, який, як вважають, дуже важко паралелізувати. Хеш-ланцюг широко використовується в криптографії. Наприклад, схема шифрування паролів bcrypt була розроблена, щоб спробувати ускладнити прискорення хешу шляхом паралелізації. Інший приклад - повторне квадратування (знову ж таки, в криптографії).


Я знайшов декілька паперів, які паралелізують хеш-ланцюжок, але не прочитали його повністю. Я пройду через те саме. У будь-якому випадку, дякую за вклад!
Поліном Протон

1
@ Невідомі посилання на ці документи будуть вдячні.
m33lky

@ m33lky Вибачте, у мене зараз немає жодного з цих паперів. Це було ще в січні, і я нарешті продовжив своє дослідження з іншої теми. Однак ви можете шукати в Інтернеті програми вченого google, і я впевнений, що у вас вийде багато робіт
Поліном Протон

З практичної точки зору, це також варто відзначити , що якщо алгоритм є , наприклад , пам'яті пов'язані, то розпаралелювання не надто допомагає: stackoverflow.com/questions/868568 / ...
Чіро Сантіллі新疆改造中心法轮功六四事件
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.