تبليغاتX
XGRID تکنولوژی
 
XGRID تکنولوژی
 
 
پیاده سازی سیستم های توزیع شده
 


پیاده سازی محیط Grid و برنامه نویسی موازی

سیستم های Grid   نوعی از سیستم های توزیع شده یا موازی هستند که اشتراک ، انتخاب و جمع آوری منابع را در فواصل جغرافیایی فراهم می اورد. بر اساس این تعریف ملاحظه میشود که امکان اجام کارها بصورت موازی وجود دارد.شاید مهمترین دلایل استفاده از سیستم های موازی  را بتوان در 4 مورد زیر خلاصه نمود:

1-  Application ها بطور حریضانه به دنبال منابع هستند .

2-       کامپیوترهای موجود معماری تک پردازنده و ترتیبی دارند .

3-       پیشرفت تکنولوژی شبکه های کامپیوتری .

4-       محدودیت فیزیکی سخت افزارها در افزایش سرعت .

با توجه به موارد فوق درمی یابیم موازی سازی یک امر ضروری برای انجام کارهای بزرگ و سنگین می باشد.با انجام موازی سازی  قابلیتهایی نظیر ،توازن سازی ،همپام سازی ، در دسترس بودن ، انعطاف پذیری و کاهش هزینه  امکان پذیر میشود.اما برای نوشتن برنامه های موازی به محیطی نیاز است که این کار انجام گیرد .در این مورد کلا" دو دیدگاه وجود دارد .

الف – Implicit parallelism

در این دیدگاه موازی سازی توسط زبانها و کمپایلرهای موازی پشتیبانی میشوندو تمامی عملیات مربوط به موازی سازی در آن زبانها یا کمپایلرها حمایت می شوند.این زبانها و کمپایلرها خاص ابر رایانه ها طراحی میشوند.

ب – Explicit parallelism

در این دیدگاه زبان موازی نداریم ، در واقع از همان زبانهای سریال استفاده میشود و این برنامه نویس است که موازی سازی را انجام می دهد.برای این منظور برنامه نویس می بایست قسمتهای موازی را تشخیص داده و بکمک ابزار برنامه نویسی آنها را از هم جدا کند. این روش که در سیستم های Grid و Cluster کاربرد دارد برنامه به بخشهای زیر تقسیم می شود :

1-       تقسیم بندی فرایندها 

2-       نگاشت روی پردازنده ها

3-       ساختارهای ارتباطی

سپس می بایست مدل برنامه نویسی موازی تعیین گردد .بطور کلی مدلهای برنامه نویسی موازی بصورتهای زیر وجود دارد :

1-  Share memory

در این حالت معماری مابصورت  حافظه مشترک بوده و دستورات بصورت Read  و Write می باشند.برخی از این ابزار  عبارتند از : DSM ، Java ، Openmp.

2-       Message passing

در این حالت در محیط شبکه هر سیستم حافطه و پردازنده خودش را دارد و از دستورات Send و Receive  استفاده میشود. برخی از این ابزار  عبارتند از : MPI و PVM

تذکر: نسخه تحت ویندوز MPICH می باشد که شامل توابع کتابخانه ای برای نوشتن برنامه های موازی است .در پروژه نیز ما از این ابزار استفاده کرده ایم .

3-       Hybrid

به ترکیبی از دو مدل فوق اشاره دارد .برخی از این ابزار  عبارتند از MPI,Openmp.

4-       Object & Service Oriented

این ابزار در سطح کاربر بوده و بالاتر از Middleware قرار می گیردولی کارایی کم میشود.برخی از این ابزار  عبارتند از Dcom و Corba .

برای انجام برنامه نویسی موازی می بایست بخشاهای زیر را در کد ایجاد کرد و رعایت نمود:

1-  Partitiong  که برای بخش بخش کردن Task بکار می رود.

2- Communication  برای برقرای ارتباط بین بخشهای جدا شده در فاز اول می بایست رعایت شود.

3- Agglomeration که نحوه اتصال دو بخش فوق را بعد از برقرای ارتباط و بخش بندی را مشخص می کند.

4-      Mapping/Scheduling که نسبت دادن کارها به پردازندها را انجام میهد بطوریکه زمان انجام کار حداقل شده و راندامان بالایی داشته باشیم .

برنامه نویسی موازی یک Task  پیچیده است زیرا برنامه هایی را که مینویسیم شامل بخشهای موازی است .ابزارهای برنامه نویسی کمک می کنند تا حدی این پیچیده گی کاهش یابد.برای نوشتن برنامه ای موازی به چنین محیطهایی نیاز داریم .مهمترین نکته ای که از دیدگاه کاربر مهم است آنستکه برخی از چیزها را Transparence کنیم و همچنین بتوانداز مفاهیم قبلی برنامه نویسی استفاده نماید.

در این روش برنامه به یکسری زیر برنامه تقسیم می شود و هر بخش از آن بین گره های شبکه اجرای می گردد.هر زیر برنامه بصورت ترتیبی نوشته شده است ولی چون همه پردازنده ها موازی برنامه را اجرا می کنند در نتیجه برنامه موازی اجرای میشود.متغیرهایی که روی هر پردازنده اجرا میشوند کاملا"Private هستند و برای ارتباط فقط از مبداء به مقصد پیام ارسال میشود.

همانطور که اشاره شد برای انجام برنامه نویسی موازی از ابزار MPICH که کتابخانه ای از توابع موازی را فراهم می آورد استفاده شده است .هدف از این پروژه انجام عملیات ضرب ماتریس بصورت موازی است .همانطور که در نمودارملاحظه میشود این پروسه روی چندین ماشین اجرا شده است .با افزایش تعداد ماشینها سرعت انجام عملیات نیز افزایش می یابد.

MPICH  ابزاری است که توابع استاندارد  کتابخانه ای MPI را برای اجرا در انواع سیستم ها فراهم می آورد. این ابزار در سیستم های عامل NT4,window 2000,windows xp  و Windows server قابل استفاده است و هر جا که ارتباطات بصورت TCP/IP وجود دارد قابل بکارگیری است.همچنین برای کمپایل برنامه های نوشته شده از محیط    6.x++ VC بهره می بریم .

در این برنامه عمدتا از دستورات انتقال پیام استفاده شده است و باتوجه به کاربرد این دستورات در برنامه این دستورات را بصورت زیر شرح می دهیم .

همانطور که ذکر شده این برنامه براساس Message passing کار می کند .بطور کلی به دو صورت گروهی (Collective) و نقطه به نقطه (Point to point) انتقال پیام انجام میشود.در حالت اول یک فرستنده به چندین گیرنده پیام را ارسال می کند.و در حالت نقطه به نقطه یک فرستنده و یک گیرنده داریم که پیام را بیکدیگر ارسال می نمایند.این روش خود بصورتهای زیر انجام میشود:

1-     سنکرون : در این حالت دقیقا وقتی که گیرنده می خواهد داده را بردارد، فرستنده متوجه میشود.به عبارتی وقتی کار ارسال  پیام تمام شد فرستنده متوجه میشود و ادامه کار منوط به این است گیرنده داده را بردارد. برای مثال ماشین فاکس چنین خصوصیتی دارد.

2-     آسنکرون :در این حالت فرستنده از برداشتن داده توسط گیرنده آگاه نیست .به عبارتی وقتی پیام سیستم را ترک می کند متوجه نمی شویم که رسیده است یا نه . برای مثال سیستم پست نامه را میتوان نام برد.

3-       عملیات بلوک کردن :وقتی انجام میشود و نتیجه را باز می گرداند که عملیات تکمیل شده باشد.

4-     عملیات بدون بلوک کردن : در این حالت عملیات  شروع شده و معلوم نیست چه زمانی خاتمه می یابد.به عبارتی برای اطمینان از انجام عملیات باید تست انجام شود.برای مثال سمافور در سیستم عامل اینچنین است .

با توجه به مطالب فوق می توان دریافت که ارسال سنکرون Blocking و ارسال آسنکرون Non blocking است .

در مقابل ارتباطات گروهی قادر هستند که عملیات زیر را انجام دهند :

1-       میتوان از آنها بعنوان ارتباطات نقطه به نقطه  استفاده نمود.

2-       امکان انجام پردازشهای سنکرون ( Barrier) را دارد .

3-       قابلیت انجام ارتباطات یک به چند ( Broadcast ) را دارد.

4-       قابلیت انجام عملیات Reduction بدین معنی که ترکیب داده از پردازنده های متعدد  برای تولید نتیجه نهایی و بر آیند.

 

همانطور که اشاره شده MPI یک زبان نیست بلکه یک کتابخانه از توابع به منظور نوشتن برنامه های  موازی است و می بایست هدر فایلهای آن را در سورس برنامه معرفی نمود.فرمت توابع MPI  که بهنگام برنامه نویسی بکار گرفته میشود بصورت زیر است :

MPI_Xxxxx(parameter,…);

 

عمده توابعی که در برنامه استفاده شده است تقریبا" مشابه برنامه محاسبه عدد P می باشد.با این تفاوت که در این جا عملیات ضرب ماتریس انجام میشود. به منظور تمایز پروسس های مختلف اولین روتین که بکار می رود  MPI_Initاست .این روتین یک گروه یا Communicator ایجاد می کند و به تمام پردازنده هایی که در یک گروه هستند شماره ای اختصاص می دهد.به این شماره اصطلاحا" Rankگفته میشود.بصورت پیش فرض Masterشماره Rank صفر را می گیرد و بقیه پردازندهها به ترتیب شماره گذاری میشوند.در واقع Rank به پروسه IDاست .

الگوریتم کار  بدین صورت است که بعد از تعریف متعیرها ی مورد نیاز ،زمان شروع برنامه را ثبت می کنیم سپس برای نمایش شماره و نام ماشین پردازش گر از فرمان Fprintf استفاده کرده ایم که در واقع MyID و processor name را بر می گرداند.سپس تعداد سطر و ستون ماتریس مورد نظر را تعریف می کنیم .این مقادیر ثابت می باشند و انجام تغییرات آن منوط به دستکاری در سورس برنامه است.در واقع دو ماتریس 1000 در  1000 در  این برنامه  در  هم ضرب شده اند .که بصورت ریاضی بصورت 1000*1000*1000 تعریف میشود. در ادامه بعد از تخصیص حافظه مورد نیاز ماتریسها را بصورت تصادفی مقدار دهی می کنیم و در بخش آخر عملیات ضرب ماتریسها انجام میشود.برای این منظور ابتدا توسط تابع  MPI_Bcast اندازه  هر یک  از ماتریسها  برای بقیه گره ها معرفی می کنیم . در واقع در شرط اول فقط اطلاعات ماتریس ها برای ID صفر و رد شرط دوم اطلاعات مورد نیاز سایر گره ها مشخص میشود.در بخش عمل ضرب ماتریسها بدین صورت انجام میشود هر پروسس یک سطر از ماتریس را در کل ماتریس بعدضرب می کند .در این جا نتایج خروجی توسط تابع Printf چاپ نشده است و تنها زمان محاسبه وپردازش  چاپ گردیده است .

      سورس برنامه به پیوست تقدیم شده است ( برنامه و توضیحات روی CD نیز وجود دارد). برای       درک بیشتر برنامه توابعی که در  بکار رفته است را در ادامه به تفکیک شرح می دهیم :

1- MPI_Comm_Rank  : این تابع شماره Rank را بر می گرداند .برای مثال روی Master شماره صفر را میدهد .

2-       MPI_Comm_size : این تابع سایز گروه در Communicator را بر می گرداند به عبارتی تعداد پروسه هایی که در گروه وجود دارند را می دهد.

3-     MPI_Send : این تابع که به ارسال استاندارد مشهور است و مهم آنستکه که عملیات ارسال تکمیل شده باشد.به عبارتی زمانی کامل میشود که پیام ارسال شده باشد و از نوع Blocking  است .

4-       MPI_Recv : در تابع دریافت استاندارد  بااجرای Send ،طرف گیرنده ،بهنگام اجرای  Receive یک پیام به فرستنده ارسال می کند .

5-       MPI_Wtime : این تابع Wall clock رابر می گرداند .هر وقت بخواهیم زمان را اندازه گیری کنیم این تابع را بعد از Send  و بعد از Receive  صدا می زنیم .

6-       MPI_Bcast :از این تابع برای ارسال یک به چند استفاده می کنیم .به عبارتی از گره ریشه پیام را به یک سری از زیر گره های  ارسال می کنیم .

7-       MPI_Reduce : این تابع وظیفه ارسال نتایج حاصل از پردازش زیرگره ها را به گره ریشه را دارد.

8-       MPI_Barrier :از این تابع برای سنکرون کردن گره ها استفاده میشود. به عبارتی منتظر می ماند  تا الباقی گره ها نتایج را ارسال نمایند .

این برنامه در یک محیط شبکه Workgroup با 5 سیستم اجرا شده است . مشخصات این سیستم ها طبق جدول زیر است .

نام ماشین

نوع پردازنده

میزان حافظه اصلی

Laptop

1.6 centrino

512MB DDR

Hossini

1.83 dual core napa

512 MB DDR2/533

Hasani

3000 full cache LGA

512 MB DDR2/677

Ruhi

3000 full cache LGA

512 MB DDR2/677

Sabser(Server HP ML370)

Dual Xeon 3.6 2MB L2

2GB DDR2/677 ECC

 

همانطور که از جدول فوق پیداست  این 5 سیستم برای اجرای ماتریس 1000*1000 در نظر گرفته شده اند.همانطور که از نتایج خروجی و نمودار پیداست .با اجرای مرحله به مرحله برنامه زمان اجرای پردازش ثبت شده است .برای اینکه بتوانیم برنامه ها را بصورت موازی اجرا نمامیم می بایست در ابتدا MPICHرا در تمامی ماشینها نصب کنیم .بعد از نصب برای اینکه تمامی سیستم ها با هم کار کنند اولا یک کاربر مشترک با رمز عبور یکسان باید تعریف گردد و ثانیا در صورتیکه Firewall روی کارت شبکه سیستم فعال است باید غیر فعال گردد.در مرحله بعد با کاربر و رمزی که برای آن تعریف کرده ایم MPI registerرا اجرا می کنیم تا رجیستر گردد.سپس فایل کمپایل شده (فایل اجرایی برنامه ) در تمامی کامپیوترهای شبکه در یک پوشه که نام آن در تمامی سیستم ها یکسان است و به اشتراک گذاشته شده کپی می کنیم سپس از طریق MPIch Configure tool. لیست ماشینهای شبکه را اضافه می کنیم و برنامه را در ماشین Master اجرا می کینم در اولین مرحله با 1 ماشین بیشترین زمان انجام محاسبه ثبت شده است .با افزایش تعداد پردازنده ها تا 5 عدد کاملا" زمان پردازش بهینه شده و در کمترین مقدار خود قرار گرفته است .اما با زیاد کردن تعداد ماشین ها چون هر ماشین ممکن بوده است بیشتر از یک عمل را انجام دهد به علت وجود پروسه های مختلف برای تقسیم کار و همچنین به علت وجود سربار در ارتباطات زمان انجام پردازش سیر صعودی به خود میگیرد.همچنین نمودار نشان می دهد که همیشه با افزایش تعداد پردازنده ها زمان  پردازش افزایش نمی یابد و به علت وجود سربار سیستم بصورت None dedicate عمل خواهد کرد.

 

 |+| نوشته شده در  یکشنبه سی و یکم تیر 1386ساعت 10:46 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

Oracle 10g  Available

 Grid Computing یکی از معماری‌های جدید Computing  است. این معماری انجام محاسبات و سرویس دهی به جای استفاده از ابر کامپیوترها با فضاهای دیسک بالا و مقادیر زیادی از حافظه که خود مستلزم صرف هزینه های بالا‌ جهت خرید و نگهداری آنها است، می‌توان از کامپیوترهایی با پردازشگرها و هارد دیسک‌های معمولی و با تجهیزات عادی با هزینه‌هایی بسیار ارزان‌تر در تعداد بیشتر استفاده کرد. در نهایت، می توان این دستگاه‌ها را با ساختاری مناسب تبدیل به واحدی برای پردازش اطلاعات کرد. حتی در روشComputing  امکان استفاده از سیستم‌ عامل های متفاوت وجود دارد و مهم تر از همه آنکه انعطاف‌پذیری در تعویض هر کدام از اجزای اینGrid  موجب ایجاد هیچ گونه خللی در سرویس دادن به کاربران نمی‌شود.
 
ORACLE 10gتوسط محیطEnterprise  خود، امکان دادن سرویس‌های گسترده‌ای را روی محیطGrid  فراهم آورده است. این تکنولوژی باعث کاهش هزینه‌های مرتبط در قسمت تکنولوژی فناوری اطلاعات شده است به طوری که با هر هزینه‌ای امکان استفاده از معماریGrid  وجود دارد. یکی از رقابت‌های موجود در بین پیاده‌سازی ساختارهای Grid توسط شرکت ها در فناوری‌اطلاعات، پیش‌بینیDowntime  های پایگاه داده و ارایه راه‌حل‌های متفاوت بسته به —نوع مشکل به وجود آمده —با استفاده از تکنولوژیGrid Computing است.
ORACLE 10g
با توجه به تقسیم‌بندی عواملی که باعث در دسترس نبودن یک پایگاه داده می‌شود راه‌حل‌های متفاوتی را ارایه کرده است.

Unplanned Downtime -1

مواردی که نمی‌توان کنترلی بر رویDown   بودن یک سیستم داشت، به عنوانUnplanned Downtime  شناخته می‌شوند.

1-1- Computer Failures:

از دلایلی که به طور ناخواسته سیستم و یا پایگاه داده را خارج از سرویس دهی می‌کند، مشکلاتی است که برای سخت افزار به وجود می‌آیدORACLE 10g . راه‌حلی را که برای این نوع خطا ارایه می‌دهد استفاده از

Fast Database Recovery وReal Application Cluster  است.

1-1-1- Real Application Cluster

در بحثClustering ، اوراکل قابلیت نصب به روی چند سیستم با معماری‌های متفاوت را دارد، در حالیکه تمام آنها به یکsingle shared database  دسترسی دارند و این مساله از دید کاربران سیستم وApplication  هایی که باDatabase  کار می‌کنند پنهان است و همه آنها چند سیستم را در قالب یکUnified Systemm می‌بینند. حسنClustring  در این است که بسته به بالا رفتنload  سیستم، امکان اضافه کردنnode  جدید بدون نیاز به جایگزین کردن کل پایگاه داده با یک مقیاس بزرگ تر وجود دارد. وجود دیسک‌های آرایه‌ای قدرت بیشتری به ORACLE 10g  جهت پیاده‌سازی Real Application Cluster   بخشیده است. در تکنولوژیApplication Clustering  به وجودآمدن مشکل برای یکی ازnode  های سیستم هیچ مانعی برای ادامه کار سایرnode ها به وجودنخواهد آورد و سایرnode  ها از در دسترس نبودنnode  مشکل دار، به سرعت آگاه خواهند شد و این آگاهی درORACLE 10g  در چند لحظه کوتاه مشخص خواهد شد و دیگر نیازی بهtime ou t  مربوط به پروتکلTCP/IP  نخواهد بود.

2-1-1- Fast Database Recovery :

Fast Database Recovery از امکانات دیگر اوراکل در مورد خطاهای ناشی از سخت افزار مانندcrash  کردن سیستم عامل است. که با بهینه‌سازی که درORACLE 10g  صورت گرفته، پایگاه داده به صورت اتوماتیک تعداد دفعات عملیاتcheck point  را جهتstartup  شدن سیستم بعد از حالتcrash  در دفعه بعد محاسبه خواهد کرد. به طوری که درORACLE 10g  سیستم به جای دقیقه‌ها انتظار برای در دسترس بودن برای کاربران ظرف چند ثانیه قادر به سرویس دادن مجدد خواهد بود.

2-1- Data Failure :

مواردی که باعث از بین رفتن اطلاعات مربوط به کاربران می‌شوند متفاوت است و می‌توان علت آن را در Storage hardware   ،  Human error ،Corruption  وSite Failure  جست وجو کرد.

1-2-1- Storage Hardware:

 Automatic Storage Management که به اختصارASM  نامیده می‌شود، ازVolume Manager های قوی مربوط بهDatabase ORACLE 10g  است که بدون نیاز به نصب نرم‌افزار جدید و یا تهیه سخت افزاری خاص به صورت مستقیم باKernel Oracle  کار می‌کند. این‌Volume Manager امکان پخش کردن همه فایل ها به رویStorage های متفاوت و همچنین امکان(Stripe Aَnd Mirror Everything) SAME  که نوعیmirroring  است را نیز فراهم می‌آورد کهDBA  را قادر به مدیریتStorage  های پایگاه داده خود به صورت ساده می‌کند.

