لغة C المتوازية الموحدة
لغة C المتوازية الموحدة ( UPC ) هي امتداد للغة البرمجة C، مصممة للحوسبة عالية الأداء على أجهزة متوازية واسعة النطاق ، بما في ذلك تلك التي تستخدم مساحة عناوين عالمية مشتركة ( SMP و NUMA ) وتلك التي تستخدم ذاكرة موزعة (مثل المجموعات الحاسوبية ). يُعرض للمبرمج مساحة عناوين عالمية مقسمة ، حيث يمكن قراءة وكتابة المتغيرات المشتركة مباشرةً من أي معالج ، ولكن كل متغير مرتبط فعليًا بمعالج واحد. تستخدم UPC نموذج حساب برنامج واحد وبيانات متعددة ( SPMD )، حيث يتم تحديد مستوى التوازي عند بدء تشغيل البرنامج، وعادةً ما يكون لكل معالج خيط تنفيذ واحد.
للتعبير عن التوازي، توسع UPC معيار ISO C 99 بالبنى التالية:
- نموذج تنفيذ متوازٍ صريح
- مساحة عناوين مشتركة (
sharedمؤهل تخزين) مع أجزاء محلية خاصة بالخيط (متغيرات عادية) - عناصر التزامن الأساسية ونموذج اتساق الذاكرة
- أساسيات الاتصال الصريحة، على سبيل المثال
upc_memput - أساسيات إدارة الذاكرة
تطورت لغة UPC من تجارب ثلاث لغات سابقة اقترحت امتدادات متوازية لمعيار ISO C 99: AC و Split-C ومعالج Parallel C المسبق (PCP). لا تُعد UPC مجموعة شاملة لهذه اللغات الثلاث، بل هي محاولة لاستخلاص أفضل خصائص كل منها. تجمع UPC بين مزايا قابلية البرمجة لنموذج برمجة الذاكرة المشتركة والتحكم في تخطيط البيانات وأداء نموذج برمجة تمرير الرسائل .
انظر أيضاً
روابط خارجية
- الموقع الرسمي
- UPC في مختبر لورانس بيركلي الوطني
- رمز المنتج العالمي (UPC) في جامعة جورج واشنطن، مؤرشف بتاريخ 8 يوليو 2012 في أرشيف الإنترنت (Wayback Machine).
- GNU UPC
- دليل استخدام رموز المنتجات العالمية (2003)
- لغات البرمجة المتزامنة
- الحوسبة المتوازية
- عائلة لغات البرمجة C
