نقطه نظر كلي:
ليندا چيست ؟
• زبان برنامه نويسي موازي بر اساس C (C _ Linda) و (Fortran _ Linda ) Fortran است
• زبان مختصاتي Linda را با زبانهاي برنامه نويسي C و Fortran تركيب مي كند.
• كاربران را قادر به ايجاد برنامه موازيي مي سازد كه بر روي دامنه وسيعي از محاسبه پلات فرم ها كار مي كنند.

• به صورت منطقي بر اساس سراسري بودن ( همه جاگير بودن سام ) حافظه مووضع محتوايي به نام فاصله توپل ناميده مي شود.
• فاصله توپل ارتباط درون پردازشي را ايجاد مي كند و به طور منطقي همگام سازي مستقل از اصول كامپيوتر و شبكه است .
• پياده سازي موازي با يك تعداد كوچك از عمليات نمونه ، بر روي فاصله توپل ايجاد مي شود و پردازش هاي موازي را هماهنگ مي كند.
• به صورت تجاري از شركت Scientific Computing در دسترس است .

نقطه نظر كلي :
مدل ليندا
• حافظه اشتراكي مجازي
• قسمت هاي مختلف داده ها م يتوانند بر روي پردازشگر هاي مختلف مقيم شوند
• شباهت يك حافظه سراسري تكي براي اجزاي پردازشگر ، فاصله بندي مي شود
• حافظه اشتراكي ليندا به فاصله توپل معروف است
• براي پياده سازي بسياري از انواع متفاوت الگوريتم ها مي توانند استفاده شوند.
• خودش را به خوبي براي ساختار داده اي گسترده مادر ( اصلي مهم ) / كارگر الگوريتم ها معطوف مي كند.

نقطه نظر كلي :
مدل مادر / كارگر با به كار بردن حافظه اشتراكي مجاز
• مدل كار و كارگر از يكديگر مستقل هستند.
• مدل مادر ، كار را به كارهاي گسسته تقسيم مي كند و آنرا درون فاصله سراسري قرار مي دهد.
• كارگرها به طور مكرر كارها را بازيابي مي كنند و نتايج را درون فاصله سراسري قرار مي دهند.

• كارگران اتمام كار را توسط معرفي برخي شرايط اعلان مي كنند ، يك «پيل پرآسون » را دريافت مي كنند يا توسط برخي مفاهيم ديگر خاتمه مي يابند.
• مادر نتايج را از فاصله سراسري جمع آوري مي كند.
• روشهاي ممكني كه كارها را مي توانند توزيع كنند:
• مجموعه اي از كارها ( نامرتب )

• كارها توسط به كار بردن يك شمارشگر اشتراكي در فاصله توپل در طول شناسه هاي كار مرتب مي شوند.
• شناسه هاي كار ها براي پيدا كردن داده هاي مرتبط استفاده مي شوند.
• فاصله توپل
• نام ليندا براي فاصله داده اي اشتراكي اش است فاصله توپل شامل توپل ها است
• توپل ها
• ساختار داده هاي بنيادي فاصله توپل
• توپل ها توسط يك ليست در حدود ۱۶ فيلد بيان مي شوند ، و توسط ويرگول جدا مي شوند و در پرانتز ها قرار مي گيرند.
• مدل حافظه محتوايي
• يك توپل توسط مشخص كردن محتوايش بدست مي آيد
• از ديدگاه برنامه ساز ، هيچ آدرسي كه مربوط به توپل باشد وجود ندارد.

اساس ليندا

عمليات
چهار عمليات اساسي وجود دارد
• توليد توپل
• Out
• يك داده ( غير فعال ) توپل را توليد مي كند
• هر فيلد ( حوزه ــم ) ارزيابي مي شود و داخل فاصله توپل قرار مي گيرد.
• سپس كنترل براي برنامه مقيم انجام مي شود..
• مثال :
• ۵
• evel