2-2-1- Human Error:

برای رفع مشکل کاربرانی که اطلاعات خود را به صورت ناگهانی و ناخواسته توسط خودشان از دست می‌دهند،ORACLE 10g  راه حلی را با نام تکنولوژی Flash Back ارایه کرده است. این تکنولوژی ازOracle 9i  وجود داشته است ولی در نسخه01g  امکانات بیشتری به آن اضافه شده است.

از جمله می‌توان به:

    Flashback ,Transaction Query,

   Flashback  Versions  Query

Flashback   Database,

اشاره کرد که بسته به حالت های مختلف حتی یک کاربر بدون مراجعه بهDBA  این امکان را برای خود فراهم می‌کند که اطلاعات از دست رفته خود را باز گرداند بدون اینکه نیاز به ایجاد وقفه در کار کاربران دیگر و همچنینDown  کردن پایگاه داده جهت برگرداندن نسخه پشتیبان باشد.

تکنولوژی که در Flashback  استفاده می‌شود، نوعی گرفتنContinuous Backup  یا Storage Snapshot توسط خودDatabase Oracle  است که باعث می‌شودRecovery  یک پایگاه داده01g  از ساعت ها و روزها به چند دقیقه تقلیل پیدا کند.

3-2-1- Data Corruption:

Data corruption زمانی به وجودمی‌آید که یک دستورI /O  از طرف پایگاه داده جهت دسترسی به یک رکورد داده می‌شود ولی آدرس مقصد برای دسترسی به اطلاعات که توسط سیستم عامل بهDatabase Oracle  داده می‌شود اشتباه استOracle Hardware Assisted Resilient Data (HARD)  برنامه‌ای است که قبل از رجوع به نقطه‌ای از هارد دیسک جهت بازیابی اطلاعات با الگوریتم خاص مسیرdata  ذخیره شده روی دیسک توسط پایگاه داده را ارزیابی می‌کند و از صحت مسیر اطمینان حاصل می‌کند تا از به وجودآمدن مشکل فوق جلوگیری کند.

4-2-1- Site Failures :

از جمله مشکلاتی که پایگاه داده را در مقیاسی بزرگ تر غیر قابل دسترسی می‌کند، می‌توان به بلایای طبیعی از جمله زلزله و سیل اشاره کرد که باعث از دست رفتن اطلاعات می‌شوند که جهت رفع مشکلoracle  امکانData Guard  خود را به عنوان یک راه‌حل ارایه می‌دهد که در واقع نوعیStandby copy  از پایگاه داده می‌شود که این امکان را برایDatabase Administrator  فراهم می‌آورد که نسخه کپی را در مکانی خارج از سایت و پایگاه داده اصلی آن سوی دنیا پیاده‌سازی کند. در این روش کلیه تغییراتی که بر روی پایگاه داده اصلی انجام می‌شود ، یک نسخه از آن به رویStandby Database  کپی می‌شود، تا هنگام بروز مشکل برای پایگاه داده اصلی، پایگاه دادهStandby Database  جایگزین آن شود بدون کمترین مقدار در از دست دادن اطلاعات.

Pianned Down Time -2

تغییراتی که در جهت ارتقای سیستم ها و یا موارد عملیاتی مانند تهیه نسخه پشتیبان و مدیریت بهینه سیستم هستند، جز زمان های در دسترس نبودن پایگاه داده به صورت قابل پیش‌بینی به حساب می‌آیند. از جمله بهData Changes  وSystem Changes  می‌توان اشاره کرد که برای حالت Data Changes ‌می‌توان به امکاناتPARTITION TABLE  و ساختنINDEX  اشاره کرد که وجود این امکانات باعث افزایش مدیریت بهتر حافظه و بالا رفتن سرعت می‌شودSystem Changes . از موارد دیگری است که به عنوانPlanned Down Time  به حساب می‌آید. در این حالت پایگاه داده برای اضافه کردن و یا حذف کردن سخت‌افزار در دسترس نخواهد بود کهORACLE 10g  از امکاناتی به نامDynamic Resource Provisioning  استفاده می‌کند و عملیاتی از جمله اضافه کردن و یا کم کردن پردازشگر را بهSMP Server  فراهم می‌کند و یا اضافه کردن و یا کم کردنnode  به Real Application Cluster  و حذف و اضافه هارددیسک بدون ایجاد و اختلال در فعالیت پایگاه داده را انجام می دهد.

 |+| نوشته شده در  یکشنبه سی و یکم تیر 1386ساعت 9:37 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
گزارش انتشار نهایی: Rocks Cluster Distribution 4.2.1

RocksCluster

نسخه به‌روز شده جدیدی از Rocks Cluster Distribution منتشر شد. این نسخه برای معماری‌های i386 و x86_64 منتشر شده است. این نسخه تعدادی از اشکالات فنی نسخه 4.2 را برطرف می‌نماید. در این نسخه حداقل حافظه مورد نیاز برای گره‌های پردازشی به ۵۱۲ مگابایت کاهش یافته است. برای اطلاعات دقیق‌تر اینجا را ببینید. برای دریافت به اینجا مراجعه نمایید.


 |+| نوشته شده در  شنبه سی ام تیر 1386ساعت 8:31 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
بزرگترين كامپيوتر دنيا با اينترنت دو
 
 
با ورود فن آوري جديد Grid يا اينترنت2 به عرصه ارتباطات ، اينترنت ديگر وسيله اي نخواهد بود كه صرفا به كار ارسال ايميل و يا داشتن وب سايت خلاصه بيايد.

با ايجاد امكان استفاده ازمنابع سخت افزاري ساير كامپيوتر‌ها ، رايانه خانگي را به ابر قدرتي بي رقيب مبدل خواهد كرد.

اين سيستم در واقع مجموعه اي ازنرم افزارها، سخت افزارها و جريان‌هاي اطلاع‌رساني است كه به كاربر امكان استفاده كامل و همزمان از بانكهاي اطلاعاتي پراكنده را مي‌دهد.

كافيست با دانلود كردن يك محافظ نمايشگر مخصوص به‌ كامپيوترهاي شخصي خود اجازه دهيم كه وقتي از آن استفاده نمي‌كنيم، به ‌شبكه جهاني متصل شود و به ‌سيستم‌هاي بزرگ تحقيقاتي اجازه دهد از منابع آزاد و بلااستفاده سيستم آن استفاده كنند.

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

تكنولوژي Grid كه در سال 1996 اولين گام‌هاي آن درجهت اينترنت نسل بعد برداشته شد حاصل تلاش دسته جمعي دولت آمريكا، دانشگاه‌ها و مراكزعلمي و نيز شركت‌هاي خصوصي نظير لوسنت، سيسكو و لورتل است.

اين پديده با برخورداري از بهترين و سريع ترين امكانات جست‌و‌جو ، سرعت بسيار بالا و داشتن امكانات قوي براي هر نوع تحقيق علمي جايگزين به حق اينترنت در پنج سال آينده خواهد بود.

از سال 1996 گريدها ارتباطات بسيار سريعي  را ميان دانشكده‌ها، مراكز آموزشي، صنعتي و دولتي به منظور ايجاد قابليت عظيم شبكه اي جهت پژوهش و توسعه  ، امكان آزمودن محصولات فيبري و روترها و ايجاد سرويس‌هاي جديد شبكه و نرم افزارهاي مربوط به اينترنت استاندارد فعلي فراهم كرده‌اند.

 ايجاد ارتباط دوسويه از راه دور از جمله ويژگي‌هاي كليدي اين فناوريست كه آن را به يك رسانه آموزشي قدرتمند تبديل كرده است.

اين ويژگي منحصر بفرد، كارايي بسيار بالايي را  براي  سازمان ها و موسسات تحقيقاتي، سازمانهاي انرژي اتمي، بخش‌هاي مرتبط با فيزيك ، شيمي و زيست شناسي بهمراه داشته است.

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

سه نوع اصلي اين پديده تكنولوژيك عبارتند از:

الف -  گريدهاي اطلاعاتي
ب - گريدهاي جوينده منابع
پ - گريدهاي محاسباتي

گريدهاي اطلاعاتي يا Data Grid كار ذخيره‌سازي اطلا‌عات  و سپس ارائه آن به  كاربران را بعهده دارند.كاربران اين سيستم‌ها بدون آگاهي از موقعيت جغرافيايي و مكاني اين اطلاعات ، قابليت دسترسي به آن را دارند.

فرض كنيد دو دانشگاه در دو سوي دنيا  روي يك مطلب علمي ‌مشترك تحقيق مي‌كنند . هر يك از آن‌ها اطلاعات خاص خود را ذخيره و قابليت دسترسي يكديگر را به ‌برخي از ‌اين اطلاعات (نه تمامي‌آن) فراهم مي‌كنند.. اين دانشگاه‌ها مي‌توانند از يك Data Grid استفاده و اطلاعات خود را با ضريب امنيتي بالايي با هم به‌اشتراك بگذارند.

در اين نوع گريد دستگاه‌هاي متصل به‌سيستم نياز به‌قدرت زياد ندارند و فقط مسئول به ‌اشتراك گذاشتن اطلاعات هستند. اما گريد ‌هاي محاسباتي يا Computational Grid از آن جا كه نياز زيادي به ‌قدرت پردازنده‌ها دارند، بايد از ماشين‌هايي با قدرت بسيار بالا
استفاده كنند.

سيستم‌هاي جوينده منابع يا Scavenging Grid نيز نوع ديگري از گريد است كه به ‌صورت مداوم به‌دنبال ظرفيت‌ها، منابع آزاد و چرخه پردازنده (CPU Cycle) كامپيوترهاي متصل به گريد است تا از اين منابع با كسب اجازه قبلي صاحبان اين كامپيوترهاي شخصي ، استفاده بهينه كند.

با استفاده از Grid Computing در يك سازمان يا موسسه بزرگ مي‌توان از منابع بلا‌استفاده كامپيوترهاي سازمان استفاده مطلوبي داشت و در عين حال سرعت پردازش اطلاعات در سيستم‌هايي كه با كمبود حافظه مواجهند را جبران نمود. از طرف ديگر، سرعت نرم‌افزارهايي كه از اين منبع بزرگ سخت‌افزاري استفاده مي‌كنند، بسيار بالا خواهد بود و درنتيجه مي‌توانيم نرم‌افزارهايي با قابليت‌هاي بالاتر فراهم و منابع بيشتري.  را در اختيار استفاده‌كنندگان قرار دهيم.

گريدهاي محاسباتي مزاياي زيادي براي مديران و برنامه‌نويسان به همراه دارد. آنان  با دسترسي آسانتر به اطلاعات قادر به اجراي برنامه‌هايي خواهند شد كه نياز به ‌حافظه زيادي دارد .

‌سازمان‌ها و شركت‌هاي بزرگي كه دربخش IT  سرمايه گذاري قابل توجهي كرده‌اند نيز حداكثراستفاده را از  سيستم هاي خود بكار خواهند گرفت.

يكي از قدرتمند‌ترين ابزارهاي ايجاد، كنترل و مديريت سيستم‌هاي گريد ، ابزار Globus است. اين پروژه كه از سال 2003 بصورت عملي در آمد حاصل تلاش مشترك محققان و برنامه‌نويسان گريد در سراسر دنياست. امنيت، مديريت منابع و مديريت دقيق اطلاعات از جمله خدمات اصلي اين ابزار است.

چنانچه نرم‌افزار يا مجموعه‌اي از نرم‌افزارها بخواهند از گريد استفاده كنند، مسئله به‌اشتراك گذاشتن اطلاعات، تكه تكه كردن اين اطلاعات، ‌انتقال آن با امنيت كامل و مديريت اين اطلاعات كار دشوار و حائز اهميتي است.

درواقع كاربر گريد فقط اطلاعاتي را وارد مي‌كند و نمي‌داند در داخل سيستم چه مي‌گذرد. در نتيجه اين سيستم‌ها بايد طوري اين كار را انجام دهند كه كاربران بدون نگراني از انتشار اطلاعات سري خود  يا بروز اشتباه در محاسبات ، به آن اعتماد كنند.

همچنين آنان بايد از دسترسي به‌منابع خود در سيستم اطلاع حاصل كنند و بدانند كدام كاربر به ‌اطلاعات آن‌ها دسترسي دارد. سرعت اين سيستم‌ها نيز نكته حائز اهميت ديگر است. اگر سيستم‌هاي گريد از سرعت كافي برخوردار نباشد، بدون شك دلسردي كاربران را به همراه خواهد داشت.

در مجموع  به نظر مي‌رسد دانشگاهها تنها واجدين شرايط براي تعيين اهداف اينترنت2 يا Grid technology هستند، چراكه آنها هم متقاضي انواع كاربردهاي آن و هم تامين كننده افراد مستعد براي اين پروژه هستند.

ماموريت‌هاي تحقيقاتي و آموزشي دانشگاه‌ها بطور روزافزون نيازمند تشريك مساعي پرسنل و سخت افزارهايي است كه در سراسر كشور پراكنده‌اند و اين دقيقا همان وظيفه‌اي است كه كاربردهاي اينترنت2 بدنبال آن است.

در عين حال افراد مستعد و متخصص در زمينه كامپيوتر و شبكه در دانشگاه‌هاي عضو اينترنت 2 بسيارزيادند. دانشگاهها در واقع تاريخ طولاني مدتي در توسعه شبكه‌هاي تحقيقاتي پيشرفته و به كار گماري آن‌ها داشته اند. بطوريكه تركيب نيازها و منابع،  مجموعه كاملي را براي توسعه نسل جديد قابليت‌هاي اينترنت فراهم كرده است.

در حال حاضر بنياد ملي علوم آمريكا صاحب يكي از بزرگترين رايانه‌هاي شبكه اي دنيا به نام  Teragrid است‌.

بنياد مذكور اخيرا با اختصاص بودجه‌اي معادل 150 ميليون دلار عمر كاري اين ابر رايانه را 5 سال ديگر تمديد كرده است. تراگريد از بهم پيوستن 16 ابررايانه در سراسر آمريكا ايجاد و قادر است 50 تريليون محاسبه را در هر ثانيه انجام دهد.

دانشمندان از اين ابررايانه درعلوم پزشكي، شبيه سازي نحوه تا خوردن و خم شدن مولكولهاي پروتئين؛ پيش‌بيني زمين لرزه و نيز تغييرات اوضاع جوي استفاده مي‌كنند.

پروژه ديگر SETI@home) Search for Extra Terrestrial Intelligence) به معناي جستجو براي يافتن هوش فرازميني است كه از سال 1999 شروع و تا زمان دسترسي به اهداف خود يعني پيدايش نشانه‌هاي موجودات فرازميني ادامه خواهد يافت.

در اين پروژه حدود 4/5 ميليون كامپيوتر از سراسر دنيا به هم پيوسته اند و به اين ترتيب بزرگترين ابركامپيوتر و نيز بزرگترين پروژه Grid Computing  جهان را تشكيل داده‌اند.

سرعت كاري اين كامپيوتر 70 ترافلاپس(70 ميليارد عمليات مميز شناور در ثانيه) است. به گفته دكتر دن ورتيمر مدير پروژه SEREDID و دانشمند ارشد پروژه مذكور در مصاحبه اختصاصي با ماهنامه شبكه؛ براي مشاركت در پروژه ويافتن موجودات هوشمند فرازميني كافيست يك كامپيوتر در خانه، محل كار يا مدرسه كه به اينترنت هم متصل است داشته باشيد، با دريافت برنامه محافظ صفحه نمايش مخصوص پروژه كه از نشاني http://seti.berkeley.edu قابل دانلود است به خيل عظيم پردازش كنندگان اطلاعات پروژه SETI خواهيد پيوست.

در واقع با اجازه دارنده كامپيوتر و در زمانهاي بيكاري كامپيوتر داده ها به نام شما پردازش و به دانشگاه بركلي بازميگردد.. شايد شما نخستين كسي باشيد كه علائم مربوط به هوش فرازميني را يافته ايد!!

امروزه ، با آنكه امکاناتی برای ايجاد آرایه‌های کامپيوتری در سيستم عامل‌هايي چون Linux ازمدتها پيش درنظر گرفته شده است، اما شرکت‌هايي مانند مايكروسافت و اوراكل بتازگي ضرورت روی آوردن به اينگونه فن‌آوری‌ها را احساس کرده‌اند ! مايكروسافت  در Windows Server 2003 امکاناتی برای Cluster سازی حداکثر 8 کامپيوتر را پيش‌بينی کرده است طبق آخرين اطلاعات، اوراكل پيش‌بينی کرده است طی 3 تا 5 سال آينده استفاده از تکنولوژی جديد آن شرکت در زمينه Grid Computing که به همراه Oracle 10g ارائه مي‌گردد کاملا رايج شود.

سخنگوي اين شرکت با شعار "10 برابر توانايي پردازشی با يک دهم هزينه" ، اعلام کرده است که انتظار ميرود در اين مدت نيمی از استفاده کنندگان اوراکل از فن آوری  Grid Computingاستفاده کنند.

از سوي ديگر شركت سان مايكروسيستمز تصميم دارد دوسرويس جديد خود يكي تبديل متن به صوت مناسب برا ي پادكستينگ و ديگري تبديل فايل‌هاي اطلاعاتي به فرمت open document را با استفاده از فناوري گريد به كاربران عرضه كند.

درحال حاضر در بسياري از محافل اطلاعاتي و مراكزIT كشور صحبت از محاسبات شبكه‌‏اي يا   Grid Computing است ؛ اما اين اصطلاح هنوز براي بسياري از كاربران ناشناخته باقي مانده است.

از آنجا كه به موجب آخرين آمارهاي منتشره در سايت ايسنا كاربران اينترنت در كشورما 4/39 درصد از كل كاربران خاورميانه را شامل مي‌شود  لازم است که  مديران IT به جای خريد و انبار کامپيوترهاي گران قيمت ، اندکی از زمان پرارزش خود را صرف مطالعه تکنولوژی‌های جديد كنند.

با توسعه اينترنت، نياز به سرويس دهنده‌های پرقدرت تر افزایش مي‌يابد به اين ترتيب استفاده از کامپيوترهای قوی و گرانقيمت الزاما بهترين راه‌ حل نيست.

فراموش نکنيم که Google با گريدي معادل 15000 کامپيوتر شخصی به مراجعه کنندگان خود سرويس مي‌دهد.

دوازدهمين كنفرانس بين المللي انجمن كامپيوتر ايران با هدف رشد و اعتلاي دانش كامپيوتر كه از تمامي محققين و دانش پژوهان اين حوزه براي ارائه آخرين دستاوردهاي تحقيقاتي و علمي خود در زمينه علوم كامپيوتر دعوت بعمل آورده بود قرار است با همكاري دانشگاه شهيد بهشتي تهران ، اول تاسوم اسفند ماه سال جاري در دانشكده برق و كامپيوتر دانشگاه شهيد بهشتي برگزار شود.

يكي از موضوعات مورد توجه در اين كنفرانس تكنولوژي Grid است ، بايد ديد دست اندركاران اين حوزه تا چه ميزان مراكز علمي و پژوهشي كشور را آگاه و مجهز به اين امكان خواهند كرد.

 www.gridcomputing.com
 http://enwikipedia.org/wiki/gridcomputing  http://www.gridcomputingplanet.com/features/article.php/3396741
www.itiran.com/?type=article&id=6903
 http://www.teragrid.org/about

مرکز تحقیقات و مطالعات رسانه‌ای موسسه همشهري

 |+| نوشته شده در  شنبه سی ام تیر 1386ساعت 8:29 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
فناوري‌ Grid - انقلابي در فناوري اطلاعات كه به ‌وعده‌هاي اينترنت عمل مي‌كند!

 
ماهنامه شبکه - خرداد ۱۳۸۵ شماره 65

اشاره :

