مقدمه
اوکم (1) زبان برنامه نویسی پارالل انگلستان پیدایش و تکامل یافته است .این بخش زبان و شرایط پیرامونی پیدایش آن و رابطه آن با ترانسپیوتر اینموس (2)را تشریح می کند .
اوکلم زبانی است مناسب برای بررسی نظرات وایده ها پیرامون ویژگیهای انتقال پیام در برنامه نویسی پارلل .
مزیت بسیار مهم این برنامه آن است که با سرمایه گذاری اندک می توان برنامه هایی قابل اجرا روی مجموعه ای از ابر رایانه ها نوشت .
توضیح :
برنامه اوکم و سخت افزار ترانسپوتر (Transputer ) که در اینجا بعنوان ابر رایانه یاد شده است محصولات به ثبت رسیده و علائم تجاری شرکت Inmos Limited می باشد.
مترجم 1. 1تکوین اوکم .
اوکم زبان برنامه نویسی پارللی است که توسط دیوید می (3) ] 1983 می [در اینموس لیمتد (4) بریستول (5) ،انگلستان بوجود آمد این زبان یکی از معدود زبانهای برنامه نویسی است براساس CSP"( فرایند ترتیبی اطلاعات (6) ) تونی هور (7) بنیاد نهاده شده است .(هور 78)
توضیح وتشریح بیشتر ودقیق تر CSP در کتاب CSP هور موجود است (هور 85) با استفاده از CSP نمونه اوکم ، آنها زبان برنامه نویسی اوکم را ایجاد کرده وتکامل دادند .
نام برنامه نیز از اسم ویلیام اوکم (8) فیلسوف قرن سیزدهم برداشته شده است .
ویزور اوکم یا اصل فلسفی باستانی « همه چیز را آسان نگه دار» منسوب به ویلیام است .یک هدف بنیادین زبان اوکم آسان نگه داشتن این زبان است لذا این برنامه چنین نام گذاری شده است .
اوکم و ترانسپیوتر (ابر رایانه ) علامت های تجاری ثبت شده Inmos limited می باشد .
1)Occam
2)Inmos
3)David May
4) Inmos Limited
5)Bristol
6) CSP (Communicating Sequential Peoeesses)
7) Tony Hoare
8) Wcuiam of Occam
9)The Occam Cncurrencq Modl
102 اوکم وابر رایانه
از نمونه اوکم ، اینموس تراشه سخت افزاری را برای پشتیبانی نمونه همزمانی اوکم ایجاد کرده است .این سخت افزاری به صورت یک تراشه اصلی یکپارچه سازی شده IC در مقیاس بزرگ است که ترانسپیوتر خوانده می شود .( واکر(1) 85 ، ویتنی استریونس 85 (2) ).
ترانسپیوتر (قطعه شماره T800 اینموس ) یک میکرو پرو سسور 32 بیت ( 20 MHZ CIOCK ) است که MIDS 10 (یک میلیون فرمان در هر ثانیه ) و2.0 MFLOPS (یک میلیون عملیلت نقطه شناور در هرثانیه ) را به وسیله قدرتی معادل 4K بایت RAM ( 3) ایستا را پردازش می کند .تمام این ظرفیتهای ارتباطی همزمان و فقط روی یک تراشه انجام می گیرد .
با وجود آنکه اوکم زبانی است درجه بالا می توان به آن بعنوان یک زبان اسمبلی برای ترانسپیوتر نگریست .برخلاف بسیاری از میکرو پورسسورها ( ریز پردازشگرها ) مانند M68000 عملیات ترانسپیوتر به وسیله اوکم تعریف می شود ونه بوسیله زبان ماشین .
زیرا این ابر رایانه برای اجرای اوکم تعریف شده است و کامپایلر قابلیت ایجاد کدهای پیچیده و دقیق ماشین را داراست .یعلاوه ازآنجایی که این میکرو پورسسورها دارای قابلیت های اجرایی بالاست (نصف سرعت یک VAX8600 ) ترانسپیوتر دارای 4سریال لینک (پیوند ) دوطرفه ( هرکدام 20مگابیت ذر ثانیه ) برای برقراری انتقال پیام میان ترانسپیوترهای دیگر است .
«« کانال ها »»
در زبان اوکم روی این لینک های سخت افزاری برنامه ریزی شده اند که بوسیله جفت سیمهای مارپیچ به ابر رایانه های دیگر مرتبط می شوند.
1)Walker
2) Whit ney - Steevens
3) Ranclom Access Mwmory
سخت افزار ترانسپیوتر بصورت همزمان بوسیله برنامه ریزی (قسمت بندی زمان ) به سبک Round .robin تعدادی اختیاری از پردازش های همزمان اوکم پشتیبانی می کند .
زبان وسخت افزار بصورتی طراحی شده اند که ممکن است یک برنامه اوکم متشکل از مجموعه ای از پردازش های همزمان روی یک ترانسپیوتر (بوسیله قسمت بندی زمان میان پردازش های همزمان متفاوت ) اجرا شود و یا روی ترانسپیوترهای متعدد بدون هیچ گونه تغییری در کد اوکم توزیع شده و اجرا گردد.
ترانسپیوتر اصلی (T414 ) بدون داشتن قسمت نقطه شناور و فقط با 2 کیلو بیت RAM در سال 1985 ایجاد شد .
دوسال بعد ترانسپیوتر T800معرفی شد و در سطح وسیعی در محصولات فروش عرضه شد .پس از آن اینموس شروع به تکمیل وتوسعه یک نسخه سریعتر از ترانسپیوتر کرد که T9000 نامیده می شود اینموس طوری برنامه ریزی کرد که این نسخه در اواسط سال 1992 در دسترس همگان قرار گیرد .T9000یک میکروپرسسور 150MIPS با یک قسمت نقطه شناور 20MFLOPS بود 4لینک در T800بوسیله لینک های بیشتر مجازی جایگزین شد .سرعت هر لینک 100مگابیت در ثانیه برآورد شد.
حافظه روی تراشه از 4کیلو بایت به 16 کیلو بایت ارتقاء داده شد وشامل برنامه ریزی حافظه و حفاظت حافظه نیز می باشد .
بصورت دایره ای چنانکه تقدم بر تآخر معلوم نباشد .1)Round- rcloin
103 نسخه های اوکم
اولین نسخه اوکم برای تحقیق وبررسی به آزمایشگاهها ودانشگاهها درسال 1983 ( می 83) توسط اینموس توزیع شد .این نسخه اوکم بعنوان اوکم 1= معروف شد و به شکلهای گوناگونی عرضه شد .یکی از آنها پور تاکیت (1) یک برنامه فرترن سورس بود وبا وجود اینکه در ماشینهای بسیاری استفاده می شد ،برنامه ای بسیار کند وشامل نقایصی نیز در مدل اوکم بود .
نسخه معمول دیگر اوکم 1= نسخه VAX NMS بوذ که اینموس آن را به قیمت ارزان 100دلار در دانشگاهها توزیع کرد در این نسخه بسیاری از نقایص پور تاکیت اصلاح شد ه بود .
با تجربه ای که در طی سه سال بدست آمد (1986-1983) دیوید می و گروهش در اینموس نسخه ای ارتقاء یافته از اوکم را که اوکم 2=خوانده شد ،عرضه کردند .در اوکم 2= پیکر بندی همزمانی اوکم تغییری دیده نمی شد .
با ابن وجود اینموس خصوصیات بسیاری را که از یک برنامه نویسی مدرن درجه بالا انتظار داریم اضافه کرده بود .بطور برجسته می توان به تایپ ها و Type ( Type Chcching) قوی مانند آنچه در پاسکال 2مشاهده می شود ) اشاره کرد .خصوصیات مهم وجدیدی که برای برنامه نویسی عددی اضافه شده بود عبارتند بودند از نقطه شناور وحساب و qrray ها ی جند بعدی .
در 1988 دیوید می پروتکلهایی را روی کانالهای اوکم اضافه کرد .ازجمله خصوصیات دیگری که دیوید می به اوکم 2= اضافه کرد می توان به عملکردهای تعریف شده توسط کاربر و فایلهای uincluden اشاره کرد ( Inmos .88 ) دیوید می پس ازآن شروع بکار روی اوکم 3=کرد .
1) Dortakit
2) Dascal
3) array
توضیح مترجم :
دو یا چند ماده مربوط به هم که تحت نام واحدی در حافظه قرار می گیرد .
اینموس هم اکنون اوکم را از سکوهای مختلفی چون VAX AMS سازگارهای IBMPCوایستگاههای کاری SUNپشتیبانی می کند .
تماک این ها نیازمند بردی است (شامل یک یا چند ترانسپیوتر ) که روی یک اسلات (1) در پلات فرم (سکر ) نصب شود .
دو سیستم پیشرفت فراهم است .نوع قدیمی تر TDS(2) خوانده می شود که شامل ویرایشگر تا شونده خود ، کامپایلر ولینکر (پیوند دهنده ) دریک مجaموعه می شود .سیستم جدید تر که اینموس تول ست یا مجموعه ابزار اینموس خوانده می شود ، سری ابزارهای جدا از هم است که به کاربران اجازه می دهد تا ابزارها را در محیط پیشرفت و توسعه آشنای خود بکار برند مانند makeدر یونیکس (3).