Paralelní programování

Z Wikipedie, otevřené encyklopedie

Paralelní programování je vědní disciplína informatiky zabývající se programováním paralelních aplikací na paralelních počítačích.

[editovat] Druhy paralelních počítačů

Z hlediska stavby je možné rozdělit paralelního počítače na:

  • volně vázané (s distribuovanou pamětí) – počítače zapojené do sítě, které si předávají zprávy po sériové síti; velkým zapojením tohoto typu se říká cluster
  • těsně vázané (se sdílenou pamětí) – několik procesorů připojených k jedné paměti

[editovat] Potíže

V prostředí paralelního programování je zvláště důležitá synchronizace jednotlivých počítačů. V případě volně vázaných počítačů je nutné použít jako synchronizační primitivum frontu zpráv, v případě těsně vázaných počítačů systém často podporuje atomické operace na sdílené paměti a je možné na nich implementovat semafory.

Špatné použití synchronizačních primitiv může vést k deadlockům, což jsou programátorské chyby.

V paralelním programování často nelze spoléhat na fyzické hodiny - je nutné použít distribuované počítání času, aby bylo možné seřadit přijaté zprávy.

Další informace také ve článku o meziprocesové komunikaci, která hraje v paralelním programování velkou roli.