Grid Computing يا شبكه‌هاي متصل كامپيوتري مدل شبكه‌اي جديدي است كه با استفاده از پردازشگرهاي متصل به هم امكان انجام‌دادن عمليات‌ حجيم محاسباتي را ميسر مي‌سازد. Gridها در واقع از منابع كامپيوترهاي متصل به‌شبكه استفاده مي‌كنند و مي‌توانند با استفاده از برآيند نيروي اين منابع، محاسبات بسيار پيچيده را به‌راحتي انجام دهند. آن‌ها اين كار را با قطعه قطعه كردن اين عمليات و سپردن هر قطعه به‌كامپيوتري در شبكه انجام مي‌دهند. به عنوان مثال وقتي شما از كامپيوترتان براي مدتي استفاده نمي‌كنيد و كامپيوتر شما به‌ اصطلاح به‌وضعيت محافظ نمايشگر يا Screensaver مي‌رود، از پردازشگر كامپيوتر شما هيچ استفاده‌اي نمي‌شود. اما با استفاده از شبكه‌هاي Grid مي‌توان از حداكثر توانايي‌هاي پردازشگر‌ها استفاده نمود و برنامه‌اي را در كامپيوتر قرار داد كه وقتي از سيستم استفاده‌اي نمي‌شود، اين برنامه بتواند از نيروي بلااستفاده دستگاه بهره بگيرد و قسمتي از محاسبات بزرگ عملياتي را انجام دهد. در اين مقاله اين پديده در فناوري اطلاعات مورد بحث قرار مي‌گيرد و اهميت استفاده از اين فناوري، پيچيدگي‌ها، اجزاي تشكيل دهنده و استانداردهاي اين مدل بررسي مي‌شود و نشان داده خواهد شد كه با استفاده از اين مدل چگونه در وقت و زمان شما صرفه‌جويي مي‌شود. گفتني است در حال حاضر بزرگ‌ترين شبكه Grid جهان در خدمت پروژه SETI@home براي يافتن حيات هوشمند فرازميني قرار دارد. در شماره 55 ماهنامه شبكه مصاحبه‌اي اختصاصي با دكتر دان ورتيمر، دانشمند ارشد اين پروژه توسط سردبير ماهنامه انجام شده‌بود.


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

Grid computing چيست ؟
حدود 33 سال از به ‌وجود آمدن اينترنت مي‌گذرد و از سال 1989 كه وب پديد آمد، بيشتر مردم از آن استفاده مي‌كنند و به‌صورت بخشي از زندگي ايشان در آمده است. شايد علت اين استفاده زياد از اينترنت، استاندارد باز آن بوده است كه امكان ارتباط كامپيوترهاي مختلف را با يكديگر مهيا مي‌سازد. با استفاده از اينترنت مي‌توانيد از هر كامپيوتري كه به‌آن متصل است، ايميل بفرستيد و شخصي در آن طرف دنيا با كامپيوتري كاملاً متفاوت با كامپيوتر شما، آن ايميل را به ‌راحتي بخواند و به ‌شما ايميل ديگري بفرستد. امروزه تقريباً تمامي ‌شركت‌ها و سازمان‌هاي بزرگ، براي تبادل اطلاعات و فرستادن ايميل به‌مشتريان خود از اينترنت استفاده مي‌كنند. پرسش اين است كه آيا به‌راستي امكاناتي كه اينترنت در اختيار ما قرار مي‌دهد، فقط در فرستادن ايميل و داشتن وب‌سايت خلاصه مي‌شود؟ آيا اينترنت امكان استفاده از منابع سخت‌افزاري سيستم‌هاي ديگر را نيز به‌ ما مي‌دهد؟ پس از اينترنت چه ابزار يا بستري خواهد آمد؟ 

امروزه فناوري جديدي به‌ نام Grid به ‌عرصه ارتباطات قدم نهاده است كه براساس آن با دانلودكردن يك محافظ نمايشگر مخصوص مي‌توانيم به‌كامپيوترهاي شخصي خود اجازه دهيم كه وقتي از آن استفاده نمي‌كنيم، به ‌شبكه جهاني متصل شوند و به ‌سيستم‌هاي بزرگ تحقيقاتي اجازه دهند از منابع آزاد و بلااستفاده سيستم ما استفاده نمايد. كامپيوترهاي امروزي مانند مغز انسان معمولا از بخش كوچكي از توانايي‌هاي خود استفاده مي‌كنند و اغلب به‌ صورت غيرفعالند و منتظر اطلاعات ورودي مي‌مانند. تصور كنيد كه اگر از منابع سخت‌افزاري اين همه كامپيوتر غيرفعال استفاده شود و همه در يك كامپيوتر جمع شود، چه دستگاه پرقدرتي خواهيم داشت. Grid Computing با ‌كمك به اينترنت زمينه‌اي را فراهم آورده است كه بتوان با استفاده از آن، از منابع سخت‌افزاري سيستم‌هاي ديگر نيز استفاده نماييم.

ممكن است Grid براي افراد مختلف معاني متفاوتي داشته باشد، اما اگر بخواهيم تعريف ساده‌اي از آن داشته باشيم، مي‌توانيم بگوييم Grid Computing در واقع به‌شما اجازه مي‌دهد با استفاده از منابع سيستم‌هاي متصل به‌ شبكه و  ايجاد يك منبع بزرگ از سرويس‌ها و امكانات اين سيستم‌ها، مركزي بزرگ و قدرتمند به‌ وجود آوريم كه توانايي انجام‌دادن عمليات بسيار پيچيده‌اي را داشته باشد كه يك سيستم به‌تنهايي نمي‌تواند انجام دهد. به‌نحوي كه از ديد استفاده‌كنندگان اين سيستم‌هاي بزرگ، اين عمليات تنها از طريق يك سيستم انجام مي‌شود.

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

انواع Grid  
سيستم‌هاي Grid با توجه به‌ نيازهاي كاربران مي‌توانند در انواع مختلف مورداستفاده قرار گيرند. اغلب اين سيستم‌ها بر اساس نوع كاري كه انجام مي‌دهند، طبقه بندي مي‌شوند. از سه نوع اصلي اين سيستم مي‌توان از Gridهاي اطلاعاتي، Gridهاي جوينده منابع و Grid‌هاي محاسباتي نام برد.

Gridهاي اطلاعاتي يا Data Grid موظفند اطلا‌عات را ذخيره كنند و آن‌ها را در اختيار كاربران قرار دهند. كاربران اين سيستم‌ها بدون آن‌كه از موقعيت جغرافيايي و مكاني اين اطلاعات آگاه باشند، به ‌اطلاعات دسترسي دارند. مثلاً تصور كنيد كه دو دانشگاه در دو سوي دنيا يكي در ايران و ديگري در انگلستان روي يك مطلب علمي‌مشترك تحقيق مي‌كنند و هر يك از آن‌ها اطلاعات خاص خود را ذخيره مي‌كند و مي‌خواهد دانشگاه ديگر نيز به ‌برخي از ‌اين اطلاعات (نه تمامي‌آن) دسترسي داشته باشد. اين دانشگاه‌ها مي‌توانند از يك Data Grid استفاده كنند و اطلاعات خود را با ضريب امنيتي بالايي با هم به‌اشتراك بگذارند.
 
در اين نوع Grid دستگاه‌هاي متصل به‌سيستم نياز به‌قدرت زياد ندارند و فقط مسئول به ‌اشتراك گذاشتن اطلاعات هستند. از طرف ديگر Grid ‌هاي محاسباتي يا Computational Grid از آن جا كه نياز زيادي به ‌قدرت پردازنده‌ها دارند، بايد از ماشين‌هايي با قدرت بسيار بالا استفاده نمايند.

يكي ديگر از انواع Gridها، سيستم‌هاي جوينده منابع يا Scavenging Grid است. اين سيستم‌ها از تعداد زيادي كامپيوتر شخصي استفاده مي‌كنند و به‌صورت مداوم به‌دنبال ظرفيت‌ها، منابع آزاد  و چرخه پردازنده (CPU cycle)   كامپيوتر‌هاي  متصل به ‌Grid هستند و از اين منابع استفاده مي‌نمايند. البته صاحبان اين كامپيوترهاي شخصي بايد قبلا‌ً اجازه استفاده از منابع بدون استفاده خود را بدهند.
 
اهميت Grid Computing  
تقريبا در همه سازمان‌ها و شركت‌هاي بزرگ تعدادي كامپيوتر بدون استفاده وجود دارد. مثلاً سرورهاي يونيكس از تقريباً ده تا بيست درصد از ظرفيت حقيقي خود استفاده مي‌كنند و كامپيوترهاي شخصي حدوداً از 95 درصد از ظرفيت خود اصلاً استفاده نمي‌كنند.  با استفاده از Grid Computing در يك سازمان يا شركت بزرگ مي‌توان از منابع بلا‌استفاده كامپيوترهاي سازمان  كمال استفاده را برد و سرعت پردازش اطلاعات در سيستم‌هايي كه با كمبود حافظه مواجهند را جبران نمود. از طرف ديگر، سرعت نرم‌افزارهايي كه از اين منبع بزرگ سخت‌افزاري استفاده مي‌كنند، بسيار بالاتر خواهد بود و در نتيجه مي‌توانيم به ‌فكر درست كردن نرم‌افزارهايي با قابليت‌هاي بالاتر باشيم و منابع بيشتري را در اختيار استفاده‌كنندگان قرار دهيم.

Grid Computing مي‌تواند مزاياي زيادي براي مديران و برنامه‌نويسان داشته باشد. مثلاً با آن مي‌توان  برنامه‌هايي كه نياز به‌حافظه زيادي دارند را اجرا نمود و به ‌اطلاعات، دسترسي آسان‌تري پيدا كرد. اصولا ًGrid Computingمي‌تواند به‌سازمان‌ها و شركت‌هاي بزرگي كه سرمايه هنگفتي را در IT هزينه كرده‌اند، كمك كند از سيستم‌هاي خود حداكثر استفاده را ببرند.

فناوري‌هاي Grid در واقع مي‌توانند از منابع و سيستم‌هاي غيرمتمركز پشتيباني كنند و امكان ارتباط سيستم‌ها را با هم فراهم ‌سازند. وقتي براي اولين بار فناوري Grid ابداع شد، هدف آن تنها  به‌اشتراك گذاشتن منابع سيستم و در اختيارداشتن سيستمي‌قدرتمند بود و به‌طور كلي بيشتر در اختيار مؤسسات تحقيقاتي قرار داشت. اما امروزه از Grid توقع بيش‌تري مي‌رود و اهميت بيشتري پيدا كرده است؛ به‌ويژه در تجارت الكترونيك و سيستم‌هاي تجاري غيرمتمركز و توزيع‌يافته. به‌ عنوان نمونه، مدل تجارت الكترونيك B2B را در نظر بگيريد كه دو مؤسسه تجاري اطلاعات خود را از طريق اينترنت با هم مبادله مي‌كنند. Grid نيز مي‌تواند كاري مشابه ‌را انجام دهد و دو يا چند سيستم تجاري را به‌هم مرتبط سازد. به‌طوري كه  بتوانند اطلاعات خود را به‌اشتراك بگذارند. فناوري Grid همچنين مي‌تواند راه‌حل مناسبي براي افزايش دسترسي، قابليت اطمينان و امنيت سيستم‌هاي غيرمتمركز نيز باشد.    

ابزار قدرتمند Globus 
يكي از قدرتمند‌ترين ابزارهاي ايجاد، كنترل و مديريت سيستم‌هاي Grid، ابزار Globus است. پروژه Globus حدود سال 2003 به‌صورت عملي درآمد. اين پروژه حاصل تلاش مشترك محققان و برنامه‌نويسان Grid در سرتاسر دنياست كه بر حول چهار محور بنا شده است: تحقيق، ابزارهاي نرم‌افزاري، آزمون و نرم‌افزار‌ها. اين ابزار در نسخه 2.2 خود خدمات بسياري به‌مديران سيستم‌هاي Grid ارائه مي‌كند كه   مي‌توان به امنيت، مديريت منابع و مديريت دقيق  اطلاعات اشاره كرد. Globus با در اختيار گذاشتن APIها و فايل‌هاي Header زبان C براي ساختن و كامپايل برنامه‌ها به ‌برنامه‌نويسان اجازه مي‌دهد سيستم‌هاي خود را به Grid متصل نمايند و به ‌مديران امكان مي‌دهد منابع متصل به Grid را به‌راحتي مديريت كنند.

اضافه براين، Globus با در اختيار گذاشتن Componentهايي مخصوص، كار مديران Grid را آسان‌تر مي‌كند. مثلاًGlobus يك ابزار بسيار كارا به‌نام Commodity Grid) COG) كه زبان‌هاي برنامه‌نويسي مانند Python، جاوا و فناوري‌هاي روز مانند سرويس‌هاي وب، كوربا و RMI را مي‌شناسد و مي‌تواند در دو بخش تهيه نرم‌افزارهاي سازگار با Grid و مديريت سيستم‌هاي Grid به ‌ما كمك كند. البته نسخه 2.2 ابزار Globus در برخي موارد ضعف‌هايي نيز دارد. اين نسخه از سرويس‌هايي مثل مديريت Life-Cycle يا چرخه زندگي نرم‌افزار و سيستم‌هاي ذخيره و بازيابي پشتيباني نمي‌كند. البته نسخه جديد Globus يعني نسخه 3 از آن جا كه سعي داشته است با معماري باز سرويس‌هاي Grid يا همان the Open Grid Services Architecture) OGSA) هم‌خواني داشته باشد، توانسته‌است بسياري از نقاط ضعف نسخه قبلي را رفع كند.

نگاهي به‌اجزاي Grid
اجزاي تشكيل دهنده grid عبارتند از:

- رابط كاربر

- اجزاي امنيت‌

- مديريت كنترل كار سيستم (Workload management)

 - زمانبند (Scheduler)

 - مديريت اطلاعات (Data Management)

 - مديريت منابع (Resource management)

در اين قسمت به‌صورت مختصر در مورد هر يك از اين اجزا توضيح داده مي‌شود. دسترسي به ‌اطلاعات در Grid   اهميت شاياني دارد و رابط كاربر يا User Interface اين مسئوليت مهم را عهده‌دار است. رابط كاربر مي‌تواند يا در برنامه‌اي كه كاربر از آن مستقيما استفاده مي‌كند يا در ابزارهاي  مديريتي Grid كه مورد استفاده مدير سيستم است، نقش ايفا كند. همانطور كه شما براي استفاده از برق فقط وسيله برقي خود را به ‌پريز برق متصل مي‌كنيد و لازم نيست از مكان منبع يا منابع اصلي اين قدرت اطلاعي داشته باشيد، استفاده كننده سيستم Grid نيز الزاماً نبايد از پيچيدگي‌هاي داخل اين سيستم‌ها مطلع باشد.  مثال ديگر اين‌كه، شما از مرورگر وب جهت استفاده از اينترنت استفاده مي‌كنيد؛ بدون اين‌كه از مكان سرور وب سايت اطلاعي داشته باشيد و تنها با وارد كردن آدرس سايت موردنظر، وب سايت آن در مرورگر نمايش داده مي‌شود. اينترفيس Grid نيز بايد مانند مرورگر باشد. يعني استفاده‌كننده Grid نيز از پيچيدگي‌هاي اين سيستم اطلاعاتي ندارد و فقط با ورود يك پارامتر ورودي، يك خروجي دريافت مي‌كند.  (شكل 1)

شکل1- سيستم‌هاي Gird از ديد استفاده کنندگان



كامپيوترها در Grid به ‌شبكه متصلند. اين سيستم‌ها همچنين مي‌توانند حاوي اطلاعات بسيار مهم و حساسي باشند. در نتيجه امنيت را مي‌توان يكي از مهم‌ترين اجزايي اين سيستم‌ها دانست كه خود حاوي اجزاي فرعي مانند احراز هويت (authentication)، اختيارات (authorization) و رمزدهي (encryption) است.

مثلاً ابزار Globus حاوي يك Component به‌ نام Grid Security Infrastructure) GSI) يا ساختار زير بنايي امنيت Grid است كه مسئوليت امنيت در محيط را برعهده دارد. GSI حاوي يك SSL باز است. در نتيجه وقتي يك استفاده كننده يك بار به‌صورت مجاز به‌ سيستم راه پيدا كرد، يك Proxy Certificate براي كاربر به‌ وجود مي‌آيد و براي آن كاربر در نظر گرفته مي‌شود. GSI در درگاه Grid قرار دارد. (شكل 2)

شكل2-  GSI در Gird 



استفاده كننده از يك سيستم Grid بايد از منابع موجود و قابل دسترس  در سيستم اطلاع داشته باشد. مديريت كنترل كار سيستم يا Workload Management مي‌تواند اين كار را به‌ راحتي انجام دهد. درخواست‌كننده سرويس مي‌تواند با ارتباط با اين قسمت از منابع آزاد سيستم، ظرفيت هر منبع و موقعيت آن‌ها اطلاع حاصل نمايد.  در سيستم‌هاي Grid كه توسط Globus هدايت مي‌شوند، زماني كه يك استفاده كننده شناسايي شد و برنامه موردنظر آن كاربر اجرا گرديد، با توجه به ‌نوع نرم‌افزار و پارامترهاي ورودي كاربر، سيستم Grid به‌دنبال منابع آزاد موجود در شبكه مي‌گردد.
 
اين وظيفه اغلب  به‌ عهده Broker ها است. Globus به‌صورت عادي، ‌Broker ندارند، اما از سرويس‌هايي مانند
Grid Information Service) GIS) و Monitoring and Discovery Service) MDS) را پشتيباني مي‌كنند كه به‌سيستم اطلاع مي‌دهند كدام منبع يا منابع قادرند منابع خود را در اختيار بگذارند. شكل 3 موقعيت اين سرويس‌ها را نمايش مي‌دهد.

شكل 3-  موقعيت سرويس‌هاي MDS در Gird 



يكي ديگر از اجزايي كه در سيستم‌هاي Grid بسيار اهميت دارد، زمانبند يا Scheduler است. در اين سيستم‌ها از آن جايي كه بايد هر كاري را كامپيوتر مشخصي به‌عهده بگيرد و هر كامپيوتر بايد مدت زماني را در اختيار Grid قرار دهد، سيستم نياز به‌ يك زمانبند دارد. اين زمانبند مي‌تواند بسيار ساده باشد، اما اكثر زمانبند‌ها بايد بتوانند كارها را اولويت‌بندي كنند و سيستم را كنترل نمايند. در ابزار Globus زمانبند‌هايي با قابليت بالا  وجود ندارند، اما تعدادي سازوكار زمانبند وجود دارد كه كار زمانبندهاي دقيق را تا حدي انجام مي‌دهد. شكل 4 موقعيت زمانبند‌ها را در Grid  نشان مي‌دهد.

شكل 4-  موقعيت زمانبند‌ها در Grid 


جزء ديگر Grid‌ها، مديريت اطلاعات اين سيستم‌ها است كه وظيفه ذخيره‌سازي اطلاعات را در سيستم  به عهده‌ دارد.  اين بخش وظيفه محافظت از اطلاعات و جابه‌جايي اين اطلاعات در تمامي‌دستگاه‌هاي متصل به ‌Grid را عهده‌دار است. جابه‌جايي و انتقال اطلاعات كار بسيار مشكلي است و اطلاعات بايد از كانالي مطمئن منتقل شود.

با استفاده از ابزار Globus و بخش مديريت اطلاعات اين ابزار، مي‌توان محيطي امن براي انتقال اين اطلاعات به ‌وجود آورد. اين قسمت از Globus به Grid Access to Secondary Storage) GASS) معروف است كه امكاناتي مانندGridFTP را دربردارد كه مانند FTP است، اما امكانات امنيتي مانند GSI را نيز دربرمي‌گيرد. در نتيجه وقتي يك كاربرProxy Certificate را داشته‌باشد، مي‌تواند از GridFTP جهت انتقال فايل‌ها استفاده كند؛ بدون آن كه نياز داشته باشد دوباره به‌ سيستم وارد شود. شكل 5 موقعيت GASS را در Grid نشان مي‌دهد.

شكل5- GASS در Gird



از ديگر بخش‌هاي مهم Grid، بخش مديريت منابع است كه به‌ Grid Resource Allocation Manager) GRAM) شهرت دارد. اين بخش وظايف هر دستگاه را مشخص مي‌كند و باعث هماهنگي دستگاه‌هاي متصل به ‌شبكه در انجام‌دادن امور محوله است. شكل 6 محل قرار گرفتن GRAM را نشان مي‌دهد.

شكل 6- بخش مديريت منابع در Grid



Grid از ديد برنامه نويسان

از ديد برنامه‌نويسان، Grid از سازمان‌هاي مجازي‌اي تشكيل شده است كه از پروتكل‌هاي مخصوصي براي ارتباط با هم استفاده مي‌كنند. اين پروتكل‌ها به ‌استفاده‌كنندگان Grid و برنامه‌ها اجازه مي‌دهند سرويس‌هاي خود را در محيطي كنترل شده و امن اجرا كنند. اين سازمان‌هاي مجازي مي‌توانند يك كامپيوتر شخصي، سروري قدرتمند يا كامپيوترهاي متصل به‌ شبكه باشند كه از آن جا كه پروتكل يكساني دارند، مي‌توانند با هم متصل باشند و از منابع يكديگر استفاده نمايند.