• پردازش ( فعال ) توپل را ايجاد مي كند
• بلافاصله كنترل براي برنامه مقيم انجام مي شود.
• به صورت منطقي ، هر فيلد به طور همگاه توسط يك پردازش جداگانه ارزيابي مي شوند و سپس درون فاصله توپل ـ قرار مي گيرند.
• در پياده اسزي متداول ، فقط فيلدهاي شامل تابع ( يازير برنامه ) مرجع كه از پردازشهاي جديد نتيجه مي شوند ايجاد مي شوند

• مثال
• استخراج توپل
• In
• يك الگو را براي بازيابي توپل از فاصله توپل به كار مي برد.
• وقتي بازيابي شد ، آن از فاصله توپل حذف مي شود و براي ساير بازيابي ها طولاني تر نمي شود.

• اگر تطبيق توپلي صورت گيرد ، پردازش مسدود خواهد شد و براي همگام سازي بين پردازش ها ايجاد مي شود .
• مثال :

• ۷rd
• يك الگو را براي كپي داده ها به كار مي برد بدون اينكه آن از فاصله توپل حذف گردد
• وقتي خوانده مي شود ، آن براي سايرين هنوز در دسترس است .
• اگر تطبيق توپلي صورت نگيرد ، پردازش مسدود خواهد شد .
• مثال :
• اساس ليندا
• الگوها
• توپل را براي بازياب مشخص مي كند
• شامل توالي فيلدهاي تايپ شده است
• دو نوع از فيلدها
• واقعي ها

• متغيرها ، اثبات ها يا توضيحاتي كه براي حل هستند.
• صوري ها
• گيرنده ها براي بازيابي داده ها
• توسط يك علامت سئوال مقدم شدند
• مقادير وابسته به فيلد ها را در توپلهاي منطبق شده ذكر كردند.
• مثال :

• هر دو مثال توپل را درون فاصله توپل با عمليات Out ذيل منطبق مي كند:

• اساس ليندا
• قوانين تطبيق الگوها
• به منظور اينكه اين الگو با يك توپل منطبق شوند :
• بايستي همان تعداد از فيلدها را داشته باشد.
• واقعي ها بايستي همان نوع ، طول و مقدار را داشته باشند همانطور كه آنها در فيلدهاي توپل دادند.

• صوري ها در الگو بايستي نوع و طول فيلدهاي مربوطه در توپل را منطبق كنند.
• اگر چندين توپل با الگو منطبق شوند ، پيش گويي در مورد انتخاب آنها غير ممكن خواهد شد .
• دستور ارزيابي فيلدها در يك توپل يا الگو تعريف نمي شود. بنابراين ، ساختارهاي ذيل بايستي الغاء شوند.

• نميتوان پيشگويي كرد كه آيا I افزوده خواهد شد قبل با بعد از اينكه آن براي فيلد سوم ارزيابي مي شود.

• نمي توان پيشگويي كرد كه آيا j ( در فيلد سوم ) مقدار ست را توسط ?j ( فيلد دوم ) يا مقدار را قبل از اينكه گزاره اجرا شود را دارا خواهد بود.

• ۱۵ در اين مثال Fortran اگر تابع F() مقدار x را تغيير دهد ، ما نمي توانيم پيشگويي كنيم كه آيا فيلد دوم اصلي را دارا خواهد بود يا مقدار X را تغيير خواهد داد
• مثال

مثال كد :
ويژگي ها در كد Fortran شروع داده شد.
اين مثال يكتعداد از ويژگي هاي Fortran_ Linda را شرح مي دهد.
• نام برنامه يك.FL اضافي دارد
• سطح بالاي زير برنامه بايستي داراي يك پارامتر باشد ـ زير برنامه پايين تر real – main ناميده مي شود.
• حجم برنامه ، Fortran خالص است .
• عمليات ليندا ، Out.in, evel
• برنامه ناهمگام ( غير همزمان ــ م ) است – تضميني وجود ندارد كه پردازش ويژه اي قبل از ديدگي اجرا شود
• مادر به كار مي رود وقتيكه تعداد توپل ـ تعداد كارگرها