Paralelna obrada
From Wikipedia, the free encyclopedia
Paralelna obrada je postupak kod kojega se više instrukcija obrađuje istovremeno.[1] Obrada se zasniva na principu da se veliki problemi gotovo uvijek mogu podijeliti na manje te onda obraditi istovremeno (paralelno). Ovaj tip obrade postoji u nekoliko oblika:
- 1. Paralelizam na razini bita,
- 2. Paralelizam na razini instrukcije,
- 3. Podatkovni paralelizam,
- 4. Zadaćni paralelizam (eng. task parallelism).
Navedeni oblik obrade je korišten dugo vremena u procesiranju visoke brzine, ali interes je ovih godina jako porastao zbog fizičkih ograničenja koja sprječavaju frekvencijsko skaliranje. U posljednje vrijeme paralelna obrada je postala vodeća paradigma u računalnim arhitekturama, najvećim djelom u obliku višejezgrenih procesora.[2] Ipak je potrošnja u paralelnim računalima postala zabrinjavajuća.[3]
Paralelne računalne programe je mnogo teže razvijati nego sekvencijalne[4] zato što istodobnost uvodi nekoliko novih klasa potencijalnih softverskih bugova od kojih su „race condition“ najčešći. Komunikacija i sinkronizacija između različitih podzadataka je jedno od najvećih ograničenja za dobivanje dobrih performansi paralelnog programa. Ubrzanje izvršavanja programa kao rezultat paralelne obrade je opisano Amdahlovim zakonom.