گروه جهاني Grid با ارائه معماري باز سرويس‌هاي Grid يا Open Grid Services Architecture) OGSA) و جمعآوري استانداردهاي باز، مانند زبان تعريف سرويس‌هاي وب يا Web Services Description Language) WSDL) توانسته است استانداردي آسان و در عين حال دقيق براي سيستم‌هاي Grid تعريف كند. از آن گذشته، OGSA از تجربيات به‌ دست آمده از پروژه‌هاي بزرگي مانند Globus نيز بهره‌مند است. شكل 7 ساختار معماري اين استاندارد را نشان مي‌دهد.

شکل 7- ساختار معماري باز سرويس هاي Grid


استانداردهاي باز و پروتكل‌هاي اين معماري راه توليد سرويس‌ها را نشان مي‌دهند. اين سرويس‌ها قلب Grid هستند و در واقع به ‌استفاده‌كننده اجازه مي‌دهند با Grid كار كند. اين سرويس‌ها عبارتند از:

- سرويس درخواست‌هاي پردازنده مركزي

- سرويس مديريت كنترل كار سيستم و sessionها

- سرويس جست‌وجوي اطلاعات

- سرويس تعيين پهناي باند شبكه‌

- سرويس مديريت اطلاعات‌

وقتي متخصصان Grid درباره شروع شدن يك سرويس صحبت مي‌كنند، مثلاً شروع شدن سرويس جست‌وجوي اطلاعات، منظور يك نمونه يا Instance سرويس است كه مي‌تواند تكاليف بلند مدت يا موقتي داشته باشد. اين سرويس‌ها مي‌توانند به‌صورت فعال يا غير فعال باشند و زمان فعاليت را مي‌توان با زمانبند يا به‌صورت اختياري تعيين نمود. ‌سرويسي خوب است كه بتواند به‌راحتي امكانات خود را در اختيار استفاده كننده قرار دهد. مثلاً وقتي يك وسيله الكترونيكي را به ‌پريز برق متصل مي‌كنيد، براي شما هيچ اهميتي ندارد كه برق مورد نيازتان از كجا مي‌آيد؛ فقط مي‌خواهيد از برق استفاده كنيد.

سرويس خوب Grid نيز سرويسي است كه بتواند سرويس موردنظر ‌استفاده‌كننده  را به‌راحتي دراختيار او قرار دهد و استفاده‌كننده بتواند به ‌سادگي از آن استفاده كند. مثلا سرويس بانك‌اطلاعاتي در Grid بايد به‌صورتي عمل كند كه استفاده كننده فقط يك جست‌وجو وارد كند و  جواب جست‌وجوي خود را بگيرد؛ بدون اين‌كه از جايگاه و عمليات بانك‌اطلاعاتي خبر داشته باشد.

پيچيدگي‌ها
اگر تصور مي‌كنيد سيستم‌هاي Grid پيچيده‌اند و ممكن است كار با آن‌ها مشكل باشد، كاملاً درست فكر مي‌كنيد. مثلاً سيستم‌هاي Grid بايد به‌سرعت قادر باشند منابع سيستم‌هاي متصل به‌آن‌ها را شناسايي كنند و در عين حال نبايد از سرعت و كارايي اين سيستم‌ها بكاهند. نكته بسيار مهم ديگري كه مشخصاً ارتباطي به ‌Grid ندارد ولي در اين سيستم‌ها تأثير‌گذار است، ساختن نرم‌افزارهايي است كه بتوانند با سيستم‌هاي Gird كار كنند.

امروزه بيشتر نرم‌افزارها مي‌توانند روي كامپيوتر‌هاي شخصي يا حتي سرور‌ها كار كنند.  يعني در واقع اين نرم‌افزارها از يك پردازنده مركزي استفاده مي‌كنند، اما در سيستم‌هاي Gird، ممكن است چند  پردازنده اين كار را به‌عهده بگيرند و چند سيستم با هم كار كنند. البته هر سيستم يك كار را انجام مي‌دهد. سپس نتايج محاسبات جمع مي‌شود و به ‌درخواست كننده سرويس برگشت داده مي‌شود.

وقتي يك نرم‌افزار يا مجموعه‌اي از نرم‌افزارها بخواهند از Grid استفاده كنند، مسئله به‌اشتراك گذاشتن اطلاعات، تكه تكه كردن اين اطلاعات، ‌انتقال آن با امنيت كامل و مديريت اين اطلاعات كار دشواري است و كاربر Grid فقط اطلاعاتي را وارد مي‌كند و نمي‌داند در داخل سيستم چه مي‌گذرد. در نتيجه اين سيستم‌ها بايد طوري اين كار را انجام دهند كه كاربران Grid بدون نگراني از انتشار اطلاعات سري خود يا بروز اشتباه در محاسبات، به ‌Grid اطمينان كنند.

امنيت سيستم‌هاي Grid نيز بسيار حائز اهميت است. كاربران اين سيستم‌ها بايد از دسترسي به‌منابع ايشان در سيستم اطلاع حاصل كنند و بدانند كدام كاربر به‌اطلاعات آن‌ها دسترسي دارد. اضافه بر اين، قابليت اطمينان و سرعت اين سيستم‌ها بسيار اهميت دارد. اگر سيستم‌هاي Grid از سرعت كافي برخوردار نباشد، كاربران Grid از استفاده از اين سيستم‌ها دلسرد مي‌شوند.
 
چگونه Grid بسازيم ؟
ممكن است پس از خواندن مطالبي كه تا اينجا گفته شد، به‌ اين فكر افتاده باشيد كه آيا مي‌توانيد خودتان يك Grid  بسازيد؟ البته كه مي‌توانيد! مي‌توانيد از نرم‌افزارهاي منبع آزاد يا اپن‌سورس استفاده كنيد و يك محيط Grid بسازيد. اولين قدم براي شروع، دانلود كردن ابزار Globus است. Globus همان‌طور كه قبلاً نيز بحث شد، ابزاري است قدرتمند براي ايجاد و مديريت محيط Grid.  همچنين،  به‌ سرويس‌هايي براي ساختن Grid نياز داريد كه شامل سرويس مديريت اطلاعات، سرويس پرس‌و‌جوي اطلاعات، درخواست‌كننده نيروي پردازشگر، زمانبند و سرويس تقسيم‌كننده پهناي‌باند ‌باشند. اين سرويس‌ها به‌سرويس‌هاي Grid معروفند و در واقع همان سرويس‌هاي وب هستند؛ البته با قابليت‌هاي بيشتر و مرتبط با Grid.  برخي از كامپيوترهاي شما كه به ‌شبكه Gird متصلند، ميزبان سرويس‌هاي Grid خواهند بود و كامپيوترهاي ديگر از اين سرويس‌ها استفاده مي‌كنند.

به علا‌وه، براي ساختن يك Grid به‌ابزارهايي نيز نياز خواهيد داشت: ابزارهاي زيربنايي مثل زمانبندها، ابزارهاي مديريت منابع، مديريت امنيتي و ابزارهاي انتقال فايل مانند GridFTP كه قبلاً توضيح داده شد. ابزار ديگري كه حتما به‌آن نياز خواهيد داشت، Grid Directory Services) GDS) است كه فهرست سرويس‌هاي آماده را در اختيار دارد. به‌علا‌وه، به ‌API‌هايي نيز نياز داريد كه برنامه‌هاي شما را با Grid هماهنگ سازند و به‌برنامه‌هاي شما امكان دهند در محيط Grid كار كنند. خواندن منابع زير نيز شما را در يادگيري بيشتر Grid Computing ياري مي‌نمايد:

www.gridcomputing.com/ingplanet.com

http://www.gridcomputingplanet.com/features/article.php/3396741

www-128.ibm.com/developerworks/grid/library/grfuture.html

     
 |+| نوشته شده در  شنبه سی ام تیر 1386ساعت 7:49 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
روزي آن‌ها را خواهيم يافت - گفتگوي اختصاصي با دانشمند ارشد پروژه SETI@Home

 
ماهنامه شبکه - تير ۱۳۸۴ شماره 55

اشاره :

گفتگوي اختصاصي ماهنامه شبكه با دانشمند ارشد پروژه SETI@Home درباره بزرگ ترين پروژه Grid Computing دنيا براي يافتن موجودات فرا زميني. نزديك به صد سال پيش، چيزي بيشتر يا كمتر، دو دانشمند به نام تسلا‌ و ماركوني، كار بر روي امواج راديويي را آغاز كردند و از حاصل كار آن‌ها، راديو پديد آمد. شايد از همان زمان بود كه كره زمين، ديگر از ديد ناظران بيروني، اگر باشند، به آن حدي از تكامل رسيد كه بتواند چيزي را به ماوراي جو بفرستد؛ امواجي كه نشانه‌هايي از تمدن را با خود داشتند. دير زماني پس از آن، كارل ساگان به اين انديشه درآمد كه اكنون، ديگراني كه موجودات فرازميني يا E.T مي‌خوانيمشان، مي‌توانند ما را ببينند، پس ما چرا چشم نگردانيم و در پي آنان نباشيم. آيا وسيله‌اي براي اين جستجو مهيا است؟ آرسيبو (Arecibo)، راديو تلسكوپي با قطر سيصد متر، در عمق دره‌اي در پورتوريكو، اين چشم زمينيان است، نگران به آسمان، حريص ديدن امواج كيهاني و مترصد يافتن نشانه‌‌اي ازE.T. اصطلاح “جستجو براي يافتن هوش فرازميني” يا Search for ExtraTerrestrial Intelligence كه به اختصار SETI ناميده مي‌شود، عنوان پروژه‌اي است كه به منظور تحقق بخشيدن به اين روياي شايد دست نيافتني برپا شده است. SETI پروژه‌اي كه مدت‌هاست به راه افتاده ولي كمتر درباره آن صحبت شده است. پروژه‌اي بزرگ و پيچيده كه در پي يافتن پاسخ سؤالاتي ساده است:‌ "آيا ما تنها هستيم" و "آيا كسي آنجا هست؟" اگر پي‌گير مباحثي اين چنيني باشيد و يا از خوانندگان دائمي ماهنامه شبكه، مطلع هستيد كه پروژه‌هاي SETI و SETI؛home در شماره 32 (ارديبهشت 82) معرفي شدند و در آن به تشريح عملكرد و نحوه مشاركت در آن پرداخته شده است. اكنون كه در حدود دو سال از آن زمان مي‌گذرد، بي‌مناسبت نديديم كه بار ديگر SETI؛home را مطرح كنيم ولي اين‌بار از زبان يكي از دانشمندان دست‌اندركار آن. لذا پس از انجام مكاتبات متعدد با انجمن سياره‌شناسي آمريكا و دانشگاه كاليفرنيا، موفق شديم مصاحبه‌اي اختصاصي را با آقاي دكترDan Werthimer ، مدير پروژه SEREDIP و دانشمندان ارشد پروژه SETI؛home ترتيب دهيم. در ضمن لازم است كه از همكاري‌هاي آقاي دكترAmir Alexander و خانم Sussan Lendroth از انجمن سياره‌شناسي كه هماهنگي‌هاي زيادي را در اين خصوص انجام دادند، تشكر نماييم.


دان ورتيمر
يكي از فعال‌ترين و مؤثرترين افراد پروژه SETI@home‌‌ و چندين پروژه نوري و راديويي ديگر مرتبط با برنامه SETI در دانشگاه كاليفرنيا، بركلي. 
ورتيمر استاديار دپارتمان‌هاي مهندسي و فيزيك دانشگاه ايالتي‌ سان‌فرانسيسكو و استاد مهمان در دانشگاه پكن، دانشگاه سنت‌چارلز مارسل، دانشگاه اتووس بوداپست و تعدادي از دانشگاه‌هاي معتبر پرو، مصر، غنا، اتيوپي، زامبيا، اوگاندا و كنيا است.
وي همچنين داراي تأليفات متعددي نيز درباره SETI و راديو اخترشناسي مي‌باشد كه از جمله تأليفات مهم وي مي‌توان به كتاب 2020 SETI و ويرايش كتاب Origins and the Search for life in the Universe "Astronomical and Biochemical اشاره كرد.
دكتر دان ورتيمر در حال حاضر دانشمند ارشد پروژه
SETI@home‌‌  و مدير پروژه SERENDIP مي‌باشد.
آقاي دكتر ورتيمر، با تشكر از اينكه با وجود مشغله كاري فراوان،  فرصتي براي طرح سؤالات در اختيار ماهنامه شبكه قرار داديد،  اگر بخواهيد به اختصار SETI را معرفي كنيد، آن را چگونه بيان خواهيد كرد؟


با تشكر متقابل از شما، همان‌گونه كه مي‌دانيد SETI سرنام كلمات Search for Extra Terrestrial Intelligance (جستجو براي يافتن هوش فرازميني) است كه هدف از آن يافتن پاسخ سؤالاتي مانند اين‌كه "آيا ما تنها هستيم" مي‌باشد. همه مي‌دانيم كه از كره زمين مقادير بسيار زيادي امواج راديويي و تلويزيوني و سيگنال‌هاي مختلف منتشر مي‌شود. يعني بيش از پنجاه سال است كه امواج تلويزيوني منتشره از سوي زمين به سمت ده‌ها هزار ستاره روان است و از جانب آن‌ها (وقتي كه به آن‌ها برسد) قابل‌دريافت. براي همين هم نامعقول نخواهد بود اگر فكر كنيم كه تمدن‌هاي ديگري در سطح كهكشان هم ممكن است چنين امواجي را ارسال كرده باشند. پس مي‌توانيم به دنبال يافتن امواج راديويي، تلويزيوني، ليزري و ... باشيم. براي همين هم مهم‌ترين ابزاري كه داريم تلسكوپ راديويي آرسيبو(Arecibo) به قطر 300 متر در پورتوريكو مي‌باشد. براي پردازش و تحليل يافته‌ها نيز از قوي‌ترين ابركامپيوتر دنيا استفاده مي‌كنيم.



‌‌‌مختصري درباره سه پروژه مهم
‌SETI  
جستجو براي يافتن هوش فرازميني. پروژه جستجو ميان امواج راديويي و الكترومغناطيسي كه از جانب ستارگان و اجرام آسماني به سمت زمين گسيل مي‌شوند، جهت يافتن نشانه‌هايي از حيات يا تمدن فرازميني.
SETI@home‌‌  
جستجو براي يافتن هوش فرازميني در خانه. مرحله جديد پروژه SETI براي جلب مشاركت همه دارندگان كامپيوترهاي متصل به اينترنت جهت يافتن نشانه‌هاي هوش فرازميني راه‌اندازي شد.
SERSNDIP 
جستجو براي يافتن علائم راديويي فرازميني از منابع هوشمند نزديك به زمين. پروژه ديگري براي جستجو ميان علائمي كه از جانب ستارگان دريافت مي‌شود به جهت يافتن نشانه‌هايي از زندگي هوشمند. در اين پروژه فقط كانال‌هاي راديويي خاصي مورد بررسي قرار مي‌گيرند، يعني 168 ميليون كانال باند باريك (6/0 هرتز) در هر 7/1 ثانيه.
شما چگونه به SEIT علاقمند شديد؟
من زماني كه دانش‌آموز دبيرستان بودم، به داستان‌هاي علمي  تخيلي و موضوعات ستاره‌شناسي علاقمند بودم و آثار كارل ساگان، ايزاك آسيموف و جورج گاموف را مطالعه مي‌كردم. در ادامه همين علائق و كنجكاوي‌ها، به باشگاهي به نام HomebrewComputer پيوستم كه كار آن طراحي الگوريتم‌ها و ريزكامپيوترهايي بود براي يافتن علائمي كه احتمالا‌ از موجودات فرازميني دريافت مي‌شد. اگر بخواهم شما را با حال و هواي آن باشگاه آشنا كنم، بايد بگويم كه تعدادي از افراد مؤثر در دره سيليكون نظير استيوجابز و استيو وزنياك هم كارشان را از همان‌جا و با همان ماجراجويي‌هاي علمي شروع كردند.

  پروژه SETI از كجا شروع شد؟
مي‌دانيد كه جمع‌آوري داده‌هاي راديويي دريافتي از آسمان و پردازش آن‌ها، به پروژه SEREDIP باز مي‌گردد. پروژه‌اي كه اكنون مدير آن هستم و در آنجا از دوازده راديو تلسكوپ براي جستجوي آسمان‌ها استفاده مي‌كنيم. همان تجهيزات اكنون در پورتوريكو، استراليا و ايتاليا در خدمت SETI هستند.

 
آرسيبو(Arecibo) بزرگترين راديوتلسكوپ جهان با قطر 300 متر كه در پورتوريكو واقع است. براي مشاهده عکس در اندازه بزرگتر روي آن کليک کنيد.

و SETI@home‌‌ چگونه شكل گرفت؟
فكر اصلي پروژه متعلق به دانشمند علوم كامپيوتر يعني David Gedye در سياتل است. وي سپس يك تيم چهار نفره متشكل از خودش، بنده، Woody Sullivan و David Anderson را براي عملياتي‌كردن پروژه سازماندهي كرد كه نتيجه آن چيزي است كه اكنون مي‌بينيد. ما تلاش كرديم كه با طراحي روش‌هايي، مشاركت همه ساكنان كره زمين را در اين امر جلب نماييم.


حاميان اصلي پروژه چه سازمان‌هايي هستند؟
انجمن سياره‌شناسي، شركت سان‌مايكروسيستمز، بنياد ملي علوم و دانشگاه كاليفرنيا.



 
موجودات فرازميني چگونه هستند؟

هنوز هيچ‌گونه شواهدي مبني بر يافت شدن زندگي ماوراي زميني نظير آنچه روي كره زمين وجود دارد، پيدا نشده است و هرگونه علايم راديويي از ساير سياراتي كه ستاره‌هاي ديگر در گردش هستند، دريافت شده است. يعني هنوز هيچ‌گونه علايم حيات در ساير نقاط عالم ديده نشده است. مطالعات نشان مي‌دهد كه حيات برروي كره زمين در حدود 4 ميليارد سال قبل آغاز شده است يا به عبارت بهتر شرايط ايجاد حيات از آن زمان پديد آمده است. به همين خاطر به نظر مي‌رسد كه چنين شرايطي ممكن است در ساير سيارات كه به دور ستاره‌هاي ديگري نيز به وجود آمده باشد. در منظومه شمسي، بعضي قمرهاي سياره مشتري نظير اروپا و همچنين سياره مريخ داراي چنين شرايطي بوده‌اند. اكتشافات دو دهه اخير كه توسط فضاپيماهاي متعدد صورت گرفته اين نظريه را قوت بخشيده است. ضمن آن كه سيارات ديگري خارج از منظومه شمسي كشف شده‌اند كه به دور ستاره‌هايي در گردش بوده‌اند و اندازه‌هايي بزرگ‌تر از زمين داشته‌اند. شايد اگر سياره‌اي در حجم و اندازه كره زمين در جاي ديگري از كهكشان يافت شود، احتمال مشاهده موجودات فرازميني افزايش يابد. اما چگونه مي‌توان به وجود چنين موجوداتي پي برد؟ هر چند كه بين تمدن انساني و يك تمدن ماوراي زميني احتمالاً هيچ زبان مشتركي وجود ندارد، اما راه‌هايي براي تشخيص هوشمند بودن آن‌ها وجود دارد. رياضيدانان، فيزيكدانان، شيميدانان و اخترشناسان قانوني ساخته‌اند كه ثابت مي‌كند يك <زبان عمومي> در سراسر كيهان وجود دارد. تصاوير تلويزيوني يكي از راه‌‌ها براي ايجاد ارتباط هستند كه احتمالاً قابل‌درك هستند و نيازي به فهميدن زبان طرف مقابل ندارند.


آيا تأكيد پروژه SETI فقط بر روي دريافت امواج راديويي است؟
ببينيد، امواج راديويي (شامل امواج رادارها، راديوها و تلويزيون‌ها) متحمل‌ترين نوع امواجي هستند كه يك تمدن مي‌تواند توليد كند. اين امواج ممكن است جهت كاربردهاي ارتباطي باشند يا حتي به منظور معرفي تمدن خودشان به ساير نقاط كهكشان ارسال شده باشند. اما به غير از اين‌ها، ما با استفاده از ابزارهاي مختلفي كه داريم و با همراهي راديو تلسكوپ، مشغول جمع‌آوري امواج راديويي و ليزري هستيم. در مجموع شش روش مختلف براي يافتن موجودات فرازميني در دانشگاه كاليفرنيا فراهم آمده است.
ولي 95 درصد از كارSETI مبتني‌بر امواج راديويي است. يعني تمدن بشري را هم كه نگاه كنيد، با استفاده از دستگاه‌هايي نظير تلويزيون، راديو، رادار و نظاير اين، مشغول انتشار امواج راديويي است.

