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.