وقتی برای نخستين‌بار برنامه‌های کامپیوتری تولید شدند، تنها محاسبات سریال انجام می‌دادند و این محاسبات در هسته پردازنده کامپیوتر انجام می‌شد؛ یکی پس از دیگری. امروزه، همه چیز تغییر‌کرده است. محاسبات به‌صورت‌موازی و همزمان انجام می‌شوند و فناوري‌هاي پردازش‌موازي این کار را به‌راحتی انجام ‌دهند‌. 

حافظه اصلی در محاسبات موازي یا به‌صورت حافظه‌اشتراکی است یا حافظه توزیع شده. معماری حافظه توزیع شده یا Distributed گاهی به‌صورت فیزیکی و گاهي به‌صورت منطقی است که در بهترین حالت پردازنده‌های سیستم در محاسبات موازي باید از حافظه‌های فیزیکی که به‌صورت محلی است، استفاده کنند.

همان‌طور كه مي‌دانيد، محاسبات همزمان و موازی به‌چند صورت انجام مي‌پذیرد: در حد بیت،‌ خط دستور،‌ اطلاعات و اجرای تکالیف همزمان که هر کدام از این انواع در چیدمان و معماری سیستم‌های همزمان تأثیر‌گذار هستند.

زمانی که پردازنده‌هاي کامپیوترها تک‌هسته‌ای بود، همزمانی اجرای دستورات نرم‌افزار با استفاده از Multi Threading انجام مي‌شد که اگر چه واقعاً Cuncurrency يا همزمانی مطلق تحقق پیدا نمی‌کرد، اما با استفاده از نرم‌افزار امکان اجرای دستورات موازی با استفاده از رشته‌پردازشي‌ (Thread) امکان‌پذير بود. به‌عنوان مثال، در دات نت یا جاوا مي‌توان نرم‌افزارهایی را طراحی کرد که چند عمل را به‌صورت موازی و همزمان انجام دهند.

از طرفی هر چه که پیش‌ مي‌رویم، هسته‌های پردازنده‌ کامپیوتر‌ها بیشتر و بیشتر مي‌شود. در دات‌نت 4 که به‌تازگی از طرف شرکت مایکروسافت به بازار عرضه شده، قابلیت استفاده از چند پردازنده بیشتر از نسخه‌های قبلی تقویت شده است......