چقدر احتمال يافتن موجودات فرازميني وجود دارد؟
در كهكشان ما، يعني كهكشان راه‌شيري، در حدود سيصد ميليارد ستاره وجود دارد كه تعدادي از آن‌ها شبيه خورشيد ما هستند و بعضي از آن‌ها به دور خود سياراتي دارند. زماني كه كره‌زمين به قدر كافي سرد شد، به همراه فراهم بودن عوامل ديگر،  حيات در آن به وجود آمد. دانشمندان گمان مي‌كنند كه ممكن است در سيارات ديگري هم مشابه همين اتفاق روي دهد و انواع ديگري از حيات پديدار شود يا شده باشد. البته دليلي وجود ندارد كه آن‌ها هم حيات هوشمند باشند يا حتي حيات هوشمندي كه قادر به ايجاد فناوري نيز باشد. وليكن اين‌ها دليل نمي‌شود كه ما جستجو نكنيم. يعني خلاصه بگويم به همان اندازه كه دلايلي براي جستجو نكردن داريم، همان‌قدر هم دلايل قانع‌كننده براي انجام جستجو وجود دارد.

نماي ديگري از آرسيبو

و چنين تمدن‌هايي به فرض وجود، چرا بايد علاقمند به برقراري ارتباط با ما باشند؟
شخصاً معتقدم كه تمدن‌هاي هوشمند علاقمند به برقراري ارتباط با تمدن‌هاي ديگر هستند. اما ارتباط با تمدن‌هاي بيگانه الزاماً از طريق ارسال مستقيم علائم صورت نمي‌گيرد و ممكن است از طريق برخورد تصادفي با سيگنال‌هاي ارسالي، مثلاً علائم رادار، سيگنال‌هاي يك اجاق مايكروويو يا امواج الكترومغناطيسي موفق به كشف آن‌ها شويم. البته ديدگاه بدبينانه هم آن است كه نهايتاً از كشف‌كردن تمدن‌هاي غيرزميني پشيمان شويم!

با معرفي پروژه SETI@home‌‌  قصد داريد كه همه مردم جهان و حتي در خانه‌ها، براي يافتن هوش‌فرازميني كمك بگيريد. آيا همينطور است؟
بله. براي مشاركت در پروژه و يافتن موجودات هوشمند فرازميني، كافي است كه يك كامپيوتر در خانه، محل كار يا مدرسه داشته باشيد كه به اينترنت هم متصل باشد. با دريافت برنامه محافظ صفحه نمايش مخصوص پروژه كه از نشاني http://seti.berkeley.edu قابل دانلود است، به خيل عظيم پردازش‌كنندگان اطلاعات پروژه SETI  خواهيد پيوست. يعني در زمان‌هاي بي‌كاري كامپيوتر، از آن براي پردازش داده‌ها استفاده مي‌شود و با اجازه دارنده كامپيوتر، اطلاعات پردازش‌شده به دانشگاه بركلي برمي‌گردد. كليه اطلاعات بازگشتي نام شما را به عنوان پردازش‌كننده به همراه دارد. و اين يعني اينكه شايد شما نخستين كسي باشيد كه علائم مربوط به هوش فرازميني را يافته ايد. 

رويدادهاي مهم SETI
30 جولاي 1981 كمك مالي به پروژه يافتن موجودات فرازميني از سوي سنا قطع شد.
1981  كنفرانس SETI در Tallinn روسيه برگزار شد.
1982  انجمن سياره‌شناسي به طرح جستجوي سيارات حول ستاره‌هاي دوردست كمك كرد.
 مي 1982  پل هوروتيز طرح SETI را با مشاركت رصدخانه آرسيبو و انجمن سياره‌شناسي آغاز كرد.
1983  آنتن 64 متري ناسا براي كمك به پروژه SETI به خدمت گرفته شد.
1983  كارل ساگان و آن درويان از استيون اسپيلبرگ (فيلم‌ساز) خواستند كه به پروژه META (سنجش كانال‌هاي فرازميني) كمك مالي نمايد.
 سپتامبر 1985   پروژه META  آغاز به كار كرد.
 اكتبر 1988  كنفرانس SETI  در تورنتو برگزار شد.
مي 1990 پروژه META II براي كمك به پروژه SETI در انستيتوي راديو اخترشناسي آرژانتين آغاز شد.
 اكتبر 1993  كنگره ايالات متحده حمايت‌هاي مالي ناسا از پروژه SETI را متوقف كرد.
1996  تجهيزات مرتبط با پروژه META ارتقاء يافتند.
1998  براي راه‌اندازي پروژه
SETI@home‌‌ حاميان تازه‌اي پيدا شدند.
مي 1999 نرم‌افزار اتصال به پروژه SETI؛home آماده شد و براي دانلود و روي اينترنت قرار گرفت.
اگوست 1999 يك ميليون نفر در پروژه
SETI@home‌‌ ثبت‌نام كردند.
مي 2000 دو ميليون نفر در پروژه
SETI@home‌‌ثبت‌نام كردند.
ممكن است در مورد مراحل انجام پردازش توضيح بيشتري بدهيد؟
در حال حاضر حدود 4/5 ميليون كامپيوتر در سراسر دنيا به SETI@Home پيوسته‌اند و بزرگ‌ترين ابركامپيوتر روي زمين را تشكيل داده‌اند. سرعت كاري اين ابركامپيوتر در حدود 70 ترافلاپس (70 ميليارد عمليات مميز شناور در ثانيه) است. اين رقم يعني اين‌كه يك كامپيوتر منفرد به مدت دو هزارسال به طور مداوم و هر روز كار كند. اين 4/5 ميليون كامپيوتر در حال حاضر در 226 كشور جهان پراكنده هستند و مي‌توان گفت كه در ضمن بزرگ‌ترين پروژه Grid Computing جهان را نيز شكل داده‌اند.
كليه اطلاعات دريافتي از راديوتلسكوپ‌ها مجتمع مي‌شوند. سپس پردازش اوليه‌اي روي آن‌ها صورت مي‌گيرد. در اين قسمت داده‌هايي وارد مي‌شوند كه قبلاً اثرات تداخلي امواج و سيگنال‌هايي كه از منابع زميني منتشر شده‌اند، از آن‌ها جدا شده‌است. يعني بين صدها ميليون سيگنال باقيمانده، جستجو صورت مي‌گيرد. در مرحله بعدي منبع توليد سيگنال به‌طور دقيق مورد بررسي قرار مي‌گيرد تا از انحراف و توجه به سيگنال‌هاي غيرواقعي اجتناب گردد. در اين‌جا شرط لازم آن است كه حداقل بيش از 60 درصد از سيگنال ارسالي از همان منبع توليد شده باشد. البته واضح است كه روند انجام اين كار تا چه حد پيچيدگي دارد. در مرحله بعدي يك بار ديگر سيگنال‌ها پالايش مي‌شوند و حاصل كار كانديداهاي نهايي هستند. خروجي اين مرحله در اختيار ستاره‌شناسان قرار مي‌گيرد تا در بين آن‌ها به جستجوي ردپاي احتمالي موجودات فرازميني بپردازند.


پروژه ‌SETI@home‌‌  چه زماني شروع شده و تا چه زماني ادامه خواهد يافت؟
پروژه در ماه مي سال 1999 آغاز شده است و تا زماني كه نشانه‌هايي از موجودات فرازميني (ET) پيدا كنيم، ادامه خواهد داشت. البته ممكن است قبل از آن، به دليل مشكلات مالي و نداشتن بودجه لازم، پروژه تعطيل شود. 


نمونه‌اي از صفحه پردازش در طرف كلا‌ينت. در اين تصوير انتقال در باند باريك در فركانس 1420 مگاهرتز  ديده مي‌شود. در اين صفحه يك سيگنال قوي آشكار شده است كه البته در مورد منشا آن هنوز نمي‌توان اظهارنظر كرد.
آيا تاكنون به نتيجه مشخصي هم رسيده‌ايد؟
كانديداهايي را به اين منظور يافته‌ايم و علائم  مشكوكي را دريافت كرده‌ايم، اما هنوز هيچ‌كدام ما را به اين نتيجه نرسانده‌اند كه علائم از سوي موجودات فرازميني هستند. يعني در حقيقت هنوز هيچ علامت واقعي دريافت نكرده‌ايم. البته ما در پي توسعه طرح مكملي به نام BOINC هستيم. در اين طرح قصد داريم از ساير علوم نيز براي يافتن موجودات فرازميني كمك بگيريم. مثلاً از دانشمندان علوم مدل‌سازي، زيست‌شناسي، تحقيقات دارويي و ... نيز براي همكاري در پروژه جديد دعوت كرده‌ايم.

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

     
   
 |+| نوشته شده در  شنبه سی ام تیر 1386ساعت 7:45 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

Xgrid تافته اي جدا بافته

اشاره :
نيم‌نگاهي به كشورهاي پيشرفته صنعتي براي درك نقش عظيم و انكارناپذير رايانه‌ها به عنوان نبض تپنده تعاملات و فعاليت‌هاي علمي، اجتماعي و اقتصادي آن‌ها كافي است. امروزه چگونگي بهره‌گيري از توان پردازش رايانه‌ها در حوزه‌هاي بسيار حساسي چون صنايع نظامي و امنيتي، مي‌تواند نقشي بسزا و تعيين‌كننده در اوضاع و شرايط سياسي ملل مختلف ايفا كند. به طوري كه اندك غفلتي در اين مقوله گاه سبب بروز خسارات جبران‌ناپذيري مي‌گردد. و در نهايت ديري نخواهد گذشت كه بخش بزرگي از سرنوشت ملت‌ها را خواسته يا ناخواسته، سطح دانش آن‌ها از رايانه و ميزان گسترش آن در علوم و عرصه‌هاي ديگر رقم خواهد زد. غرض آن‌كه، بد نيست هر از گاهي فلسفه گسترش رايانه‌ها را با نگاهي فراتر از گرافيك و رندر و هاليوود يا هك و چك و امثال آن‌ها بنگريم. امروز پيشرفت و گسترش علومي چون ژنتيك، بيوانفورماتيك، هوش‌مصنوعي، سايبرنتيك و موارد ديگري كه گاه فقط نامي از آن‌ها شنيده‌ايم – حالا آن‌‌هايي را كه نشنيده‌ايم بماند – مديون پيشرفت و گسترش رايانه‌هاست. كه اگر اين‌گونه نبود، رايانه‌ها شايد چيزي بيش از اسباب‌بازي‌ها عصر حاضر نبودند. اما موضوعي كه قصد طرح آن را داريم، پيرامون يكي از روش‌هاي انقلابي و نويد بخش تأمين منابع پردازشي يعني grid است. شركت اپل به تازگي اقدام به معرفي فناوري انحصاري خود در اين زمينه كرده است كه در نوشتار حاضر سعي داريم ضمن معرفي اين فناوري، نگاهي به معماري و ساختار كلي و همچنين قابليت‌هاي آن داشته باشيم.

 

متن کامل مقاله ( 162 کيلوبايت )

 

 

 |+| نوشته شده در  پنجشنبه بیست و هشتم تیر 1386ساعت 5:20 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
يك ابر رايانه يا يك Super Computer از چیه ؟

ابر رایانه هایی مثل بلوژن و ارث سیمیولیتور از ده ها پردازنده ی نیمه قدرتمند PowerPC استفاده می کنند که البته اکثر ابررایانه ها ساخت غول مرده IBM است. یعد از IBM هم پردازنده های ایتانیوم اینتل و اوپترون AMD حضور دارند. معمولا تا 128 گیگابایت رم ثبت شده قبول می کنند.
اولا شرکت پیکسار دیگر وجود خارجی ندارد و توسط والت دیزنی خریداری شده. ثانیا شرکت هایی مثل دریم ورکز از پردازنده های اوپترون استفاده می کنند. اگه اشتباه نکنم والت هم از ایتانیوم استفاده میکنه.
در مورد هارد هم از هاردهای SCSI و یا RaptorX های شرکت Western استفاده می کنند.
در مورد رم از برندهای معرفی چون Micron , Corsair,SAMSUNG , Buffalo , Kingston , OCZ ,... استفاده می کنند.
در مورد کارت های گرافیکی که مهمترین عاملند هم از سری Quadro nVIDIA و یا ATI FireGL و یا Matrox , 3D Labs استفاده می کنند.

 اطلاعاتی در مورد ابر رایانه ها

ابر رایانه وسیله ای برای تبدیل مسایل محاسبه ای به مسایل ورودی و خروجی است.
کن باچر (Ken Batcher) ابر رایانه رایانه ای است که در زمان معرفی از نظر ظرفیت پردازش و به خصوص سرعت محاسبه ازدیگر ماشین ها قوی تر باشد. اولین ابر رایانه ها در دهه ی 1960به طور عمده در موسسه اطلاعات کنترل (CDC) توسط سیمور کری«Seymour Cray» طراحی شد. کری تا دهه ی 1970 زمانی که برای تاسیس شرکت خود پژوهشکده کری, از آن جدا شد آنرا هدایت می کرد. کری بعدها با طرح های جدید خود بازار ابر رایانه را در دست گرفت و تا 25 سال (1965 1990) بی رقیب ماند. در دهه ی 1980به موازات تولید یک دهه قبل تر کامپیوتر کوچک هاشمار زیادی از رقیبان کوچکتر وارد بازار شدند اما بسیاری از آنها در" رکود بازار ابر رایانه ها" ی اواسط دهه ی 1990 ناپدید شدند. امروزه ابر رایانه ها طرح های یک بار تولید شونده هستند که توسط شرکت های "سنتی" مانند IBM و HP طراحی می شوند. این شرکت ها بسیاری از شرکت های دهه ی 1980 را برای استفاده از تجاربشان خریداری کردند، هر چند در طراحی ابر رایانه ها موسسه ی کری متخصص تر است .

معنای کلمه ی ابر رایانه تا حدی متغیر است , و ابر رایانه های امروزی فردا دیگر کاربردی نخواهند داشت، همانگونه که از کولاسوس (Colossus)،* (اولین رایانه ی الکترونیکی برنامه دار رقمی دنیا، که طی جنگ جهانی دوم رمز های آلمانی ها را می شکست) پیدا است. ماشین های اولیه ی سی دی سی (CDC) صرفاً پردازنده های منفرد پر سرعتی بودند که تا ده برابر سریع تر از سریع ترین ماشین هایی که توسط دیگر شرکت ها معرفی شده بودند کار می کردند. در دهه ی 1970 بیشتر ابر رایانه ها برای استفاده از پردازنده ی برداری طراحی می شدند و بسیاری از بازیگر های تازه کار برای ورود به بازار پردازنده هایی از این نوع را با قیمت ارزان تر عرضه می کردند. در دهه های 1980و 1990 پردازنده های برداری جای خود را به سیستم های پردازش موازی فشرده با هزاران سی پی یو (CPU) ساده ای داد که برخی از آنها واحد های غیر مرسوم و برخی طرح های متداول و سنتی بودند. امروزه طرح های موازی بر پایه ی ریز پردازنده های RISC " غیر مرسوم" مانند PowerPC یا PA_RISC قرار دارند.

ابزار های نرم افزاری
ابزار های نرم افزار ی پردازش توزیعی، API های استاندارد از جمله MPI و PVM و راه حل های نرم افزاری متکی بر منبع باز مانند Beowulf و openMosix، که کار ساخت نوعی از " ابر رایانه های مجازی" با استفاده از مجموعه های ایستگاه کار ها و خدمتگذار های عادی را تسهیل بخشید، را شامل می شود. فن آوری هایی مانند Rendezvous راه تولید خوشه های رایانه های ویژه را هموار ساخت. یک نمونه، تابع تفسیر توزیعی در برنامه کاربردی ترکیبیApple's Shake ست. رایانه هایی که از نرم افزار Shake استفاده می کنند کافی است فقط در شبکه در مجاورت یک دیگر باشند تا به طور خود کار منابع همدیگر را پیدا و مورد استفاده قرار دهند. در حالی که هنوز هیچ کس خوشه رایانه ی ویژه ای ای بهتر از ابر رایانه های سال گذشته نساخته است فاصله ی بین رایانه های رومیزی، یا حتی لپ تاپ ها و ابر رایانه ها در حال ناپدید شدن است و این احتمال وجود دارد که این روند با افزایش پشتیبانی توکار برای همسانی(parallelism) و پردازش توزیعی در سیستم عامل های رایانه های رومیزی تداوم یابد. یک زبان برنامه نویسی آسان برای ابر رایانه ها مبحث تحقیقاتی باز و وسیعی را در علم رایانه به جا ی می گذارد .


