ScholarGate
دستیار

مدل‌های همزمانی و حافظه

مدل‌های همزمانی و حافظه نحوه ساختار برنامه‌های همزمان و چگونگی مشاهده حافظه مشترک توسط رشته‌های تعاملی آن‌ها را تعریف می‌کنند و اساس نرم‌افزار موازی صحیح را تشکیل می‌دهند.

یافتن موضوع با PaperMindبه‌زودیFind papers & topics
Tools & resources
دریافت اسلایدها
Learn & explore
ویدیوبه‌زودی

Definition

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

Scope

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

Sub-topics

Core questions

  • چگونه می‌توان فرآیندهای همزمان ارتباطی را مدل‌سازی و درباره آن‌ها استدلال کرد؟
  • یک برنامه چه ترتیب‌هایی از عملیات حافظه را ممکن است مشاهده کند؟
  • چگونه آزادی از رقابت داده‌ها تضمین یا مشخص می‌شود؟
  • چگونه انواع می‌توانند ارتباط را منظم کرده و از خطاهای همزمانی جلوگیری کنند؟

Key theories

حساب‌های فرآیند
CSP هوار و CCS و پی-کالکولوس میلنر نظریه‌های جبری از فرآیندهای همزمان و ارتباطی را ارائه می‌دهند، با عملگرهایی برای ترکیب و همگام‌سازی و مفاهیمی از هم‌ارزی رفتاری مانند هم‌شبیه‌سازی (bisimulation).
سازگاری ترتیبی
لامپورت سازگاری ترتیبی را به عنوان الزامی تعریف کرد که اجرای یک چندپردازنده به صورت یک درهم‌آمیزی از عملیات هر پردازنده به ترتیب برنامه ظاهر شود، که مبنایی است که مدل‌های حافظه ضعیف‌تر با آن مقایسه می‌شوند.
مدل‌های سازگاری حافظه
ادوه و غراچرلو طیف مدل‌های سازگاری حافظه مشترک را سیستماتیک می‌کنند و توضیح می‌دهند که چگونه ترتیب‌های آزاد عملکرد را افزایش می‌دهند در حالی که استدلال درباره برنامه‌های همزمان را پیچیده می‌کنند.

Clinical relevance

مدل‌های حافظه اکنون بخشی از مشخصات اصلی زبان‌ها (به عنوان مثال در C++ و جاوا) هستند، زیرا سخت‌افزار چند هسته‌ای ترتیب‌های آزاد را قابل مشاهده کرده است؛ درک صحیح آن‌ها برای نرم‌افزار همزمان صحیح و قابل حمل ضروری است. حساب‌های فرآیند و انواع جلسه طراحی زبان‌ها و پروتکل‌های مبتنی بر ارسال پیام را شکل می‌دهند.

History

نظریه همزمانی از شبکه‌های پتری و کارهای دهه 1970 هوار (CSP) و میلنر (CCS) و بعدها پی-کالکولوس برای فرآیندهای متحرک رشد کرد. لامپورت سازگاری ترتیبی را در سال 1979 تعریف کرد؛ با گسترش سخت‌افزارهای آزاد، مدل‌های حافظه برای زبان‌هایی مانند جاوا و C++ در دهه 2000 رسمی شدند و معناشناسی حافظه ضعیف به یک حوزه تحقیقاتی فعال تبدیل شد.

Debates

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

Key figures

  • C. A. R. Hoare
  • Robin Milner
  • Leslie Lamport
  • Sarita Adve

Related topics

Seminal works

  • hoare1978
  • milner1989
  • lamport1979
  • adve1996

Frequently asked questions

مدل حافظه چیست؟
مدل حافظه قراردادی رسمی است که مشخص می‌کند وقتی چندین رشته به حافظه مشترک دسترسی پیدا می‌کنند، یک عملیات خواندن چه مقادیری را می‌تواند برگرداند و تعریف می‌کند که کامپایلر و سخت‌افزار چه ترتیب‌دهی‌های مجددی را ممکن است انجام دهند و برنامه‌نویس می‌تواند به چه چیزی تکیه کند.
سازگاری ترتیبی چیست؟
سازگاری ترتیبی ایجاب می‌کند که یک اجرای همزمان به صورت یک درهم‌آمیزی واحد از عملیات رشته‌ها رفتار کند که ترتیب برنامه هر رشته را رعایت می‌کند، و آن را به شهودی‌ترین (اما اغلب آزاد) مدل حافظه تبدیل می‌کند.

Methods for this concept

Related concepts