در علوم کامپیوتر، برخلاف الگوریتمهای متوالی سنتی، الگوریتمهایی هستند که در آنها، هر بار قسمتی از برنامه روی پردازندهای متفاوت اجرا میشود و در آخر برای کسب نتیجهٔ مطلوب، نتایج کنار هم قرار میگیرند.
بعضی از الگوریتمها را میتوان به آسانی به چنین قسمتهایی تقسیم کرد. بطور مثال، عمل بررسی اعداد از یک تا صدهزار برای تشخیص اعداد اول را، میتوان با اختصاص دادن زیر مجموعهای از اعداد به هر پردازنده موجود و سپس گردآوری لیست نتایج مطلوب، قسمت بندی کرد.
برخی از الگوریتمها برای اجرای مراحل بعد، نیاز به نتایج مراحل قبل دارند. اینگونه مسائل را مسائل ذاتا متوالی میگویند. روشهای عددی تکرار شونده، مانند روش نیوتون یا مسالهٔ سه تن، نمونههایی از الگوریتمهای متوالی هستند.
برخی از مسائل را خیلی دشوار میتوان به صورت موازی در آورد حتی اگر بازگشتی باشند. یکی از این نمونهها جستحوی عمقی درخت است.
الگوریتمهای موازی ارزشمندند زیرا اجرای عملیات محاسباتی بزرگ از طریق الگوریتمهای موازی، به دلیل کارکرد پردازندههای مدرن، بسیار سریع تر از اجرای آنها با الگوریتمهای متوالی است. ساخت یک کامپیوتر با یک پردازندهٔ خیلی سریع بسیار سخت تر از ساختن یک کامپیوتر با تعداد زیادی پردازندهٔ کندتر با توان عملیاتی یکسان است.
با این حال، برای سرعت الگوریتمهای موازی نیز محدودیتهای خاص نظری وجود دارد. قسمتی از هر الگوریتم موازی، متوالی است، از این رو هر الگوریتم موازی یک نقطهٔ اشباع دارد. بعد از آن نقطهٔ اشباع اضافه کردن تعداد بیشتری پردازنده افزایش توان عملیاتی را در پی ندارد و تنها باعث بالا بردن هزینه و خسارات میشود.