کاربرد ها
ابر رایانه ها برای کارهایی که به محاسبات زیاد و دقیق نیازمند است به کار می رود از جمله: پیش بینی وضع هوا , تحقیقات آب و هوایی ( که شامل گرم شدن جهانی می شود)، نمونه سازی مولکولی (محاسبه ی ساختار ها و خصوصیات ترکیب های شیمیایی، درشت مولکول های زیستی، بسپار ها, و بلور ها، شبیه سازی های فیزیکی ( مانند شبیه سازی هوا پیما در تونل باد، شبیه سازی انفجار جنگ افزار های هسته ای و تحقیقات در مورد جوش هسته ای )، رمز گشایی و مانند آن. موسسه های نظامی و علمی از بزرگترین مشتری ها می باشند.

طراحی
ابر رایانه ها به دلیل به کار گیری طرح های ابتکاری و جدید با سرعتی بیشتر از رایانه های متداول کار می کنند. این طرح ها ان ها را قادر می سازد بسیاری کارها را با وجود نیاز به برسی فنی جزییات بغرنج به صورت موازی انجام دهند.ان ها بیشتر برای انجام گونه های خاصی از محاسبات تخصص دارند و در برابر بیشتر کارهای محاسباتی عادی عملکرد ضعیفی از خود نشان می دهند. سازمان دهی حافظه این رایانه ها به دقت تنظیم شده است تا در تمام زمان ها پردازنده با داده ها و دستور العمل ها تغذیه شود. در واقع, بیشتر تفاوت پیاده سازی بین رایانه های کند تر و ابر رایانه ها به خاطر طرح سازمان دهی حافظه و ترکیب بندی اجزا است .


قانون Amdahl برای تمام سیستم های موازی صادق است. ابر رایانه ها تلاش زیادی را برای حذف توالی نرم افزاری اعمال کرده و برای شتاب دادن به تنگنا های (bottlenecks) باقی مانده از سخت افزار بهره می گیرند.

چالش های ابر رایانه و فن آوری ها
یک ابر رایانه تولید گرما می کند و باید خنک شود. خنک سازی بیشتر ابر رایانه ها یک مشکل HVAC بزرگ است .
اطلاعات نمی تواند با سرعتی بیشر از سرعت نور بین دو جز یک ابر رایانه جا به جا شود. به همین دلیل، ابر رایانه هایی که چندین متر طول دارند باید دارای زمان پاسخگویی دست کم یک دهم نانو ثانیه باشد. به این خاطر در طرح ابر رایانه ی کری ساخت سیمور کری از کابل های کوتاه ا ستفاده شده بود.
ابر رایانه ها مقادیر زیادی داده را در مدت زمان کوتاهی مصرف و تولید می کنند. برای اطمینان از این که اطلاعات به سرعت منتقل و به درستی ذخیره و باز یابی می شود به کاری بیشتر نیاز است .

فن آوری هایی که برای ابر رایانه ها شکل گرفته اند عبارتند از:
پردازش برداری
خنک سازی به کمک مایع
دسترسی به حافظه نا یکنواخت(NUMA)
لوح های شیاری ( که اولین نمونه ی ان بعد ها RAID نام گرفت)
سیستم فایل موازی

تکنیک های پردازش

تکنیک های پردازش برداری اول بار برای ابر رایانه ها توسعه یافت و همچنان در برنامه های کاربردی با کارایی بالامتخصص مورد استفاده قرار می گیرد . تکنیک های پردازش برداری به بازار مجتمع در معماریDSP ودستورهای پردازش SIMD برای رایانه های همه منظور تحلیل یافته است .

سیتم عامل
سیستم عامل آنها، که اغلب نسخه ای از لینوکس است، با سیستم عامل های دیگر ماشین های کوچکتر تفاوتی ندارند. به هر حال از آنجا که توسعه دهندگان سیستم های عامل منابع برنامه نویسی را محدود کرده اند رابط کاربری ان ها ضعیف تر است. و از این واقعیت منتج می شود که وقتی این رایانه ها که اغلب قیمتی برابر با صد ها هزار دلار دارند به بازار های خیلی کوچک فروخته می شوند بودجه ی R&D آنها اغلب محدود می شود. به طرز جذابی این روندی مداوم در صنعت رایانه بوده است.

برنامه نویسی
معماری موازی ابر رایانه ها اغلب استفاده از تکنیک های برنامه نویسی خاصی را برای به کار گیری سرعت شان تحمیل می کند .کمپایلر های فرترن تک منظوره سریعتر از کمپایلر های زبان برنامه نویسی C و زبان برنامه نویسی++C کد تولید می کنند بنا بر این فرترن زبان انتخابی برنامه نویسی علمی و بنابر این زبان بیشتر برنامه هایی که در ابر رایانه ها پیاده می شود است. برای بهره گیری از موازی بودن ابر رایانه ها، در خوشه های با اتصال شل از PVM و MPI ودر ماشین های با حافظه مشترک و هماهنگ از OpenMP استفاده می شود .

انواع ابر رایانه های همه کاره
سه دسته ی اصلی از ابر رایانه های همه کاره وجود دارد:
ماشین های مبتنی بر پردازش موازی عملیات های محاسباتی مشترک را در آن واحد بر حجم زیادی از داده انجام شود.
رایانه های خوشه ای با کابل کشی کوتاه برای پشتیبانی از تعداد زیادی پردازنده و برای این که حافظه ی آنها بتواند با هم در ارتباط باشد از رابط های مخصوص استفاده می کنند . پردازنده ها و وسایل کابل کشی از ابتدا برای ابر رایانه ها طراحی می شوند.سریعترین ابر رایانه های همه کاره دنیا از این فن آوری استفاده می کنند.
خوشه های commodity از تعداد زیادی پی سی های commodity که با شبکه های محلی با پهنای باند زیاد و سرعت عکس العمل کم به هم مرتبطند استفاده می کنند.

در سال 2002 قانون مور (Moore) و اقتصاد مقیاس عامل های غالب در طراحی ابر رایانه ها است: در حال حاضر یک رایانه رو میزی جدید از یک ابر رایانه ی 15 ساله قدرتمند تر است، و دست کم برخی از ترفند های طراحی که باعث می شد ابر رایانه های پیشین بهتر از ماشین های رومیزی کنونی کار کنند درون یک commodity pc's جا داده شده اند .از این گذشته , هزینه ی توسعه و تولید تراشه ها باعث می شد تا طراحی تراشه های سنتی برای یک اجرای کوتاه عملا غیر اقتصادی شده وتراشه های تولید انبوه که با داشتن تقاضا های کافی از عهده ی هزینه ی تولید خود بر می آمدند جای آنها را بگیرند .

علاوه بر این، بسیاری از مسایلی که توسط ابر رایانه ها انجام می شد به طور ویژه برای موازی سازی ( در اصل، تبدیل کردن به بخش های ریز تر برای این که بتوان در ان واحد بر روی ان ها کار کرد) و به خصوص، موازی سازی نسبتاً زمخت (coarse-grained parallelization) که مقدار اطلاعات مورد نیاز برای انتقال بین واحد های پردازش مستقل از هم را محدود می کند، مناسب است. به همین دلیل برای بسیاری از کار ها می توان " خوشه های" رایانه ای با طرح استاندارد که قابل برنامه نویسی برای کار به صورت یک رایانه ی بزرگ هستند را جایگزین ابر رایانه های سنتی و متداول کرد. بسیاری از این ها از سیستم عامل لینوکس استفاده می کنند، به آنها خوشه های Beowulf گفته می شود.
 
در ابتدای سال 2003، ابر رایانه های شماره ی 3 دنیا خوشه ای از commodity است و تحت سیستم عامل لینوکس و با سخت افزار اینتل x86 کار می کند. به هر حال انتظار می رود شماری از پروژه های خوشه ی commodity که تحت لینوکس و با CPU های AMD x86-64 عمل می کنند با سرعت بالاتری کار کنند. اگر این روند تداوم یابد احتمالا لینوکس سیستم عامل استاندارد de facto ابر رایانه ها خواهد شد.

در انتهای سال 2003 ابر رایانه های شماره ی 3 دنیا خوشه ای متفاوت بود، VirginiaTech System X که با Mac OS X بر خوشه ای از سیستم های 1,100 G5 کار می کرد.

ابر رایانه های تک منظوره
ابر رایانه های تک منظوره ابزار های محاسبه ی به کارایی بالا هستند که معماری ان ها برای یک کار خاص طراحی شده است. این باعث می شود بتوان از تراشه های به طور خاص برنامه نویسی شده ی FPGA و یا حتی تراشه های VLSI سنتی استفاده و با قربانی کردن عمومیت، نسبت کار ایی/قیمت بالاتری تولید کرد. از این ابر رایانه ها برای برنامه های کاربردی مانند محاسبه های فیزیک فضایی و کد شکنی brute-force استفاده می شود.

چند نمونه از ابر رایانه های تک منظوره عبارتند از:
Deep Blue برای بازی شطرنج
محاسبه قابل پیکر بندی
GRAPE برای فیزیک فضایی

سریعترین ابر رایانه های امروزی
سرعت یک رایانه عموماً با فلاپ (عملیات های اعشاری در هر ثانیه) اندازه گیری می شود .این اندازه گیری هزینه سربار ارتباطات را نادیده گرفته و فرض می کند که تمام پردازنده ها ی ماشین به داده ها دسترسی وبا تمام سرعت کار می کنند.بنابر این به عنوان یک استاندارد متری ایده ال نیست ولی به هر حال به طور گسترده مورد استفاده قرار می گیرد .

در 29 سبتامبر سال 2004م سریعترین ابر رایانه ها نمونه اولیه Blue Gene/L با 16.250پردازنده ساخت IBM می باشد. این ابر رایانه می تواند با سرعت 01/36 ترا فلاپ کار کند. نمونه اولیه Blue Gene/L نسخه ی سفارشی شده ی معماری PowerPc شرکت ای بی ام (IBM) است. این نمونه اولیه فعلاً در Rochester شرکت ای بی ام، نیو یورک فاسیلیتی است اما نسخه های تولید در سایت های مختلف از جمله آزمایشگاه ملی لارنس لیور مور (LLNL) مهیا خواهد شد. قبل از Blue Gene/ L سریعترین ابر رایانه شبیه ساز زمین در موسسه علوم زمین یوکوماها ژاپن بود. این ابر رایانه کلاستری از 640 رایانه ی 8- پردازنده ای متعارف و برداری مبتنی بر معماری NEC SX-6 (با مجموع 5120 پردازنده) بود و از یکی از نسخه های سفارشی شده یسیستم عامل یونیکس استفاده می کرد.

سرعت آن 5 برابر سریعترین ابر رایانه پیشین یعنی کامپیوتر خوشه ای ASCI White در آزمایشگاه ملی لارنس لیورمور(Lawerence Livermore) بود. ابتکار ASCI دولت ایالات متحده تلاش دارد برای حفظ برتری استراتژیک خود در معاهده ی منع آزمایش های هسته ای، آزمایش های هسته ای را شبیه سازی کند.
PRAM سری دیگری از ابر رایانه ها است.
لیستی از 500 تا از سریعترین ابر رایانه ها در http://www.top500.org (cache) موجود است

 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 1:23 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

High Performance Linux Clusters

 




High Performance Linux Clusters: With OSCAR, Rocks, openMosix, and MPI (Nutshell Handbooks) by Joseph D Sloan
Publisher: O'Reilly Media; 1 edition (November 18, 2004) | ISBN-10: 0596005709 | CHM | 1,7 Mb | 350 pages


دانلود کتاب

 



To the outside world, a "supercomputer" appears to be a single system. In fact, it's a cluster of computers that share a local area network and have the ability to work together on a single problem as a team. Many businesses used to consider supercomputing beyond the reach of their budgets, but new Linux applications have made high-performance clusters more affordable than ever. These days, the promise of low-cost supercomputing is one of the main reasons many businesses choose Linux over other operating systems. This new guide covers everything a newcomer to clustering will need to plan, build, and deploy a high-performance Linux cluster. The book focuses on clustering for high-performance computation, although much of its information also applies to clustering for high-availability (failover and disaster recovery). The book discusses the key tools you'll need to get started, including good practices to use while exploring the tools and growing a system. You'll learn about planning, hardware choices, bulk installation of Linux on multiple systems, and other basic considerations. Then, you'll learn about software options that can save you hours--or even weeks--of deployment time. Since a wide variety of options exist in each area of clustering software, the author discusses the pros and cons of the major free software projects and chooses those that are most likely to be helpful to new cluster administrators and programmers. A few of the projects introduced in the book include:
— MPI, the most popular programming library for clusters. This book offers simple but realistic introductory examples along with some pointers for advanced use. — OSCAR and Rocks, two comprehensive installation and administrative systems — openMosix (a convenient tool for distributing jobs), Linux kernel extensions that migrate processes transparently for load balancing — PVFS, one of the parallel filesystems that make clustering I/O easier — C3, a set of commands for administering multiple systems Ganglia, OpenPBS, and cloning tools (Kickstart, SIS and G4U) are also covered. The book looks at cluster installation packages (OSCAR & Rocks) and then considers the core packages individually for greater depth or for folks wishing to do a custom installation. Guidelines for debugging, profiling, performance tuning, and managing jobs from multiple users round out this immensely useful book

 

 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 11:34 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
Building a Linux virtual server

اگر بخواهیم کلاستر را با استفاده از پروژه*ی سرور مجازی لینوکس *یاده سازی نماییم بدین صورت عمل می کنیم:
The main advantage of using LVS is that unlike Microsoft network load-balancing clusters, the LVS allows you to add a node running any operating system that supports TCP/IP to the cluster.

The cluster setup (shown below at right) consists of a load balancer server -- also known as the virtual server -- running on the Linux operating system and one or more real servers connected to it through a hub or a switch. The real servers -- which can run any operating system -- provide network services to the Internet clients, whereas the virtual server does IP-level load balancing of the incoming traffic to the various real servers. The virtual server acts as an interface between the users and the real servers and, therefore, makes the parallel services of the real servers to appear as a virtual service on a single IP address.

When the virtual server receives a client request for data, it transfers the request to the appropriate real server according to a scheduling algorithm. The real server then replies to the virtual server, which in turn forwards the reply to the client. Although it is actually the real server that services the client request, to the client it appears as if the response came from the virtual server. The IP address of the real server is masqueraded by the IP address of the virtual server.
The virtual server uses two network interfaces (dual-homed host), one connected to the Internet for the clients to access and the other connected to the internal local area network (LAN), where all the real servers are placed. Scalability is achieved by transparently adding or removing real servers from the internal LAN.

Rebuilding the kernel

Linux systems using kernel versions earlier than 2.4.28 do not have support for virtual server built into the kernel. Therefore, the first step involved in setting them up as a virtual server is to rebuild their kernel with the appropriate patch applied. Kernel versions 2.4.28 or later have LVS support built into them by default and, therefore, require no patching.

The patches can be downloaded from the LVS Web site. There are different patches for various kernel versions. For this article, we will be configuring a patch for the 2.4.x kernel: linux-2.4.21-ipvs-1.0.10.patch.gz.

To apply the patch to the kernel, move the patch file to the /usr/src directory and issue the following command as root:

#cd /usr/src/linux*
#gunzip ../linux-2.4.21-ipvs-1.0.10.patch.gz
#patch -p1 < ../linux-2.4.21-ipvs-1.0.10.patch

This will patch the kernel; after that you'll need to compile it. In the /usr/src/linux* directory issue these commands:

#make mrproper
#make oldconfig
#make menuconfig

This will bring up a screen with several subheadings. Select the Networking Options subhead, and then IP:Virtual Server Configuration in the following screen. Then select the following options:

virtual server support (EXPERIMENTAL)[*] IP virtual server debugging
(16) IPVS connection table size (the Nth power of 2)
--- IPVS scheduler
<M> round-robin scheduling
<M> weighted round-robin scheduling
<M> least-connection scheduling scheduling
<M> weighted least-connection scheduling
<M> locality-based least-connection scheduling
<M> locality-based least-connection with replication scheduling
<M> destination hashing scheduling
<M> source hashing scheduling
<M> shortest expected delay scheduling
<M> never queue scheduling
--- IPVS application helper
<M> FTP protocol helper

Save the current kernel configuration and exit from menuconfig. Then from the command prompt type:

#make dep && make clean && make bzImage && make modules && make modules_install

This will create a compressed kernel image (bzImage) in the /usr/src/linux*/arch/i386/boot directory and will also create and install all the modules for the new kernel. Now copy this new kernel image (bzImage) to the /boot directory.

Lastly, either edit your /etc/grub.conf or /etc/lilo.conf file or rename the new kernel image (/boot/bzImage) to the one being referred to in your bootloader configuration file, in order to make your system boot from the new kernel.

Installing IPTables and IPVsadm

After rebuilding the kernel you need to have the IPTables and IPVsadm packages installed on your system to configure it as virtual server. IPTables is used to build, maintain, and inspect IPv4 packet filtering and NAT (network address translation) rules in the Linux kernel. Using it, IP masquerading will be provided to the real servers. IPVsadm is the administrating utility for the Linux Virtual Server and will be used to set the scheduling algorithm and rules for forwarding client requests to the real servers.

The IPTables package comes bundled with most Linux distributions and can be easily installed from the installation CDs for your distribution. The source RPM for the IPVsadm utility can be obtained from the LVS Web site. For this example we'll use the ipvsadm-1.21-10.src.rpm SRPM package.

Once the packages have been installed you need to enable IP forwarding on the server. Open the file /etc/sysctl.conf in a text editor and set this value:

net.ipv4.ip_forward = 1

Next, issue the following command to start the IPTables service on your system. This allows the virtual server to forward replies from the real servers to the clients:

#service iptables start

Enabling IP masquerading

In order to enable masquerading for the real servers, we will assume that the external Internet interface on your Linux Virtual Server is eth0 and the internal LAN interface (connected to other real servers) is eth1. Therefore, on the server issue these commands:

#iptables -t nat -P POSTROUTING DROP
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

The first command sets up the default policy for IPTables to DROP, which means that if none of the specific rules match, the packet will be dropped. This ensures that not every packet is masqueraded by the server and, thus, provides an extra level of security. The second command enables NAT and masquerades the internal IP addresses of all the real servers to the IP address of the external Internet interface (eth0) of the virtual server. For more on IPTables, refer to its man page.

Configuring the virtual server using IPVsadm

The next step is to configure the Linux Virtual Server using the IPVsadm utility. But before that, you must allocate proper IP addresses to all the machines on your network. Put the real servers in your internal LAN on a private IP address range, such as 10.0.0.0/255.255.255.0. Also, put the internal LAN interface of the virtual server on the same subnet. Assign the IP address of the internal LAN interface of the virtual server as the default gateway for all the real servers. For the external Internet interface of the virtual server, use a public IP address or the settings provided by your ISP.

In our example setup, we used two real servers running on different operating systems. One with the IP address 10.0.0.2(providing HTTP service) and the other with IP address 10.0.0.3(providing both HTTP and FTP services), with the default gateway for both of them set as 10.0.0.1, which is the IP of the internal LAN interface of the virtual server. The external Internet interface of the virtual server had been assigned a public IP address 61.16.130.100.

Now add the virtual service and link a scheduler to it with these commands:

#ipvsadm -A -t 61.16.130.100:80 -s wlc
#ipvsadm -A -t 61.16.130.100:21 -s wrr

The above two commands add wlc (weighted least-connection scheduling) and wrr (weighted round robin scheduling) algorithms for HTTP (port 80) and FTP (port 21) traffic on the virtual server, respectively. There are several other scheduling algorithms available; you can learn more about them from the IPVsadm man page.

Next, add real servers on the virtual server to which the client requests will be forwarded:

#ipvsadm -a -t 61.16.130.100:80 -r 10.0.0.3:80 -m
#ipvsadm -a -t 61.16.130.100:80 -r 10.0.0.2:80 -m -w 2
#ipvsadm -a -t 61.16.130.100:21 -r 10.0.0.3:21 -m

This will cause all the HTTP traffic on the virtual server to be forwarded to 10.0.0.2 and 10.0.0.3 according to the scheduling algorithm. All the FTP traffic will go to 10.0.0.3 only. The real server 10.0.0.2 is given a weight of 2 for HTTP traffic by the -w 2 switch. The default weight is 1.

Testing it out

After setting everything up, use a client machine to connect to the virtual server using its external IP address. To do this, open a Web browser and type in the server's IP address (61.16.130.100 in the example) in the address bar. You will get a Web page served by the Web server running on the real servers. Open multiple connections to the virtual server and check the status of the various connections on the real servers. You will notice that the incoming load is being equally distributed among the real servers. Thus, the virtual server is performing IP load balancing.

Although the above-described virtual server setup (virtual server via NAT) can meet the performance requirements of many servers, the design is limited by the load balancer, which is a single point of failure for the whole cluster. However, you can eliminate this bottleneck by having multiple virtual servers, each connected to its own cluster of real servers, grouped together at a single domain name by round robin DNS.

منبع
 
 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 11:10 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

کلاستر لینوکس زیر بار
خوب با پیگیری و انجام مراحل شرح داده شده در بخش‌های پیشین مقاله کلاسترها، اکنون یک کلاستر آماده به کار دارید که می‌توانید قدرت آنرا آزمایش کرده و به نحوه کلی عملکرد کلاسترها پی ببرید.
برای شروع، از روی ایستگاه کاری که بعنوان مانیتور آنرا در نظر گرفته‌ام، از روی کنسول وارد گره شماره ۱ و گره شماره ۲ می‌شوم. روی گره شماره ۱ با استفاده از دستور mosmon برنامه مانیتور کلاستر را که میزان بار هر گره را بصورت نمودارهای میله‌ای نمایش می‌دهد، اجرا می‌کنم. روی گره شماره ۲، دستور زیر را در خط فرمان تايپ می‌کنم:

# for x in 1 2 3 4
do
awk 'BEGIN {for(i=0;i<10000;i++)for(j=0;j<10000;j++);}' &
done

دستور فوق، ۴ اسکریپت awk را که شدیدا بار CPU را بالا خواهند برد، بطور همزمان اجرا می‌کند. به کنسول گره شماره ۱ بازگشته و نمودار بار را زیر نظر می‌گیرم:




بیچاره گره شماره ۲! نمودار به سقف رسیده است! انتظار می‌رود پس از چند لحظه پردازش‌ها به گره‌های بعدی کلاستر (که ما فقط گره شماره ۱ را داریم) منتقل شوند. بسیار جالب است. پس از چند ثانیه پردازش‌ها به گره شماره ۱ منتقل شده و بار آن به سرعت بالا می‌رود:




همانطوری که در تصویر بالا مشاهده می‌کنید، میزان بار گره شماره ۱ به شدت بالا رفته و از بار گره شماره ۲ کاسته می‌شود. خوب این آزمایش بدی برای حصول اطمینان از کارکرد کلاستر نیست، ولی برای بررسی دقیق‌تر و گرفتن نتایج عملی‌تر، نیاز داریم تا تعدادی عملیات واقعی پردازشی را روی کلاستر انجام دهیم. یکی از بهترین عملیات پردازشی که می‌تواند به خوبی کارایی کلاستر را در بوته آزمایش قرار دهد، عملیات کد کردن فایل‌های موسیقی است.
به این منظور، ما دو نرم‌افزار کد کردن فایل‌های موسیقی با فرمت
wav را انتخاب کرده و آزمایشات را به کمک آنها انجام خواهیم داد.

نصب نرم‌افزارهای لازم
نرم‌افزارهای مورد نیاز را تنها در گره‌ای که مایلید آزمایشات را از طریق آن انجام دهید نصب نمایید و نصب آن در سایر گره‌ها ضروری نیست
. این قابلیت کلاستر سازی نامحسوس OpenMosix است که باعث می‌شود تا ما نیازی به نصب این نرم‌افزارها و قرار دادن فایلهای هدف روی یک اشتراک قابل دسترس در تمام شبکه نداشته باشیم.
نرم‌افزاری که ما از آن برای آزمایشات خود استفاده خواهیم کرد، نرم‌افزار کدینگ فایلهای صوتی به فرمت
MP3 به نام Lame می‌باشد که یکی از سریعترین کد کننده‌های MP3 در جهان بوده و یک نرم‌افزار بازمتن است. این نرم‌افزار را از لینک زیر دانلود نمایید. ضمنا حجم آن کمی بیشتر از ۱ مگابایت می‌باشد:

http://unc.dl.sourceforge.net/sourceforge/lame/lame-3.93.1.tar.gz

پس از دانلود بسته کد منبع، جهت نصب نرم‌افزار دستورات زیر را در خط فرمان اجرا نمایید:

# gunzip lame-3.93.1.tar.gz
# tar -xf lame-3.93.1.tar
# cd lame-3.93.1
# ./configure
# make
# make install

نرم‌افزار Lame پس از چند دقیقه کامپایل و به راحتی نصب می‌شود. من نرم‌افزار را روی هر دو گره کلاستر نصب کرده‌ام، چون می‌خواهم دقیقا نحوه عملکرد آنرا در شرایط مختلف بررسی کنم. مورد دیگری که به آن نیاز است، تعدادی فایل wav است که باید آنها را تهیه کنید. من ۵ عدد فایل wav برای انجام آزمایشات تهیه کرده‌ام که حجم آنها حدود ۱۹۶ مگابایت می‌باشد (در حقیقت فایلهای MP3 بوده‌اند که توسط XMMS به فرمت wav برگردانده شدند).
من در دایرکتوری
root هریک از گره‌ها یک دایرکتوری به نام wav ایجاد کرده و فایلهای wav را در آنجا قرار دادم. در مرحله نخست آزمایش، هر یک از گره‌ها بصورت فردی فایلهای MP3 را کد می‌کنند. برای انجام آزمایش، دستور زیر را در خط فرمان وارد می‌کنم:

# cd /root/wav
# for x in *.wav
do
lame $x
done

در حقیت یک حلقه عملیات تبدیل فایل‌ها را یک به یک انجام می‌دهد. نتیجه حاصل مطابق جدول زیر می‌باشد:

نام گره

زمان انجام

Cyber

18:46 s

Debian

5:01 s



خوب نتیجه قابل انتظار است، ماشین پنتیوم ۸۰۰ مگاهرتزی باید هم سریعتر از سلرون ۳۳۳ مگاهرتزی باشد. پس از این مرحله OpenMosix را اجرا کرده و کلاستر را زیر بار می‌گذارم. دستور عملیات به صورت زیر است:

# cd /root/wav
# for x in *.wav
do
lame $x &
done

با اضافه شدن کاراکتر & تمامی ۵ عملیات به صورت همزمان و در پس زمینه اجرا خواهند شد. اجرای همزمان ۵ پروسه باعث مهاجرت پروسه‌ها به گره دیگر کلاستر و وارد شدن کلاستر در عملیات می‌گردد. خوب همانطور که انتظار می‌رفت، کلاستر واقعا کار می‌کند! بسیار هیجان انگیز است. نتیجه کار مطابق جدول زیر می‌باشد:

نام گره آغاز کننده پروسه‌ها

زمان انجام

Cyber

4:11 s

Debian

3:36 s


همانطور که می‌بینید، نتیجه عملیات بسیار جالب است. زمان ۵ دقیقه‌ای عملیات در دستگاه قویتر به سه دقیقه و نیم و زمان ۱۸ دقیقه و ۴۶ ثانیه‌ای دستگاه ضعیف‌تر به چهار دقیقه و ۱۱ ثانیه کاهش یافته است!

 

 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 11:9 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

برپا سازی کلاسترهای OpenMosix
جهت برپا سازی یک کلاستر، شما به حداقل دو دستگاه مبتنی بر لینوکس که به یک شبکه داخلی متصل بوده و قادر به کامپایل کردن و اجرای هسته‌های سری 2.4 باشند، نیاز دارید. همچنین شبکه شما باید دارای حداقل سرعت ۱۰۰ مگابیت باشد. این سرعت به شما سرعت بسیار خوبی را اعطا خواهد نمود. سرعت اترنت استاندارد یعنی ۱۰ مگابیت به شما سرعت چندان جالب توجهی نخواهد داد. البته در صورتی که شبکه شما از این نوع است و مایل هستید تا فقط OpenMosix را تجربه نمایید، پاسخ‌گو خواهد بود. استفاده از اترنت‌های گیگابیت مفید بوده ولی انتخابی است. البته ممکن است واقعا به آن نیاز نداشته باشید و اترنت ۱۰۰ مگابیت امور شما را به خوبی انجام دهد.
اتصال گره‌های کلاستر به یک سوئیچ پرسرعت سیستم‌های شما را قادر خواهد ساخت تا در حالت Full Duplex عمل نموده و پهنای باند شما دو برابر گردد. همچنین می‌توانید در یک کلاستر ۲ یا ۳ گره‌ای از سیم کشی مخصوص جهت اتصال مستقیم گره‌ها به هم استفاده نمایید.
داشتن فضای Swap کافی قویا توصیه می‌شود. به این صورت شما قادر خواهید بود تا گره‌ها را بصورت دینامیک از کلاستر خارج نمایید بدون اینکه با کمبود حافظه مواجه شوید. این موضوع نیز انتخابی بوده و ممکن است در شرایط خاصی که کلاستر تحت فشار کاری بالایی قرار دارد، به شما کمک کند.
در کنار مطالب بالا، باز هم اضافه می‌کنم که امکان ایجاد یک کلاستر مبتنی بر فقط دو دستگاه لینوکس و یک اترنت استاندارد نیز وجود دارد.
لازم نیست که تمام کامپیوترهایی که در یک کلاستر قرار می‌گیرند قوی باشند و یا مهم نیست که دارای سخت‌افزارهای متنوعی باشند. هر قدرت پردازشی می‌تواند به سرعت جمعی کمک کند!

شروع کار
فرایند برپاسازی کلاسترهای لینوکس بسیار ساده می‌باشد. ابتدا باید هسته‌هایی که OpenMosix روی آنها فعال شده‌اند را روی گره‌های کلاسترها نصب کرده و سپس ابزارهای کاربری را روی همه آنها نصب کرده و یک تنظیم کوچک در یک فایل پیکربندی انجام دهیم.
به عنوان نخستین مرحله از کار، باید ابزارهای نرم‌افزاری لازم را فراهم آورید. نخستین چیزی که به آن نیاز دارید، کد منبع هسته‌ای است که مایلید روی آن کار کنید. کد منبع هسته خود را می‌توانید از http://kernel.org دریافت نمایید. من برای اجرای پروژه، از هسته 2.4.23 استفاده کرده‌ام. در قدم بعدی باید وصله‌های هسته OpenMosix و سپس ابزارهای نرم‌افزاری OpenMosix را دریافت نمایید. برای دانلود وصله‌های هسته OpenMosix می‌توانید به سایت رسمی آن در آدرس http://openmosix.sf.net یا http://openmosix.org مراجعه کنید و یا از لینک‌های زیر برای هسته‌های مورد نظرتان استفاده کنید:

هسته 2.4.21:http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.21-om-20030825.bz2
هسته 2.4.22:http://tab.tuxfamily.org/download/openmosix/releases/patch-2.4.22-om-20031215.bz2
هسته 2.4.23:http://tab.tuxfamily.org/download/openmosix/stable/patch-2.4.23-om-20031215.bz2
هسته 2.6.0 (آزمایشی):http://tab.tuxfamily.org/download/openmosix/unstable/patch-2.6.0-om-0.20031202.1.bz2
ابزارهای نرم‌افزاری:http://umn.dl.sourceforge.net/sourceforge/openmosix/openmosix-tools-0.3.5.tar.bz2

فراموش نکنید که همیشه می‌توانید جدیدترین نسخه‌های وصله هسته و ابزارهای نرم‌افزاری OpenMosix را از سایت رسمی آن دریافت نمایید. پس از اتمام دریافت تمامی اقلام مورد نیاز (تنها کد منبع هسته دارای حجم زیادی است و بقیه ابزارها همگی بین ۲۰۰ تا ۳۰۰ کیلوبایت ظرفیت دارند!) باید تجهیز گره‌‌های کلاستر را شروع کنید. ابتدا لازم است در شبکه محلی خود کامپیوترهایی را که مایلید به عنوان گره‌های کلاستر استفاده کنید، تعیین نمایید. من در دفتر کار خود دو دستگاه را برای این منظور انتخاب کردم. (تصویر زیر)




همانطوری که قبلا اشاره کردم، لازم نیست که گره‌های کلاستر حتما قویترین ایستگاه‌های کاری روی شبکه باشند. دستگاه‌های انتخابی من دارای مشخصات زیر هستند:

Node No.1 : Debian (LAN SERVER)
CPU : P-III 800 MHz
RAM: 128 MB SD-RAM
NIC : SIS 100 Mbps
HDD: 2x40GB
Distro : Debian GNU/Linux 3.0 (woody)
Kernel: 2.4.23 (will be 2.4.23-om)

Node No.2 : Cyber (Workstation)
CPU : Celeron 333 MHz
RAM: 160 MB SD-RAM
NIC : D-Link 100 Mbps
HDD: 1x6.4GB
Distro : Libranet GNU/Linux 2.8.1
Kernel: 2.4.21 (will be 2.4.23-om)


پس از تعیین گره‌های کلاستر، شروع به نصب نرم‌افزارهای لازم برای این کار می‌کنیم. این عملیات را برای تمام گره‌ها باید تکرار کرد. برای شروع هسته OpenMosix را نصب می‌کنیم. ابتدا کد منبع هسته را در آدرس usr/src کپی کرده و آنرا با استفاده از دستورهای زیر باز می‌کنیم:

# cd /usr/src
# bzip2 -d linux-2.4.23.tar.bz2
# tar -xf linux-2.4.23.tar
# mv linux linux.old
# ln -s linux-2.4.23 linux

سپس وصله هسته را در کد منبع خود اعمال می‌کنیم:

# cd linux
# cat /home/alan/patch-2.4.23-om-20031215.bz2 | bzip2 -d | patch -p1 -l

کد منبع هسته در چند ثانیه وصله خواهد شد. اکنون می‌توانید طبق روال‌های گذشته هسته را پیکربندی و کامپایل نمایید. فقط اطمینان حاصل کنید که گزینه‌های زیر را در بخش OpenMosix پیکربندی هسته انتخاب کنید:

[*] openMOSIX process migration support
[*] Stricter security on openMOSIX ports
[*] openMOSIX File-System
[*] Poll/Select exceptions on pipes

برای شروع پیکربندی هسته، دستور زیر را وارد نمایید:

# cd /usr/src/linux
# make menuconfig

پس از اتمام پیکربندی و ذخیره تغییرات، برای کامپایل شدن هسته دستورات زیر را وارد نمایید:

# make-kpkg clean
# make-kpkg --revision=8:MOSIX01 kernel_image

و یا خیلی ساده‌تر:

# make-kpkg clean
# make-kpkg kernel_image

این نحو عملیات کامپایل هسته به یک بسته دبیان ختم خواهد شد که قادرید آنرا به راحتی روی سیستم نصب نمایید. مدت زمان انجام عملیات کامپایل هسته به سرعت پردازنده سیستم بستگی دارد. پس از اتمام عملیات کامپایل هسته، بسته‌ای را که ایجاد شده است، نصب می‌کنیم:

# dpkg -i kernel_image-2.4.23-om_MOSIX01_i386.deb

هنگام نصب این بسته، مدیر بوت Lilo به طور خودکار پیکربندی خواهد شد. در صورتی که از گراب استفاده می‌کنید، باید تغییرات را بطور دستی در فایل پیکربندی آن اعمال نمایید. برای این منظور باید فایل boot/grub/menu.lst را ویرایش کرده و خطوط زیر را اضافه نمایید. البته مقادیری مانند پارتیشن‌های قابل بوت و سایر آدرس‌ها ممکن است روی سیستم‌های شما متفاوت باشد که آنها را باید تغییر دهید:

title Libranet GNU/Linux, kernel 2.4.23 OpenMosix
root (hd0,1)
kernel /vmlinuz-2.4.23-om root=/dev/hda3 ro hdb=scsi
savedefault
boot

پس از اتمام نصب هسته‌ها، اکنون باید ابزارهای نرم‌افزاری OpenMosix را نصب نماییم. برای این منظور، فایلی را که دانلود کرده بودیم، باز کرده و کامپایل و نصب می‌کنیم:

# bzip2 -d openmosix-tools-0.3.5.tar.bz2
# tar -xf openmosix-tools-0.3.5.tar
# cd openmosix-tools-0.3.5
# ./configure --with-kerneldir=/usr/src/linux-2.4.23/
# make
# make install

کامپایل و نصب ابزارهای نرم‌افزاری مدت زیادی طول نمی‌کشد (۱-۲ دقیقه یا کمتر روی پردازنده‌های قویتر). پس از اتمام آن، باید در یکی از فایل‌های پیکربندی مربوطه لیست گره‌های کلاستر را تعریف کرده و سپس سرویس OpenMosix را طوری تعریف کنیم تا هر بار بصورت خودکار اجرا شود. به این منظور ابتدا دستور:

# vi /etc/openmosix.map

اجرا کرده و باید مشخصات گره‌ها را بصورت <شماره گره> <آدرس IP گره> <تعداد> وارد نماییم:


1 192.168.0.1 1
1 192.168.0.7 1

آرگومان شماره هنگامی مفید است که بخواهیم چند آدرس IP پشت سرهم را تعریف نماییم. مثلا در صورتی که ۱۰ گره داشته باشیم که آدرس آنها از ۲۵ شروع می‌شود، وارد خواهیم کرد:

1 192.168.0.25 10

و عملیات تایپ ما را بسیار کمتر خواهد کرد. این فایل پیکربندی روی تمام گره‌ها یکسان است. بنابراین می‌توانید آنر روی تمام گره‌ها کپی کنید. پس از انجام این کار به راه‌اندازی خودکار OpenMosix می‌پردازیم. ابتدا باید تعیین کنید که سطح اجرایی پیش‌گزیده هر یک از گره‌ها کدام است. به این منظور دستور زیر را وارد نمایید:

# runlevel
N 2

خوب سطح اجرایی پیش‌گزیده ما ۲ است (سیستم‌های مبتنی بر دبیان). بنابراین وارد دایرکتوری etc/rc2.d می‌شویم. در صورتی که سطح اجرایی شما متفاوت شد، این عملیات را با دایرکتوری مربوط به آن که می‌تواند rc3.d، rc4.d و... باشد انجام دهید:

# cd /etc/rc2.d
# ln -s ../init.d/openmosix S20openmosix

در اینجا نمی‌خواهم فلسفه دستورات بالا را توضیح دهم زیرا از مسیر اصلی دور خواهیم شد. پس از اتمام عملیات بالا و بوت سیستم‌ها، سیستم‌هایی داریم که مبتنی بر OpenMosix بوده و سرویس آن نیز بطور خودکار اجرا می‌شود. برای بکار افتادن کلاستر، گره‌ها را بوت می‌کنیم. گره شماره ۱ با موفقیت OpenMosix را اجرا می‌کند، ولی گره شماره ۲ با پیغام Invalid Map File قادر به اتصال به کلاستر نیست. پس مقداری جستجو و بررسی فایل پیکربندی، متوجه می‌شوم که در فایل etc/hosts یک ورودی به صورت زیر موجود است:

127.0.0.1 cyber

آنرا تبدیل به ورودی زیر می‌کنم:

192.168.0.7 cyber

مجددا سرویس OpenMosix را با دستور etc/init.d/openmosix restart اجرا می‌کنم. اکنون بدون مشکل اجرا می‌شود. برای حصول اطمینان از شناخته شدن تمام گره‌های کلاستر، با دستور زیر آنها را آزمایش می‌کنم:

# mosctl status 1
up.
# mosctl status 2
up.

بسیار عالی! هر دو گره کلاستر در حال اجرا هستند. اکنون کلاستر ما آماده است. با استفاده از دستور mosmon می‌توانید وضعیت کلی کلاستر را بررسی نمایید. اینکه کدام سیستم‌ها دارای چه مقدار بار فعال هستند و با گذاشتن بار روی یکی از آنها چه اتفاقی خواهد افتاد و ...

 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 11:3 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

مفاهیم کلاسترها و OpenMosix

پیش‌درآمد
مبحث کلاسترها در لینوکس یکی از جذاب‌ترین و جالب‌ترین مباحث برای افراد علاقه‌مند به پردازش‌های موازی است. بدلیل علاقه بسیار زیاد خودم به این مبحث تصمیم به تهیه مقاله‌ای در این مورد گرفتم و بهتر دیدم یکی از بهترین مقالات موجود را ترجمه کرده و تجربه‌های خودم را نیز به آن اضافه کنم. مقاله حاضر برگرفته از نوشته‌های دانیل رابینز (Daniel Robbins) می‌باشد. این نوشته‌ها را می‌توانید از این نشانی دریافت نمایید. دانیل رابینز طراح و خالق لینوکس Gentoo می‌باشد. همانطور که اشاره کردم، این یک ترجمه تنها نیست. من خود تمام آنرا عملا انجام داده و بخش‌های عملی راهنمای فوق را کاملا تغییر داده و روش آسان‌تری را برای اجرای کلاستر پیشنهاد کرده‌ام. در بخش نخست این مقاله که اکنون در حال خواندن آن هستید، با مفاهیم کلاسترهای لینوکس تا حدودی آشنا خواهید شد. در بخش بعدی به طور عملی اقدام به برپاسازی یک کلاستر لینوکس خواهیم کرد.

کلاسترها چه هستند؟
به طور عمومی هنگامی که صحبت از کلاسترها می‌شود، مقصود فناوری‌هایی است که از طریق آن کامپیوترهای مختلف بتوانند با هم و با اشتراک قدرت پردازش هم، بتوانند امور پردازشی را که به آنها محول شده است، انجام دهند. این امور پردازشی همه چیز می‌تواند باشد. از پردازش‌های سنگین علمی تا تبدیل فایل‌های موسیقی و یا رندر کردن جلوه‌های ویژه فیلم‌های سینمایی. برای مثال، تمامی جلوه‌های ویژه فیلم‌های ارباب حلقه‌ها توسط کلاسترهای لینوکس رندر و پردازش شده‌اند.
انواع مختلفی از فناوری‌های کلاستر سازی برای سیستم‌عامل لینوکس وجود دارند. یکی از شناخته شده ترین آنها کلاستر Beowulf است. این کلاستر حاوی چندین ماشین است که توسط یک شبکه محلی پرسرعت به هم متصل شده‌اند. برای استفاده از این سیستم‌های کلاستر، برنامه‌های کاربردی باید مجددا برای استفاده از آن با استفاده از کتابخانه‌های کلاستر سازی نوشته شوند. عمومی‌ترین کتابخانه‌های کلاستر سازی عبارتند از PVM و MPI. هر دوی این کتابخانه‌ها بسیار عالی کار می‌کنند. با استفاده این کتابخانه‌ها، برنامه نویسان قادر به نوشتن برنامه‌هایی هستند که از منابع روی کلاستر همانند منابع روی یک کامپیوتر، بهره گیری نمایند.برای بسیاری از برنامه‌های کاربردی، PVM و MPI امکان افزایش خطی قدرت پردازش کلاسترها را با توجه به تعداد ماشین‌های روی آن فراهم می‌نمایند.

PVM و MPI به درد همه نمی‌خورد!
با اینکه کلاسترهای Beowulf بسیار قدرتمند هستند، ولی به درد همه کس نمی‌خورند! بزرگترین اشکال آنها نیاز به نرم‌افزارهای خاص می‌باشد که با استفاده از PVM و MPI نوشته شده باشند تا بتوانند از مزایای کلاستر استفاده کنند. البته این برای مراکز علمی و تحقیقاتی که برنامه‌های کاربردی خاص خود را از ابتدا می‌نویسند، اشکال مهمی نیست. آنها به راحتی قادرند تا از MPI و PVM استفاده کنند.
حقیقتا درصد افراد و موسساتی که برنامه‌های کاربردی خود را از ابتدا می‌نویسند بسیار پایین است. برای کسانی که مایل هستند تا یک کلاستر بنا کرده و از مزایای آن در اجرای برنامه‌های کاربردی عادی استفاده کنند، این یک مسئله بزرگ است! برنامه‌های کاربردی این دسته از موسسات بدون استفاده از کتابخانه‌های کلاستر سازی نوشته شده‌اند، بنابراین این گونه موسسات قادر نیستند تا از مزایای کلاسترها بهره‌گیری نمایند.
آیا جالب نیست که یک فناوری وجود داشته باشد تا بتوانید با استفاده از آن از مزایای کلاسترهای لینوکس استفاده کنید، بدون آنکه نیاز داشته باشید تا برنامه‌های کاربردی خود را از ابتدا نوشته و یا حتی آنها را مجددا کامپایل نمایید؟ خوشبختانه چنین فناوری وجود دارد و نام آن OpenMosix است!

ورود به OpenMosix
OpenMosix
قابلیت‌های کلاستر سازی را به هسته لینوکس اضافه می‌کند، بنابراین هر پروسه استاندارد لینوکس قادر خواهد بود تا از مزایای منابع کلاستر استفاده نماید. با استفاده از تکنیک‌های موازنه بار تطبیقی (Adaptive Load Balancing) پردازش‌های در حال اجرا بر روی یک گره (node) از کلاستر، قادرند تا بطور نامحسوس به یک گره دیگر از کلاستر مهاجرت کرده و بتوانند سریعتر اجرا شوند. بدلیل اینکه OpenMosix بطور کاملا نامحسوس (Transparent) عمل می‌کند، پردازش‌هایی که از یک گره به گره دیگر مهاجرت می‌کنند، حتی نمی‌دانند (لازم هم نیست بدانند) که در یک ماشین دیگر در حال اجرا هستند!
نامحسوس بودن OpenMosix به این معنی است که برای استفاده از مزایای موازنه بار تطبیقی آن، نیازی به برنامه نویسی خاصی نیست. در حقیقت، یک نصب پیش‌گزیده OpenMosix به طور خودکار پردازش‌ها را به بهترین گره منتقل خواهد کرد. این قابلیت OpenMosix را تبدیل به یک راه‌حل کلاستر سازی می‌کند که می‌تواند برای بخش عظیمی از برنامه‌ها مفید باشد.

OpenMosix دقیقا چکار می‌کند؟
بزرگترین کاری که OpenMosix انجام می‌دهد، تبدیل دسته‌ای از ماشین‌های لینوکس به یک سیستم بزرگ مجازی چند پردازنده‌ای متقارن (SMP=Symmetric MultiProcessor) است. هرچند نحوه عملکرد آن با سیستم‌های SMP واقعی مقداری تفاوت دارد. نخست اینکه سیستم‌های واقعی SMP که مبتنی بر ۲ یا چند پردازنده هستند، می‌توانند اطلاعات را با سرعت بسیار بالا تبادل نمایند، در صورتی که در OpenMosix سرعت ارتباط بین گره‌های کلاستر، محدود به سرعت شبکه محلی است که گره‌ها در آن قرار دارند. استفاده از ارتباطات اترنت گیگابیت و یا سایر انواع پر سرعت اترنت باعث خواهد شد تا تبادل داده‌ها با سرعت بالاتری صورت گرفته و کارایی کلاستر بالاتر باشد.
البته OpenMosix دارای مزایایی نسبت به سیستم‌های چند پردازنده‌ای سنتی داراست. با استفاده از OpenMosix شما قادر به ایجاد کلاسترهایی حاوی دها و حتی صدها کامپیوتر با سخت‌افزار ارزان هستید در حالی که سیستم‌های SMP که حاوی تعداد زیادی پردازنده باشند، می‌توانند بسیار گرانقیمت باشند. برای بسیاری از برنامه‌های کاربردی، OpenMosix نسبت به سیستم‌های SMP یا Mainframe، حرف بیشتری برای گفتن دارد. البته دلیلی وجود ندارد که شما نتوانید OpenMosix را بر روی سیستم‌های قدرتمند چند پردازنده‌ای اجرا نمایید. حتی این امکان وجود دارد تا OpenMosix را به همراه برنامه‌های کاربردی که با MPI یا PVM توسعه یافته‌اند، اجرا نمایید تا سرعت کلاستر خود را بهینه نمایید.
همانند سیستم‌های SMP سنتی، OpenMosix قادر نیست تا یک پروسه را روی چند پردازنده فیزیکی اجرا نماید. واضح‌تر اینکه نباید انتظار داشته باشید تا اجرای برنامه‌ای مانند مرورگر موزیلا روی یک کلاستر سریعتر از یک سیستم تک پردازنده‌ای باشد، مگر اینکه اجرا پروسه آنرا به یک گره سریعتر روی کلاستر منتقل نمایید. بعلاوه در حال حاضر OpenMosix امکان جداسازی رشته‌های متعدد به هم پیوسته را از یکدیگر فراهم نمی‌کند.
OpenMosix
قادر است تا پروسه‌های استاندارد لینوکس را بین گره‌های کلاستر بدون مشکل مهاجرت دهد. در صورتی که یک برنامه کاربردی تعداد زیادی زیر پروسه داشته باشد، آنگاه OpenMosix قادر است تا هر یک از آنها را به یک گره مناسب در کلاستر منتقل کند. شما می‌توانید از این قابلیت حتی در برنامه‌های کاربردی که دارای زیر پروسه نیستند نیز استفاده کنید. برای مثال، در صورتی که نیاز دارید تا تعدادی فایل موسیقی را از فرمت wav به mp3 تبدیل نمایید، تبدیل هر فایل یک پروسه خواهد بود. شما می‌توانید تمام این پروسه‌ها را یکجا اجرا نمایید. در آنصورت عمل پردازش بین کلاستر پخش خواهد شد (بجای اینکه عملیات تبدیل فایل‌ها را یک به یک انجام دهید). در صورتی که شما ۱۲ فایل موسیقی و ۱۲ گره همسان داشته باشید، عملیات تبدیل ۱۲ بار سریعتر انجام خواهد شد.

Mosix در برابر OpenMosix
پروژه OpenMosix جدیدترین شعبه پروژه Mosix می‌باشد که یکی از اهداف آن فراهم کردن کلاستر سازی نامحسوس روی لینوکس است. پس چرا ما از OpenMosix استفاده کنیم؟ دلایل خوبی برای این امر وجود دارد. در اواخر سال ۲۰۰۱ رهبری پروژه Mosix تصمیم به انتشار نسخه‌های جدیدی از Mosix تحت مجوزهای غیر GPL گرفت (کدهایی که قبلا GPL بودند). بنابراین نسخه‌های جدید Mosix دیگر نرم‌افزار آزاد نبودند و حقوق کاربران نیز در آنها نامشخص بود و هیچ مانعی برای نویسنده Mosix وجود نداشت تا از کاربران درخواست پرداخت وجه نماید.
این تغییر مجوز باعث ایجاد نگرانی‌هایی در میان کاربران Mosix شد و برداشته شدن کدهای منبع و حذف لیست‌های پستی Mosix بدون توضیح موجه، این نگرانی را تشدید نمود. خوشبختانه این کاربران تنها کسانی نبودند که در باره این تغییرات جدید نگران بودند. موشه بار (Moshe Bar) یکی از مدیران پروژه Mosix با این تغییر مجوز از GPL موافق نبود. بنابراین وی پروژه OpenMosix را شروع کرد تا این اطمبنان حاصل شود که ارائه نسخه آزاد و رایگان Mosix به عموم مردم ادامه پیدا خواهد کرد. سایت رسمی پروژه OpenMosix در آدرس http://openmosix.sf.net یا http://openmosix.org قرار دارد.
پس از آغاز این پروژه، تعداد زیادی از کاربران Mosix به OpenMosix روی آوردند. سیاست توسعه باز موشه باعث شد تا توسعه OpenMosix سرعت بیشتری بگیرد. در حال حاصر ۱۴ نفر بطور فعال روی پروژه OpenMosix کار می‌کنند در حالی که تعداد افراد پروژه Mosix تنها ۴ نفر است. در حال حاضر تعداد زیادی رفع اشکال، بهینه سازی سرعت و بهینه سازی در کدهای OpenMosix صورت گرفته است و تعدادی قابلیت جدید و بهینه سازی مجدد در سرعت نیز بزودی ارائه خواهند شد. در حقیت جدا شدن پروژه OpenMosix از Mosix باعث ارائه راه‌حل‌های بهتری برای کلاستر سازی تحت سیستم‌عامل لینوکس فراهم نموده است.

  
 |+| نوشته شده در  چهارشنبه بیست و هفتم تیر 1386ساعت 10:58 قبل از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

نخستين مركز ابرپردازش استان اصفهان در دانشگاه صنعتي آغاز به كار كرد

رييس مركز خدمات محاسبات پيشرفته دانشگاه صنعتي اصفهان از آغاز به كار نخستين مركز ابرپردازش استان اصفهان در اين دانشگاه خبرداد.

دكتر"محمود اشرفي زاده" روزچهارشنبه با اعلام اين خبر، گفت: دراين مركز ابرپردازش، امكانات نرم و سخت افزاري براي انجام محاسبات پيشرفته به صورت حضوري و از راه دور براي پژوهشگران فراهم شده‌است.

وي افزود: باراه‌اندازي نخستين بخش اين مركز زمينه‌استفاده تمامي كاربران و فعالان بخش صنعت و معدن در استان فراهم شد.

دكتر اشرفي زاده گفت: در نخستين مرحله اين طرح، بيش از ‪ ۱۲۸‬هسته پردازش به طور همزمان مي‌توانند محاسبات پيچيده را انجام دهد و ظرفيت تبديل اين توان به يك مركز ملي بابيش ازچند هزار پردازنده براي پاسخگويي به كاربران را دارد.

وي، تامين، نصب و راه اندازي نرم افزار، ارائه آموزش و مشاوره تخصصي در امور پژوهشي و تدوين نرم افزارهاي ويژه را از ديگر خدمات اين مركز عنوان كرد.

اشرفي زاده‌اظهار داشت: براي اجراي اين طرح واستقرار امكانات سخت افزاري آن يك ميليارد و پانصد ميليون ريال هزينه شده كه ارتقاء امكانات اين مركز به بيش از يك هزار پردازنده، ‪ ۲۰‬ميليارد ريال اعتبار نيازدارد.

وي تصريح كرد: نخستين مركز ابر پردازش دومين قطب صنعتي كشور، پاسخگوي تمامي نيازهاي بخش پژوهش و صنعت استان نيست و بايد توسعه يابد.


 

 |+| نوشته شده در  جمعه بیست و دوم تیر 1386ساعت 3:47 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
کامپیوترهای موازی

در صنایع و دانشگاهها برای حل مسائل شبیه سازی، مدل سازی، طراحی و غیره نیاز به انجام محاسبات کامپیوتری بسیار وقتگیری می‌باشد که در عمل طولانی شدن زمان، حل مساله را غیرممکن ویا بسیار مشکل می‌کند. در واقع باید گفت که در بسیاری از موارد، نیازهای محاسباتی برای حل مسائل و طراحی سیستم های واقعی فراتر از توانائی کامپیوترهای معمولی که در دسترس همگان قرار دارد می‌باشد. به ناچار طراحان و کاربران به سوی استفاده از ابرکامپیوترها سوق پیدا می‌کنند. همانطورکه می‌دانید ابرکامپیوترها، کامپیوترهای بسیار گران قیمتی می‌باشند که پرداخت هزینه های چندمیلیون دلاری آنها خارج از توانائی بسیاری از موسسات حتی درسطح بین المللی می‌باشد. علاوه براین، ابرکامپیوترها به عنوان یک سلاح استراتژیک  محسوب شده و محدودیتها و نظارتهای شدیدی در فروش و صادرات آنها اعمال می گردد.

راه حل این مشکل اساسی چه چیزی می تواند باشد؟ آیا واقعا می توان به این مشکل فائق آمد؟ مسلما وجود جواب مثبتی برای این سوال می تواند بسیار ارزشمند باشد و موسسات ما را قادر به رقابت با بزرگترین موسسات بینالمللی سازد. خوشبختانه باید گفت جواب مثبتی برای این مساله وجود دارد. با استفاده از ایده ی موازی کردن تعداد زیادی کامپیوتر معمولی می توان به کامپیوترهائی بسیار قدرتمند دست یافت. امروزه استفاده از این ایده در ساخت ابرکامپیوترها رایج گردیده است، بطوریکه درحال حاضر ابرکامپیوترهای ساخته شده به این روش در میان 10 ابرکامپیوتر برتر جهان می‌باشند.

 

 |+| نوشته شده در  پنجشنبه چهاردهم تیر 1386ساعت 5:28 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
 شرکت IBM سریع‌ترین ابرکامپیوتر دنیا را با هدف اقتصادی و پژوهشی تولید کرد.


این محصول جدید که Blue Gene/P نام گرفته است، سه برابر از پرقدرترین ابرکامپیوتر موجود با نام BlueGene/L که پیش‌تر توسط شرکت IBM ساخته شده بود، سریع‌تر است.

این ابرکامپیوتر جدید قادر است محاسبات را با سرعت پتافلاپ(petaflop) انجام دهد. بر این اساس، Blue Gene/P می‌تواند هر هزار محاسبه را تنها ظرف یک ثانیه انجام دهد.

طبق گفته‌های شرکت IBM، این ابرکامپیوتر جدید 100 هزار بار از پرتوان‌ترین کامپیوترهای شخصی موجود سریع‌تر است.

دولت آمریکا که این ابرکامپیوتر را از شرکت IBM خریداری کرده است قصد دارد اواخر سال جاری آن را در آزمایشگاه ملی آرگون وابسته به وزارت انرژی این کشور نصب کند.

قرار است از این دستگاه فوق سریع در محاسبات پیچیده و شبیه‌سازی‌‌های رشته‌های مختلف علمی، از فیزیک گرفته تا نانوتکنولوژی مورد استفاده قرار گیرد.

Blue Gene/L که هم‌اکنون به عنوان سریع‌ترین ابرکامپیوتر دنیا مورد استفاده قرار می‌گیرد، در آزمایشگاه ملی Lawrence Livermore در ایالت کالیفرنیای آمریکا واقع شده است.


 

 |+| نوشته شده در  یکشنبه دهم تیر 1386ساعت 3:28 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
اطلاعاتی در مورد ابر رایانه ها

ابر رایانه وسیله ای برای تبدیل مسایل محاسبه ای به مسایل ورودی و خروجی است.
ابر رایانهرایانه ای است که در زمان معرفی از نظر ظرفیت پردازش و به خصوص سرعت محاسبه ازدیگرماشین ها قوی تر باشد. اولین ابر رایانه ها در دهه ی 1960به طور عمده در موسسهاطلاعات کنترل (CDC) توسط سیمورکری «Seymour Cray» طراحی شد. کری تا دهه ی 1970زمانی که برای تاسیس شرکت خود پژوهشکده کری, از آن جدا شد آن را هدایت می کرد. کریبعدها با طرح های جدید خود بازار ابر رایانه را در دست گرفت و تا 25 سال 1965تا 1990 بی رقیب ماند. در دهه ی 1980به موازات تولید یک دهه قبل تر کامپیوتر کوچكها شمار زیادی از رقیبان کوچکتر وارد بازار شدند اما بسیاری از آنها در" رکود بازارابر رایانه ها" اواسط دهه ی 1990 ناپدید شدند. امروزه ابر رایانه ها طرح های یکبار تولید شونده هستند که توسط شرکت های "سنتی" مانند IBM و HP طراحی می شوند. اینشرکت ها بسیاری از شرکت های دهه ی 1980 را برای استفاده از تجاربشان خریداری کردند،هر چند در طراحی ابر رایانه ها موسسه ی کری متخصص تر است .
معنای کلمه یابر رایانه تا حدی متغیر است , و ابر رایانه های امروزی فردا دیگر کاربردی نخواهندداشت، همانگونه که از کولاسوس (Colossus)، اولین رایانه ی الکترونیکی برنامه داررقمی دنیا، که طی جنگ جهانی دوم رمز های آلمانی ها را می شکست) پیدا است. ماشین هایاولیه ی سی دی سی (CDC) صرفاً پردازنده های منفرد پر سرعتی بودند که تا ده برابرسریع تر از سریع ترین ماشین هایی که توسط دیگر شرکت ها معرفی شده بودند کار میکردند. در دهه ی 1970 بیشتر ابر رایانه ها برای استفاده از پردازنده ی برداری طراحیمی شدند و بسیاری از بازیگر های تازه کار برای ورود به بازار پردازنده هایی از ایننوع را با قیمت ارزان تر عرضه می کردند. در دهه های 1980و 1990 پردازنده های برداریجای خود را به سیستم های پردازش موازی فشرده با هزاران سی پی یو (CPU) ساده ای دادکه برخی از آنها واحد های غیر مرسوم و برخی طرح های متداول و سنتی بودند. امروزهطرح های موازی بر پایه ی ریز پردازنده های RISC " غیر مرسوم" مانند PowerPC یا PA_RISC قرار دارند.

