Обяснени смущаващо паралелни алгоритми

При паралелното програмиране, смущаващо паралелен алгоритъм е този, който не изисква комуникация или зависимост между процесите. За разлика от разпределените изчислителни проблеми, които се нуждаят от комуникация между задачите - особено при междинни резултати, смущаващо паралелните алгоритми са лесни за изпълнение в сървърни ферми, които нямат специалната инфраструктура, използвана в истински клъстер на суперкомпютър.

Поради естеството на смущаващо паралелни алгоритми, те са подходящи за големи, базирани на интернет разпределени платформи и не страдат от паралелно забавяне. Обратното на смущаващо паралелните проблеми са по своята същност серийни проблеми, които изобщо не могат да бъдат паралелизирани.

Идеалният случай на смущаващо паралелни алгоритми може да бъде обобщен, както следва:

  • Всички подпроблеми или задачи са дефинирани преди изчисленията да започнат.
  • Всички подрешения се съхраняват в независими места в паметта (променливи, елементи на масив).
  • По този начин изчисляването на подрешенията е напълно независимо.
  • Ако изчисленията изискват някаква първоначална или крайна комуникация, тогава ние я наричаме почти смущаващо паралелна.

Мнозина може да се чудят на етимологията на термина „смущаващо“. В този случай смущаващо няма нищо общо с неудобството; всъщност това означава изобилие - тук се има предвид проблемите на успоредяване, които са „смущаващо лесни“.

Чест пример за смущаващо паралелен проблем е рендирането на 3D видео, обработено от графично обработващо устройство, при което всеки кадър или пиксел може да бъде обработен без взаимозависимост. Някои други примери биха били софтуер за сгъване на протеини, който може да работи на всеки компютър, като всяка машина изпълнява малка част от работата, генериране на всички подмножества, произволни числа и симулации на Монте Карло.