Što je paralelno računanje?

Paralelno računanje se događa kada računalo istovremeno obavlja više od jednog zadatka. Ova tehnika može omogućiti računalima da rade brže nego da rade jednu stvar odjednom, baš kao što osoba s dvije slobodne ruke može nositi više od osobe s jednom slobodnom rukom. Tradicionalno, računalni programi su dizajnirani na načine koji ne dopuštaju nužno paralelno računanje, već se moraju izvoditi korak po korak. Da bi se program mogao izračunati na ovaj način, mora biti dizajniran tako da se može podijeliti na manje zadatke koji se mogu izvesti pojedinačno. Kao primjer kako se paralelno računalstvo odnosi na prosječnu osobu, mnoga osobna računala imaju više procesorskih jezgri koje im omogućuju obradu više zadataka u isto vrijeme, umjesto zadataka jedan za drugim kao kod računala s jednim procesorom.

Pisanje računalnog programa tako da se može podijeliti na zasebne zadatke koji se izvršavaju zasebno često je teže nego pisati jedan po jedan, koristeći linearno izvršenje. Kod računalnih programa koji će se izvršavati uzastopno, prvi zadatak obično određuje informacije koje su sastavni dio drugog zadatka u nizu. Bez tog prvog bita informacija koji proizlazi iz izvršavanja prvog zadatka, drugi bi zadatak mogao biti besmislen za izvršavanje. Prilikom pisanja programa kako bi se mogao podijeliti na različite dijelove, vrijeme stvari tako da različiti dijelovi programa imaju informacije koje su im potrebne kada im zatrebaju i ne donose odluke na temelju zastarjelih informacija može biti jedinstven izazov. Ova zabrinutost obično je povezana s najčešćim vrstama računalnih grešaka s kojima se susreću paralelni računalni programi.

Glavna prednost paralelnog računanja je što se programi mogu brže izvršavati. Ako računalni hardver koji izvršava program koristeći paralelno računanje ima arhitekturu, kao što je više od jedne središnje procesorske jedinice (CPU), paralelno računanje može biti učinkovita tehnika. Kao analogija, ako jedan čovjek može nositi jednu kutiju u isto vrijeme i da je CPU čovjek, program koji se izvršava sekvencijalno mogao bi nositi samo jednu kutiju u isto vrijeme. Kada se izvodi paralelno, taj isti program mogao bi se podijeliti na dva zasebna zadatka, a ako postoje dva CPU-a koja to mogu iskoristiti, nosite obje kutije u isto vrijeme. Čineći to, čovjek nosi obje kutije i brže završava svoj zadatak.