ابزار های نرم افزاری
ابزار های نرم افزار یپردازش توزیعی، API های استاندارد از جمله MPI و PVM و راه حل های نرم افزاری متکیبر منبع باز مانند Beowulf و openMosix، که کار ساخت نوعی از " ابر رایانه هایمجازی" با استفاده از مجموعه های ایستگاه کار ها و خدمتگذار های عادی را تسهیلبخشید، را شامل می شود. فن آوری هایی مانند Rendezvous راه تولید خوشه های رایانههای ویژه را هموار ساخت. یک نمونه، تابع تفسیر توزیعی در برنامه کاربردیترکیبیApple's Shake ست. رایانه هایی که از نرم افزار Shake استفاده می کنند کافیاست فقط در شبکه در مجاورت یک دیگر باشند تا به طور خود کار منابع همدیگر را پیدا ومورد استفاده قرار دهند. در حالی که هنوز هیچ کس خوشه رایانه ی ویژه ای ای بهتر ازابر رایانه های سال گذشته نساخته است فاصله ی بین رایانه های رومیزی، یا حتی لپ تاپها و ابر رایانه ها در حال ناپدید شدن است و این احتمال وجود دارد که این روند باافزایش پشتیبانی توکار برای همسانی(parallelism) و پردازش توزیعی در سیستم عامل هایرایانه های رومیزی تداوم یابد. یک زبان برنامه نویسی آسان برای ابر رایانه ها مبحثتحقیقاتی باز و وسیعی را در علم رایانه به جا ی می گذارد .

