Kínosan párhuzamos algoritmusok megmagyarázva

A párhuzamos programozás során kínosan párhuzamos algoritmus az, amely nem igényel kommunikációt vagy függőséget a folyamatok között. Ellentétben az elosztott számítási problémákkal, amelyek kommunikációra szorulnak a feladatok között - főleg a köztes eredményeknél, a kínosan párhuzamos algoritmusok könnyen végrehajthatók olyan kiszolgálófarmokban, amelyekből hiányzik a valódi szuperszámítógép-fürtben használt speciális infrastruktúra.

A kínosan párhuzamos algoritmusok jellege miatt jól alkalmazhatók nagy, internet alapú elosztott platformokra, és nem szenvednek párhuzamos lassulástól. A kínosan párhuzamos problémák ellentéte eredendően a soros problémák, amelyeket egyáltalán nem lehet párhuzamosítani.

A kínosan párhuzamos algoritmusok ideális esete a következőképpen foglalható össze:

  • Az összes részprobléma vagy feladat a számítás megkezdése előtt meg van határozva.
  • Az összes almegoldás független memóriahelyeken van tárolva (változók, tömb elemek).
  • Így az almegoldások kiszámítása teljesen független.
  • Ha a számítások valamilyen kezdeti vagy végső kommunikációt igényelnek, akkor szinte kínosan párhuzamosnak nevezzük.

Sokan elgondolkodhatnak a „kínosan” kifejezés etimológiáján. Ebben az esetben a zavarban semmi köze a zavarba; valójában túlbőséget jelent - itt a párhuzamosítási problémákra utalnak, amelyek „kínosan könnyűek”.

A kínosan párhuzamos problémára gyakori példa a grafikus feldolgozó egység által kezelt 3d videómegjelenítés, ahol minden egyes képkocka vagy képpont egymásra utalás nélkül kezelhető. Néhány más példa a fehérje hajtogató szoftver, amely bármely számítógépen futtatható, minden egyes géppel egy kis munkadarabot, az összes részhalmaz generálását, véletlenszámokat és Monte Carlo szimulációkat.