Vad är Parallell Computing?

Parallell beräkning sker när en dator utför mer än en uppgift samtidigt. Denna teknik kan tillåta datorer att arbeta snabbare än att göra en sak på en gång, precis som en person med två fria händer kan bära mer än en person med en ledig hand. Traditionellt är datorprogram utformade på ett sätt som inte nödvändigtvis tillåter parallell beräkning, utan istället måste utföras ett steg i taget. För att ett program ska kunna beräknas på detta sätt måste det utformas så att det kan delas upp i mindre uppgifter som kan utföras individuellt. Som ett exempel på hur parallell beräkning förhåller sig till en genomsnittlig person, har många persondatorer flera bearbetningskärnor som gör att de kan bearbeta flera uppgifter samtidigt, istället för en uppgift efter den andra som med en enda processordator.

Att skriva ett datorprogram så att det kan delas upp i separata uppgifter som ska köras separat är ofta svårare än att skriva ett i taget, med linjär exekvering. Med datorprogram som kommer att köras sekventiellt bestämmer den första uppgiften vanligtvis informationen som är integrerad med den andra uppgiften i sekvensen. Utan den första biten information som är resultatet av att utföra den första uppgiften, kan den andra uppgiften vara meningslös att utföra. När du skriver ett program så att det kan delas upp i olika delar kan det vara en unik utmaning att tajma saker så att olika delar av programmet har den information de behöver när de behöver den och inte fattar beslut baserat på föråldrad information. Denna oro är vanligtvis förknippad med de vanligaste typerna av datorbuggar som parallella datorprogram möter.

Den största fördelen med parallell beräkning är att program kan köras snabbare. Om datorhårdvaran som kör ett program med hjälp av parallell beräkning har arkitekturen, såsom mer än en central processing unit (CPU), kan parallell beräkning vara en effektiv teknik. Som en analogi, om en man kan bära en låda i taget och att en CPU är en man, kanske ett program som körs sekventiellt bara kan bära en låda åt gången. När det körs parallellt kan samma program kanske delas upp i två separata uppgifter, och om det finns två processorer att dra nytta av det, bär båda rutorna samtidigt. Genom att göra detta bär mannen båda lådorna och slutför sin uppgift snabbare.