کاربرد ها
ابر رایانه ها برای کارهایی که به محاسبات زیاد و دقیق نیازمند است به کار میرود از جمله: پیش بینی وضع هوا , تحقیقات آب و هوایی ( که شامل گرم شدن جهانی میشود)، نمونه سازی مولکولی (محاسبه ی ساختار ها و خصوصیات ترکیب های شیمیایی، درشتمولکول های زیستی، بسپار ها, و بلور ها، شبیه
طراحی
ابر رایانه ها به دلیل به کار گیری طرح های ابتکاری و جدید با سرعتی بیشتر از رایانه های متداول کار می کنند. این طرح ها ان ها را قادر می سازد بسیاری کارها را با وجود نیاز به برسی فنی جزییات بغرنج به صورت موازی انجام دهند.ان ها بیشتر برای انجام گونه های خاصی از محاسبات تخصص دارند و در برابر بیشتر کارهای محاسباتی عادی عملکرد ضعیفی از خود نشان می دهند. سازمان دهی حافظه این رایانه ها به دقت تنظیم شده است تا در تمام زمان ها پردازنده با داده ها و دستور العمل ها تغذیه شود. در واقع, بیشتر تفاوت پیاده سازی بین رایانه های کند تر و ابر رایانه ها به خاطر طرح سازمان دهی حافظه و ترکیب بندی اجزا است.

 

 |+| نوشته شده در  یکشنبه دهم تیر 1386ساعت 1:45 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

What is XPipe

 

XPipe is an approach to manageable, scaleable, robust XML processing based on the assembly line principle, common in many areas of manufacturing.

XPipe is a philosophy and a set of open-source software that implements in philosophy. The idea is that XPipe become the reference implementation of the architecture and also serve as a focal point for XPipe experimentation and discussion.

The XPipe project was instigated by (and is sponsored by) Propylon to promote the assembly line approach to XML processing in the industry.

Propylon's engineering team, lead by XML/SGML "lifer", Sean McGrath have been using this approach very sucessfully for many years and feel it is time it was more widely known and nurtured. (Waaay back in 1995, Propylon (or Digitome as it was known then) where developing solutions based on the pipeline approach, known as IDM. The IDM approach of "transformation decomposition" was the subject of a paper given at SGML '95 called "SGML Transformation: The IDM approach"

Propylon have a consulting/services team that build XML processing solutions for clients. Propylon are developing a suite of commercial offerings based on the assembly line approach to XML processing. The PropelX line of products will bring the XPipe approach to leading commercial app server/portal server, integration server and transformation server platforms.

 

برای کسب اطلاعات بیشتر و دانلود برنانه های مورد نیاز به سایت زیر مراجعه نمایید

http://xpipe.sourceforge.net

 |+| نوشته شده در  جمعه هشتم تیر 1386ساعت 6:43 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام

برای عضویت می توانید روی لینک زیر کلیک نمایید.

http://www.irexpert.ir/Webforms/SignUp/NewSignUp.aspx?EID=167

 سايت IrExpert ، با هدف ايجاد بانک اطلاعاتي جامع متخصصين ايراني و نيز به منظور اطلاع رساني مناسب در کليه زمينه هاي تخصصي راه اندازی شده است.

با عضويت در اين سايت داراي Home Page اختصاصي مي شويد که مي توانيد مشخصات فردی، مهارتهای تخصصی و ليست پروژه های خود را در آن ثبت کرده و در عرصه جهانی معرفی نماييد. همچنين آخرين اخبار تخصصي، فراخوان کنفرانسها و همايش ها، بهترين فرصتهاي شغلي و بورس هاي تحصيلي داخل و خارج از کشور بصورت روزانه به آدرس Email شما ارسال مي شوند.

 |+| نوشته شده در  جمعه هشتم تیر 1386ساعت 5:38 بعد از ظهر  توسط حامد سلیمی پور  |  داغ کن - کلوب دات کام
 
  بالا