تحقیق درباره زبان ليندا
نقطه نظر كلي:
ليندا چيست ؟
· زبان برنامه نويسي موازي بر اساس C(C _ Linda) و (Fortran _ Linda ) Fortran است
· زبان مختصاتي Linda را با زبانهاي برنامه نويسي C و Fortran تركيب مي كند.
· كاربران را قادر به ايجاد برنامه موازيي مي سازد كه بر روي دامنه وسيعي از محاسبه پلات فرم ها كار مي كنند.
· به صورت منطقي بر اساس سراسري بودن ( همه جاگير بودن سام ) حافظه مووضع محتوايي به نام فاصله توپل ناميده مي شود.
· فاصله توپل ارتباط درون پردازشي را ايجاد مي كند و به طور منطقي همگام سازي مستقل از اصول كامپيوتر و شبكه است .
· پياده سازي موازي با يك تعداد كوچك از عمليات نمونه ، بر روي فاصله توپل ايجاد مي شود و پردازش هاي موازي را هماهنگ مي كند.
· به صورت تجاري از شركت Scientific Computing در دسترس است .
نقطه نظر كلي :
مدل ليندا
· حافظه اشتراكي مجازي
· قسمت هاي مختلف داده ها م يتوانند بر روي پردازشگر هاي مختلف مقيم شوند
· شباهت يك حافظه سراسري تكي براي اجزاي پردازشگر ، فاصله بندي مي شود
· حافظه اشتراكي ليندا به فاصله توپل معروف است
· براي پياده سازي بسياري از انواع متفاوت الگوريتم ها مي توانند استفاده شوند.
· خودش را به خوبي براي ساختار داده اي گسترده مادر ( اصلي مهم ) / كارگر الگوريتم ها معطوف مي كند.
نقطه نظر كلي :
مدل مادر / كارگر با به كار بردن حافظه اشتراكي مجاز
· مدل كار و كارگر از يكديگر مستقل هستند.
· مدل مادر ، كار را به كارهاي گسسته تقسيم مي كند و آنرا درون فاصله سراسري قرار مي دهد.
· كارگرها به طور مكرر كارها را بازيابي مي كنند و نتايج را درون فاصله سراسري قرار مي دهند.
· كارگران اتمام كار را توسط معرفي برخي شرايط اعلان مي كنند ، يك «پيل پرآسون » را دريافت مي كنند يا توسط برخي مفاهيم ديگر خاتمه مي يابند.
· مادر نتايج را از فاصله سراسري جمع آوري مي كند.
· روشهاي ممكني كه كارها را مي توانند توزيع كنند:
· مجموعه اي از كارها ( نامرتب )
· كارها توسط به كار بردن يك شمارشگر اشتراكي در فاصله توپل در طول شناسه هاي كار مرتب مي شوند.
· شناسه هاي كار ها براي پيدا كردن داده هاي مرتبط استفاده مي شوند.
· فاصله توپل
· نام ليندا براي فاصله داده اي اشتراكي اش است فاصله توپل شامل توپل ها است
· توپل ها
· ساختار داده هاي بنيادي فاصله توپل
· توپل ها توسط يك ليست در حدود 16 فيلد بيان مي شوند ، و توسط ويرگول جدا مي شوند و در پرانتز ها قرار مي گيرند.
· مدل حافظه محتوايي
· يك توپل توسط مشخص كردن محتوايش بدست مي آيد
· از ديدگاه برنامه ساز ، هيچ آدرسي كه مربوط به توپل باشد وجود ندارد.
اساس ليندا
عمليات
چهار عمليات اساسي وجود دارد
· توليد توپل
· Out
· يك داده ( غير فعال ) توپل را توليد مي كند
· هر فيلد ( حوزه ــم ) ارزيابي مي شود و داخل فاصله توپل قرار مي گيرد.
· سپس كنترل براي برنامه مقيم انجام مي شود..
· مثال :
· 5
· evel
· پردازش ( فعال ) توپل را ايجاد مي كند
· بلافاصله كنترل براي برنامه مقيم انجام مي شود.
· به صورت منطقي ، هر فيلد به طور همگاه توسط يك پردازش جداگانه ارزيابي مي شوند و سپس درون فاصله توپل ـ قرار مي گيرند.
· در پياده اسزي متداول ، فقط فيلدهاي شامل تابع ( يازير برنامه ) مرجع كه از پردازشهاي جديد نتيجه مي شوند ايجاد مي شوند
· مثال
· استخراج توپل
· In
· يك الگو را براي بازيابي توپل از فاصله توپل به كار مي برد.
· وقتي بازيابي شد ، آن از فاصله توپل حذف مي شود و براي ساير بازيابي ها طولاني تر نمي شود.
· اگر تطبيق توپلي صورت گيرد ، پردازش مسدود خواهد شد و براي همگام سازي بين پردازش ها ايجاد مي شود .
· مثال :
· 7rd
· يك الگو را براي كپي داده ها به كار مي برد بدون اينكه آن از فاصله توپل حذف گردد
· وقتي خوانده مي شود ، آن براي سايرين هنوز در دسترس است .
· اگر تطبيق توپلي صورت نگيرد ، پردازش مسدود خواهد شد .
· مثال :
· اساس ليندا
· الگوها
· توپل را براي بازياب مشخص مي كند
· شامل توالي فيلدهاي تايپ شده است
· دو نوع از فيلدها
· واقعي ها
· متغيرها ، اثبات ها يا توضيحاتي كه براي حل هستند.
· صوري ها
· گيرنده ها براي بازيابي داده ها
· توسط يك علامت سئوال مقدم شدند
· مقادير وابسته به فيلد ها را در توپلهاي منطبق شده ذكر كردند.
· مثال :
· هر دو مثال توپل را درون فاصله توپل با عمليات Out ذيل منطبق مي كند:
· اساس ليندا
· قوانين تطبيق الگوها
· به منظور اينكه اين الگو با يك توپل منطبق شوند :
· بايستي همان تعداد از فيلدها را داشته باشد.
· واقعي ها بايستي همان نوع ، طول و مقدار را داشته باشند همانطور كه آنها در فيلدهاي توپل دادند.
· صوري ها در الگو بايستي نوع و طول فيلدهاي مربوطه در توپل را منطبق كنند.
· اگر چندين توپل با الگو منطبق شوند ، پيش گويي در مورد انتخاب آنها غير ممكن خواهد شد .
· دستور ارزيابي فيلدها در يك توپل يا الگو تعريف نمي شود. بنابراين ، ساختارهاي ذيل بايستي الغاء شوند.
· نميتوان پيشگويي كرد كه آيا I افزوده خواهد شد قبل با بعد از اينكه آن براي فيلد سوم ارزيابي مي شود.
· نمي توان پيشگويي كرد كه آيا j ( در فيلد سوم ) مقدار ست را توسط ?j ( فيلد دوم ) يا مقدار را قبل از اينكه گزاره اجرا شود را دارا خواهد بود.
· 15 در اين مثال Fortran اگر تابع F() مقدار x را تغيير دهد ، ما نمي توانيم پيشگويي كنيم كه آيا فيلد دوم اصلي را دارا خواهد بود يا مقدار X را تغيير خواهد داد
· مثال
مثال كد :
ويژگي ها در كد Fortran شروع داده شد.
اين مثال يكتعداد از ويژگي هاي Fortran_ Linda را شرح مي دهد.
· نام برنامه يك.FL اضافي دارد
· سطح بالاي زير برنامه بايستي داراي يك پارامتر باشد ـ زير برنامه پايين تر real – main ناميده مي شود.
· حجم برنامه ، Fortran خالص است .
· عمليات ليندا ، Out.in, evel
· برنامه ناهمگام ( غير همزمان ــ م ) است – تضميني وجود ندارد كه پردازش ويژه اي قبل از ديدگي اجرا شود
· مادر به كار مي رود وقتيكه تعداد توپل ـ تعداد كارگرها
مثال كد :
ويژگي ها در كد C شرح داده شد
اين مثال ويژگي C-Linda I را شرح مي دهد.
· نام برنامه .ci اضافي دارد
· سطح بالاي زير برنامه بايستي real – main ناميده مي شود اما همان پارامترهاي argv و argc دارد همانطور كه c اين كار را انجام مي دهد
· عمليات ليندا ، out,in,evel
· برنامه ناهمگام ( غير همزمان ــم ) است
· كارگرها به كار مي روند وقتيكه آن بازيابي مي شود ، n توپل ها را در فاصله توپل به كار مي برد در جائيكه = n تعداد كارگرها است
محيط برنامه نويسي ليندا
دومدل اجرايي بر روي SD2 وجود دارد:
· سيستم توسعه كد (CDS) RS6000
· ليندا Network – PoE بر روي High speed سوئيج مي شود
· ارتباط هاي اوليه بومي (MPL) IBM به كار مي رود.
محيط برنامه نويسي ليندا
C – Lind را با Network – poE به كار مي برد:
ملاحظه كنيد : وقتي network lind اجرا مي شود ، مقدار متغير محيط MP-PROCS براي تعيين اينكه چند تا از پردازشگر ها به كار مي روند ، استفاده خواهد شد . اين فايل host.list را كه بايستي شامل آدرسهاي گره كليدي باشند را به كار خواهد برد. ( به بخش نقطه نظر محيط عمل موازي براي جزئيات بيشتر مراجعه كنيد )
محيط برنامه نويسي ليندا:
كامپايلر
· فرمان كامپايلر flc – Fortran – Linda
· فرمان كامپايلر Clc – c – Linda
· نحوهاي مشابه براي استاندارد C و كامپايلرهاي Fortran
· انتخاب هاي اضافي ليندا
· به راهنماي كاربر را براي كامل كردن جزئيات مراجعه كنيد.
· سيستم توسعه كد ليندا (CDS) را به كار بريد
· سيستم CDS را به كار بريد ، متغيرهاي محيط ذيل را براي cds تعريف كنيد:
· زير برنامه اعلان نشده hello همانند يك زير روال به كار مي رود.
· ملاحظه كنيد كه يك اخطار lind op را منطبق نكنيد وجود دارد.
· ليندا يك اخطار را پرينت خواهد كرد اگر عملياتي وجود داشته باشد كه بعضي چيزها را در فاصله توپل قرار دهد كه هيچ ارتباطي بازيابي و بالعكس ندارد.
· در بيشتر موارد اين يك پيغام مفيد براي آشكار كردن تصحيح نحوي حروف ( اما به صورت فضايي تصحيح مي شود ) است .
· در اين مورد ، بهر جهت ، اين براي عمليات eval پيشنهاد مي شود كه از كارگرها شروع مي شود و مي تواند ناديده گرفته شود.
سيستم توسعه كد ليندا را به كار بريد
اشكال زدايي بصري TupleScape
TupleScalpe را به كار بريد ، شما بايستي كامپايل كنيد با
cds را انتخاب كرده و به كار بريد.
شل c را به كار بريد
آرايه ها در c – linda
ويژگي آرايه
در عمليات c – linda آرايه ها مشخصه يك طول ثابت يا متغير را دارند.
· آرايه ثابت
· طول شناخته شده در زمان كامپايل كردن قبلا تعيين شده و تغيير داده نشده است
· آرايه هاي ثابت با به كار بردن نام آرايه مشخص مي شوند.
· آرايه متغير
· اطلاعات اضافي تهيه شده در زمان اجرا را براي تعيين طول اخير به كار بريد.
· مشخصه متغير براي يك آرايه توسط قرار گرفتن يك “:” بعد از نامش به كار مي رود.
· اطلاعات در مورد طولش به دنبال “:” مي آيد.
· ده درايه اول a را مشخص كنيد :
· a:10
· آرايه كامل را به عنوان آرايه متغير مشخص كنيد :
· a:
· وقتي به عنوان يك صوري به كار رفته مي شود ، متغير صحيح به كار رفته شده براي طول براي تعداد درايه هاي بازيابي شده تعريف خواهد شد.
تعداد درايه هاي بازيابي شده در طول متغير قرار خواهند گرفت
· ملاحظه كنيد : ارايه هاي ثابت هرگز با آرايه هاي متغير منطبق نمي گردند.
· طول در حالت سوم مورد نياز است زيرا اشاره گر ها بايستي هميشه يك طول صريح و مشخص ــم را تعيين كنند.
· توپل با « ده درايه » ممكن است توسط هر يك از عمليات ذيل بازيابي شود.
اين كار انجام نخواهد شد ، زيرا اين يك نوع ثابت است و آرايه هاي ثابت هرگز آرايه هاي متغير را منطبق نمي كنند.
آرايه ها در c – linda
آرايه هاي چند بعدي
· آرايه هاي چند بعدي منطبق مي شوند اگر بخش هاي پيشنهاد شده همان شكل را داشته باشند.
· آرايه ها را مشخص كنيد.
· دو آرايه ذيل منطبق خواهند شد :
·
·
·
· هر دوي آنها به يك آرايه ثابت با يك طول 2 اشاره مي شوند :
دو آرايه ذيل منطبق نخواهند شد :
· آرايه ايجاد شده توسط عمليات out يك 5x2 است و در الگو يك 6x2 است .
· براي دو آرايه داراي بعد ، بخش هاي پيشنهاد شده كه منطبق مي شوند بايستي همان شكل را داشته باشند .
· آرايه ها تعداد مشابهي از بعدها براي تطبيق ندارند
· هر مجموعه از عمليات in و out در ذيل منطبق شدند.
· وقتيكه دو آرايه واقعا بعد مشابهي دارند آنها مي توانند همانند آرايه هاي تك بعدي به كار روند .
آرايه ها در C – linda
تطبيق الگو و آرايه ها
· آرايه ها با آرايه هاي ديگر منطبق مي شوند وقتيكه درايه ها از همان نوع ( نوع مشابهي ــ م ) هستند.
· آرايه هاي ثابت فقط با آرايه هاي ثابت با همان طول منطبق مي شوند.
· آرايه هاي ثابت هرگز با آرايه هاي متغير منطبق نمي شوند حتي اگر آنها داراي همان اندازه باشند ( هم اندازه باشند ــم )
· آرايه هاي چند بعدي منطبق مي شوند اگر بخش هاي پيشنهاد شده همان شكل ( همشكل ــم ) را داشته باشند.
· آرايه هاي واقعي بايستي هم در تعداد درايه ها و هم مقادير تمام درايه هاي مربوطه با هم موافق باشند.
زبان ليندا
تهيه كننده :
رزيتا معقولي
استاد محترم :
جناب آقاي مهندس متقي
مؤسسه آموزش عالي سجاد
تابستان 81
منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنید
اين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 23:12 منتشر شده است
برچسب ها : تحقیق درباره زبان ليندا,ليندا چيست ؟,تحقیق درباره زبان ليندا چيست ؟,