التزامن (علوم الحاسوب)

في علوم الحاسوب ، يشير التزامن إلى قدرة النظام على تنفيذ مهام متعددة من خلال التنفيذ المتزامن أو تقاسم الوقت (تبديل السياق)، ومشاركة الموارد وإدارة التفاعلات. يُحسّن التزامن الاستجابة والإنتاجية وقابلية التوسع في الحوسبة الحديثة، بما في ذلك: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

التزامن مفهوم أوسع يشمل العديد من الأفكار ذات الصلة، بما في ذلك: [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

  • التوازي (التنفيذ المتزامن على وحدات معالجة متعددة). يُنفذ التوازي المهام بشكل مستقل على أنوية المعالجات المركزية المتعددة. يسمح التزامن بوجود خيوط تحكم متعددة على مستوى البرنامج، والتي يمكنها استخدام التوازي أو تقسيم الوقت لأداء هذه المهام. قد تُظهر البرامج التوازي فقط، أو التزامن فقط، أو كليهما، أو لا تُظهر أيًا منهما. [ 6 ]
  • المعالجة المتعددة والخيوط المتعددة ( موارد النظام المشتركة)
  • التزامن (تنسيق الوصول إلى الموارد المشتركة)
  • التنسيق (إدارة التفاعلات بين المهام المتزامنة)
  • التحكم في التزامن (ضمان اتساق البيانات وسلامتها)
  • الاتصال بين العمليات (IPC، لتسهيل تبادل المعلومات)

مشاكل

نظراً لأن العمليات الحسابية في النظام المتزامن تتفاعل مع بعضها البعض أثناء تنفيذها، فقد يكون عدد مسارات التنفيذ الممكنة في النظام هائلاً، وقد تكون النتيجة النهائية غير محددة . ويمكن أن يكون الاستخدام المتزامن للموارد المشتركة مصدراً لعدم التحديد، مما يؤدي إلى مشاكل مثل حالات الجمود ونقص الموارد . [ 7 ]

غالباً ما يتطلب تصميم الأنظمة المتزامنة إيجاد تقنيات موثوقة لتنسيق تنفيذها وتبادل البيانات وتخصيص الذاكرة وجدولة التنفيذ لتقليل وقت الاستجابة وزيادة الإنتاجية إلى أقصى حد . [ 8 ]

نظرية

لطالما شكّلت نظرية التزامن مجالًا بحثيًا نشطًا في علوم الحاسوب النظرية . وكان من أوائل المقترحات في هذا المجال العمل الرائد الذي قدمه كارل آدم بيتري حول شبكات بيتري في أوائل الستينيات. ومنذ ذلك الحين، تم تطوير مجموعة واسعة من النماذج الرسمية لنمذجة التزامن والاستدلال بشأنه.

نماذج

تم تطوير عدد من الأساليب الرسمية لنمذجة وفهم الأنظمة المتزامنة، بما في ذلك: [ 9 ]

تهدف بعض نماذج التزامن هذه في المقام الأول إلى دعم الاستدلال والتحديد، بينما يمكن استخدام نماذج أخرى خلال دورة التطوير بأكملها، بما في ذلك تصميم الأنظمة المتزامنة وتنفيذها وإثباتها واختبارها ومحاكاتها. يعتمد بعضها على تمرير الرسائل ، بينما يستخدم البعض الآخر آليات مختلفة للتزامن.

أدى انتشار نماذج التزامن المختلفة إلى تحفيز بعض الباحثين على تطوير طرق لتوحيد هذه النماذج النظرية المتنوعة. فعلى سبيل المثال، أثبت لي وسانجيوفاني-فينسنتيلي إمكانية استخدام نموذج "الإشارة الموسومة" لتوفير إطار عمل مشترك لتحديد الدلالات الدلالية لمجموعة متنوعة من نماذج التزامن المختلفة، [ 11 ] بينما أثبت نيلسن وساسون ووينسكيل إمكانية استخدام نظرية الفئات لتوفير فهم موحد مماثل للنماذج المختلفة. [ 12 ]

تُقدّم نظرية تمثيل التزامن في نموذج الممثل طريقةً عامةً لتمثيل الأنظمة المتزامنة المغلقة، بمعنى أنها لا تتلقى اتصالات من الخارج. ( يمكن نمذجة أنظمة التزامن الأخرى، مثل حسابات العمليات ، في نموذج الممثل باستخدام بروتوكول الالتزام ثنائي المراحل . [ 13 ] ) يُبنى التمثيل الرياضي الذي يُمثله النظام المغلق S من خلال تقريبات متزايدة الدقة انطلاقًا من سلوك أولي يُسمى باستخدام سلوك يُقارب تطور الدالة وذلك لبناء دلالة (معنى) لـ S كما يلي: [ 14 ]

لنرمز إلى S ≡ ⊔ i∈ω بالتسلسل S i (⊥ S )

وبهذه الطريقة يمكن وصف S رياضياً من حيث جميع سلوكياتها الممكنة.

المنطق

يمكن استخدام أنواع مختلفة من المنطق الزمني [ 15 ] للمساعدة في فهم الأنظمة المتزامنة. بعض هذه الأنواع، مثل المنطق الزمني الخطي ومنطق شجرة الحساب ، تسمح بوضع تأكيدات حول تسلسلات الحالات التي يمكن أن يمر بها النظام المتزامن. بينما تبني أنواع أخرى، مثل منطق شجرة حساب الأفعال ، ومنطق هينيسي-ميلنر ، ومنطق لامبورت الزمني للأفعال ، تأكيداتها من تسلسلات الأفعال (تغيرات الحالة). ويتمثل التطبيق الرئيسي لهذه الأنواع في كتابة مواصفات الأنظمة المتزامنة. [ 7 ]

يمارس

يشمل البرمجة المتزامنة لغات البرمجة والخوارزميات المستخدمة لتنفيذ الأنظمة المتزامنة. وتُعتبر البرمجة المتزامنة عادةً أكثر عمومية من البرمجة المتوازية ، لأنها قد تتضمن أنماطًا عشوائية وديناميكية من الاتصال والتفاعل، بينما تتميز الأنظمة المتوازية عمومًا بنمط اتصال محدد مسبقًا ومنظم جيدًا. تشمل الأهداف الأساسية للبرمجة المتزامنة الدقة والأداء والمتانة . تُصمم الأنظمة المتزامنة ، مثل أنظمة التشغيل وأنظمة إدارة قواعد البيانات، للعمل بشكل مستمر، بما في ذلك التعافي التلقائي من الأعطال، وعدم التوقف بشكل غير متوقع (انظر التحكم في التزامن ). تُنفذ بعض الأنظمة المتزامنة شكلاً من أشكال التزامن الشفاف، حيث قد تتنافس الكيانات الحسابية المتزامنة على مورد واحد وتتشاركه، ولكن تعقيدات هذا التنافس والمشاركة تبقى مخفية عن المبرمج.

نظرًا لاستخدامها موارد مشتركة، تتطلب الأنظمة المتزامنة عمومًا تضمين نوع من المُحكِّم في مكان ما ضمن تنفيذها (غالبًا في المكونات المادية الأساسية) للتحكم في الوصول إلى تلك الموارد. يُدخل استخدام المُحكِّم إمكانية عدم الحتمية في الحوسبة المتزامنة ، مما له آثار كبيرة على الممارسة، بما في ذلك صحة النتائج وأدائها. على سبيل المثال، يُدخل التحكيم عدم حتمية غير محدودة ، مما يُثير مشاكل في التحقق من النماذج لأنه يُسبب تضخمًا في فضاء الحالة، وقد يؤدي حتى إلى امتلاك النماذج عددًا لا نهائيًا من الحالات.

تتضمن بعض نماذج البرمجة المتزامنة العمليات المشتركة والتزامن الحتمي . في هذه النماذج، تتنازل خيوط التحكم صراحةً عن فتراتها الزمنية، إما للنظام أو لعملية أخرى.

انظر أيضاً

مراجع

  1. مفاهيم أنظمة التشغيل 1 2. وايلي. 29 يوليو 2008. ISBN 978-0470128725.
  2. ١ ٢ تنظيم وتصميم الحاسوب: واجهة الأجهزة/البرمجيات . سلسلة مورغان كوفمان في هندسة وتصميم الحاسوب. مورغان كوفمان. ٢٠١٢. ISBN 978-0123747501.
  3. 1 2 الأنظمة الموزعة: المفاهيم والتصميم . بيرسون. 2012. ISBN 978-0132143011.
  4. 1 2 كوين، مايكل جاي (1994). الحوسبة المتوازية: النظرية والتطبيق . ماكجرو هيل. ISBN 978-0070512948.
  5. 1 2 زومايا، ألبرت ي. (1996). دليل الحوسبة المتوازية والموزعة . ماكجرو هيل بروفيشنال. ISBN 978-0070730205.
  6. البرمجة المتوازية والمتزامنة في لغة هاسكل . دار نشر أورايلي ميديا. 2013. رقم ISBN 9781449335922.
  7. 1 2 كليفلاند، رانس ؛ سكوت سمولكا (ديسمبر 1996). "التوجهات الاستراتيجية في أبحاث التزامن" . مجلة ACM Computing Surveys . 28 (4): 607. doi : 10.1145/242223.242252 . S2CID 13264261 . 
  8. كامبل، كولين؛ جونسون، رالف؛ ميلر، آدي؛ توب، ستيفن (أغسطس 2010). البرمجة المتوازية باستخدام مايكروسوفت دوت نت . مطبعة مايكروسوفت. ISBN 978-0-7356-5159-3.
  9. فيلمان، روبرت؛ دانيال فريدمان (1984). الحوسبة المنسقة - أدوات وتقنيات للبرمجيات الموزعة . ماكجرو هيل. ISBN 978-0-07-022439-1.
  10. ^ كيلر ، يورج. كريستوف كيسلر؛ يسبر تراف (2001). برمجة PRAM العملية . جون وايلي وأولاده.
  11. لي، إدوارد؛ ألبرتو سانجيوفاني-فينسنتيلي (ديسمبر 1998). "إطار عمل لمقارنة نماذج الحوسبة" (ملف PDF) . معاملات IEEE في التصميم بمساعدة الحاسوب للدوائر والأنظمة المتكاملة . 17 (12): 1217-1229 . doi : 10.1109/43.736561 .
  12. موغنس نيلسن؛ فلاديميرو ساسون؛ غلين وينسكل (1993). "العلاقات بين نماذج التزامن" . مدرسة/ندوة REX .
  13. فريدريك كنابي. بروتوكول موزع للاتصال القائم على القنوات مع الاختيار PARLE 1992.
  14. ويليام كلينجر (يونيو 1981). "أسس دلالات الفاعل". أطروحة دكتوراه في الرياضيات. معهد ماساتشوستس للتكنولوجيا. hdl : 1721.1/6935 .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  15. روسكو، كولين (2001). الخصائص النمطية والزمنية للعمليات . سبرينغر. ISBN 978-0-387-98717-0.

للمزيد من القراءة

  • لينش، نانسي أ. (1996). الخوارزميات الموزعة . مورغان كوفمان. ISBN 978-1-55860-348-6.
  • تانينباوم، أندرو س.؛ فان ستين، مارتن (2002). الأنظمة الموزعة: المبادئ والنماذج . برنتيس هول. ISBN 978-0-13-088893-8.
  • كوركي-سوونيو، رينو (2005). نظرية عملية للأنظمة التفاعلية . سبرينغر. ISBN 978-3-540-23342-8.
  • غارغ، فيجاي ك. (2002). عناصر الحوسبة الموزعة . مطبعة وايلي-IEEE. ISBN 978-0-471-03600-5.
  • ماجي، جيف؛ كرامر، جيف (2006). التزامن: نماذج الحالة وبرمجة جافا . وايلي. ISBN 978-0-470-09355-9.
  • ديستيفانو، س.، وبرونيو، د. (2015). التقييمات الكمية للأنظمة الموزعة: المنهجيات والتقنيات (الطبعة الأولى). سومرست: جون وايلي وأولاده. ISBN 9781119131144
  • بهاتاشاريا، إس إس (2013؛ 2014). دليل أنظمة معالجة الإشارات (الطبعة الثانية، 2013). نيويورك، نيويورك: سبرينغر. 10.1007/978-1-4614-6859-2 ISBN 9781461468592
  • وولتر، ك. (2012؛ 2014). تقييم مرونة أنظمة الحوسبة (الطبعة الأولى). لندن؛ برلين: سبرينغر. ISBN 9783642290329