سیستم توزیع شده

سیستم توزیع شده

مولف و مترجم : مهندس سعید صادقی
شرکت صفا رایانه
 
 
تعریف سیستم توزیع شده:
هر سیستمی که بر روی مجموعه ای از ماشین ها که دارای حافظه اشتراکی نیستند، اجرا شده و برای کاربران به گونه ای اجرا شود که گویا بر روی یک کامپیوتر می باشند ، يک سيستم توزيع شده است.
در يک سيستم توزيع شده :
  • يک نرم افزار يا مجموعه نرم افزاری واحد و متحد الشکل بر روی هر گره اجرا می شود.
  • همه ماشینها یک کرنل مشابه را اجرا می کند.
  • هر کرنل منابع خود را کنترل می کند
 
مواردی که در طراحی سیستم توزیع شده باید در نظر گرفت:
  • شفافیت
  • انعطاف پذیری
  • قابلیت اطمینان
  • کارایی خوب
  • قابليت گسترش
 
قابلیت اطمینان:
  • در دسترس بودن یک فاکتور مهم مرتبط با اين سيستم ها است.
  • طراحی نباید به گونه ای باشد که نیاز به اجرای همزمان کامپوننت های اساسی باشد.
  • افزونگی بیشتر داده هاه باعث افزایش در دسترس بودن شده اما ناسازگاری را بیشتر میکند.
  • قدرت تحمل نقص(Fault tolerance) باعث پوشاندن خطاهای ایجاد شده توسط کاربر می شود.
 
کارآیی:
  • بدون کارآیی مناسب کلیه موارد استفاده نرم افزار بی فایده می باشد.
  • اندازه گیری کارايی در سيستم های توزيع شده کار آسانی نيست.
  • برای رسيدن به کارايی بايد توازنی خاص در تعداد پیغامها و اندازه کامپوننهای توزیع شده بر قرار باشد.
 
قابليت گسترش:
  • قابليت گسترش یک اصل کلی برای توسعه سیستمهای توزیع شده می باشد.
  • برای رسيدن به اين قابليت بايد از کامپوننتها، جداول و الگوریتمهای متمرکز دوری کرد.
  • فقط باید از الگوریتمهای غیر متمرکز استفاده شود.
 
 خصوصیات الگوریتمهای غیرمتمرکز:
  • هیچ ماشینی نباید اطلاعات کاملی در مورد وضعیت سیستم داشته باشد.
  • ماشینها باید بر مبنای اطلاعات محلی خود تصمیم بگیرند.
  • خرابی یک ماشین نباید تاثیری در اجرای الگوریتم داشته باشد.
  • نباید تصوری ضمنی از وجود ساعتی عمومی وجود داشته باشد.
 
 
گونه های مختلف سیستمهای توزیع شده:
  • سرور- ایستگاه کاری
  • Processor pool
  • هیبرید
  • یکپارچه
 
مدل سرور -  ایستگاه کاری
 
مدل Processor Pool
 
 
 
مدل هیبرید
 
مدل یکپارچه
 


سیستمهای توزیع شده متکی بر ارتباطات هستند و به طور کلی از دو سرويس زیر استفاده می کنند:
  • انتقال پيام Message Passing
  • فراخوانی از راه دور رویه ها Remote Procedure Call
 
سیستم توزیع شده از ديد لايه بندی ها
 
برنامه های کاربردی
DBMS,TPS, …
سیستم عامل توزیع شده
سخت افزار
 
بخشهای اصلی سیستم عامل توزیع شده
·        مدیریت فایل
·        مدیریت منابع
·        مدیریت حافظه
·        مدیریت فرآیندها
·        Kernel
 
سیستم عامل توزیع شده باید امکانات Encapsulating منابع را مهیا سازد. کرنل و سرورها هر دو وظیفه مدیریت منابع را بر عهده دارند و چون شامل منابع نیز می باشند، باید موارد زیر را مهیا سازند:
  • مجتمع سازی داده ها و سرويس ها Encapsulating
  • پردازش همزمان
  • محافظت داده ها
 
نحوه دسترسی به منابع
کلاینتها با مشخص سازی منابع در آرگومان عملیات (فراخوانی از راه دور رویه ها در سرور یا فراخوانی سیستم در کرنل)به آنها دسترسی پیدا می کنند.
 


ارتباط بین قسمتهای مختلف DBMS
 
 
قسمتهای اضافه DDBMS
 
 


معماری سیستمهای توزیع شده
 
 
بر اساس استاندارد ISO در مدل معماری Open Distributed Computing موارد ذيل بايد transparent (شفاف) باشند :
  • دسترسی(Access)
  • موقعیت (Location)
  • همزمانی(Concurrency)
  • کپی برداری داده ها (Replication)
  • اشکالات (Failure)
  • تبديل پلتفرم (Migration)
  • کارآیی (Performance)
  • توسعه پذيری (Scaling)
 


مدلهايی برای تعامل فرآیندها
  • مدل خادم / مخدوم (Client/Server)
  • مدل یکپارچه
  • مدل پایپ
  • فراخوانی رویه از راه دور(RPC)
 
مدل کلاینت سرور
در اين حالت نرم افزار خاص کلاينت روی هر ماشين اجرا می شود و کلاينت با واسطه سرور به منابع دسترسی پيدا می کند. سه مشکل عمده مدل کلاینت سرور عبارت است از:
  • کنترل منابع اختصاصی بر روی یک سرور متمرکز می شود.
  • هر سرور به طور بالقوه یک گلوگاه (Bottleneck) است.
  • برای بهبود کارآیی، پیاده سازی چندگانه برای توابع مشابه باید انجام شود.
 

 


مدل کلاینت سرور در سیستم توزیع شده
 
 
مدل یکپارچه
در این مدل هر نرم افزار کامپیوتر بعنوان ابزاری کامل طراحی شده که دارای فایل سیستمی عمومی و مکانیسمی جهت تفسیر اسامی می باشد. این بدین معناست که هر کامپیوتر در سیستم توزیع شده از یک نرم افزار استفاده می‌کند.
توجه داشته باشید که اگر سیستمی بر پایه مدل یکپارچه توسعه یافته باشد، اگر به صورت مناسبی پیکره بندی شده باشد، می تواند به راحتی به شکل سیستمی مبتنی بر مدل Client/Server ديده شود.
 
مدل Pipe
مدل پایپ بر اساس مفهوم فرآیند پایه ریزی شده است که در این مدل داده از طریق استراتژی FIFO می توانند بین فرآیندها منتقل شوند. همچنین این مدل اجازه همگام بودن اجرای فرآیندها را می دهد. در این مدل به طور سنتی از فایل سیستم برای ذخیره داده ها استفاده شده و از قابلیتهای منحصر بفرد آن امکان ارسال کلی داده توسط فرآیند به یک گره می باشد.


مدل RPC
در سیستمهای مبتنی بر RPC، یک فرآیند می تواند یک رویه را در یک کامپیوتر راه دور فراخوانی کند. هنگامی که عمل فراخوانی انجام می شود، پیغام درخواستی برای کامپیوتر راه دوری که رویه در آن قرار دارد فرستاده می‌شود، سپس فرآیندی ایجاد می شود تا رویه اجرا شود، بعد از کامل شدن این فرآیند، پیغام پاسخ به فرآیند صد‌ازننده فرستاده می شود.
 
دلایل توزیع داده
·         DBMS متمرکز در مقابل سیستم پایگاه داده توزیع شده
·     سیستم پایگاه داده توزیع شده مجموعه ای از داده ها است که از لحاظ منطقی به یک سیستم تعلق دارند ولی از لحاظ فیزیکی در سایتهای مختلف یک شبکه کامپیوتری قرار دارند.
 
فاکتورهای مختلفی که باعث توسعه سیستم پایگاه داده توزیع شده شده اند عبارت است از:
  • طبیعت توزیع شدگی برخی از برنامه های دیتا بیس
  • افزایش قابلیت اطمینان و در دسترس بودن
  • امکان به اشتراک گذاشتن داده ها
  • افزایش کارآیی
 
طراحی و پیاده سازی سیستم پایگاه داده توزیع شده از پیچیدگیهای بیشتری برخوردار است و نسبت به DBMS‌های متمرکز توابع بیشتری را باید پیاده سازی کرد از جمله:
  • دسترسی به سایتها و انتقال جستجو ها و داده ها
  • اطلاع از توزیع داده ها و Replication در کاتالوگ DDBMS
  • بکارگیری استراتژیهای مناسب برای اجرای پرس و جو ها و ... که دادهایشان در چندين سایت مختلف قرار دارد.
  • تصمیم گیری در مورد استفاده از کدامین داده Replicate شده
  • سازگار نگه داشتن کپی های داده های Replicate شده
  • قابلیت بازیابی داده ها از سایتهایی که دارای مشکل شده اند.
  • و ...
 


 
معماری فیزیکی DDBS
 
 
 
 
 


 
قانونهایی برای سیستمهای توزیع شده
 
قانون صفر: سیستمهای توزیع شده باید برای کاربر نهایی دقیقا به صورت سیستمهای متمرکز باشند.
 
  1. استقلال محلی
  2. عدم وابسته بودن به سایت مرکزی
  3. عملیات پیوسته
  4. استقلال Location
  5. استقلال قطعات(Fragmentation)
  6. استقلال Replication
  7. پردازش توزیع شده جستجوها
  8. مدیریت توزیع شده Transaction
  9. استقلال سخت افزاری
  10. استقلال سیستم عامل
  11. استقلال شبکه
  12. استقلال DBMS
 


قانون 1: استقلال محلی
  • سایتها باید تا حد امکان(بیشترین حد ممکن) مستقل باشند.
  • داده های محلی باید در محل ذخیره و مدیریت شوند(با توجه به در نظر گرفتن یکپارچگی و امنیت)
  • عملیات محلی باید حتما در خود محل اجرا شوند.
  • تمام عملیات در یک سایت باید توسط همان سایت کنترل شود. این بدین معناست که سایت X نباید برای انجام موفقیت آمیز عملیات خود وابسته به سایت Y باشد.
  • در برخی موارد، از دست دادن مقدار کمی از استقلال، اجتناب ناپذیر است:
§         مشکل قطعه قطعه شدن(قانون 5)
§         مشکل Replication(قانون 6)
§         به روز رسانی رابطه Replicate شده(قانون 6)
§         مشکل محدودیت یکپارچگی بین چند سایت(قانون 7)
§         A problem in participation in a 2 phase commit process(قانون 8)
 
قانون 2: عدم وابسته بودن به سایت مرکزی
  • به هیچ عنوان نباید برای یک سرویس مرکزی به یک سایت وابسته بود. بعنوان مثال نباید دارای یک پردازشگر مرکزی(متمرکز) جستجوها یا مدیریت مرکزی(متمرکز) Transaction بود، چرا که کل سیستم به یک سایت خاصی وابسته می شوند.
  • وابسته بودن به یک سایت خاص، حداقل به دو دلیل زیر غیر مطلوب می باشد:
§         سایت مرکزی ممکن است یک گلوگاه(Bottleneck) باشد.
§         سیستم ممکن است آسیب پذیر باشد.
  • در یک سیستم توزیع شده، عملیات زیر (در میان سایر عملیات) حتما باید توزیع شده باشند:
§         مدیریت دیکشنری
§         پردازش جستجو
§         کنترل همزمان
§         کنترل بازیابی
 
قانون 3: عملیات پیوسته
هیچگاه نباید نیاز به خاموش کردن (از قبل پیش بینی شد)ه کل سیستم برای اعمال تغییرات داشته باشیم.
اضافه کردن سایت جدید X به سیستم توزیع شده D، نباید باعث توقف کل سیستم شود.
اضافه کردن سایت جدید X به سیستم توزیع شده D، نباید نیازمند تغییری در برنامه های کاربر یا فعالیتهای ترمینال باشد.
حذف سایت X از سیستم توزیع شده، نباید ئقفه های غیر ضروری در سرویس ایجاد کند.
ایجاد و حذف و تکثیر قطعات به صورت پویا باید در یک سیستم توزیع شده امکان پذیر باشد.
باید بتوان بدون نیاز به خاموش کردن کل سیستم، DBMS یک سایت را به روز کرد.
 
قانون 4: استقلال Location
  • نه تنها کاربران نباید از محلی فیزیکی ذخیره داده ها مطلع باشند، بلکه از لحاظ منطقی باید به تصور کنند که داده ها در سایتهای محلی خودشان قرار دارد.
  • ساده کردن برنامه های کاربر و فعالیتهای ترمینال
  • اجازه تغییر سکو
  • فراهم کردن استقلال Location برای عملیات ساده بازیابی ساده تر از عملیات به روز رسانی می باشد.
  • داشتن طرحی برای نام گذاری داده توزیع شده(Distributed Data Naming Scheme) و ایجاد پشتیبانی مناسب از طریق زیر سیستم دیکشنری
  • مواردی که باید در مورد کاربران پیاده سازی شود:
§         کاربر U باید شناسه معتبری برای ورود در سایتهای مختلف داشته باشد.
§         پروفایل هر کاربر برای هر شناسه مجاز باید در دیکشنری باشد.
  • دسترسی های هر کاربر در هر سایت به وی اختصاص داده شود.
 
قانون 5: استقلال قطعات(Fragmentation)
  • سیستمهای توزیع شده از قطعه قطعه شدن داده ها پشتیبانی می کنند، منوط به اینکه یک رابطه خاص قابلیت تقسیم به قسمتهای مختلف برای ذخیره در محلهای فیزیکی گوناگون را داشته باشد. سیستمی که این قابلیت را داشته باشد، از استقلال قطعات نیز پشتیبانی می کند.
  • کاربران باید از لحاظ منطقی به گونه ای تصور کنند که گویا اصلا داده ها در قسمتهای مختلف ذخیره نشده اند.
  • از دلایل قطعه قطعه شدن داده ها، می توان به افزایش کارآیی اشاره کرد.
  • قطعه قطعه شدن افقی(Select)
  • قطعه قطعه شدن عمودی(Project)
  • قطعه قطعه شدن باید در متن یک پایگاه داده توزیع شده تعریف شود.
  • استقلال قطعات همانند استقلال Location باعث ساده تر شدن برنامه های کاربر و فعالیتهای ترمینال می شود.
  • داده هایی که به کاربران نمایش داده می شود، از ترکیب منطقی قطعات مختلف (به واسطه الحاقها(Joins) و اجتماعات(Unions) مناسب)به دست می آید.


مثالی از قطعه قطعه شدن:
داده ها از دید کاربران:
شماره کارمندی
دپارتمان
حقوق
E1
DX
450.000
E2
DY
400.000
E3
DZ
500.000
E4
DY
630.000
E5
DZ
400.000
 
قطعه مشهد                                                     قطعه تهران
 
 
 
 
شماره کارمندی
دپارتمان
حقوق
 
شماره کارمندی
دپارتمان
حقوق
E2
DY
400.000
 
E1
DX
450.000
E4
DY
630.000
 
E3
DZ
500.000
 
 
 
 
E5
DZ
400.000
 
 
محل فیزیکی ذخیره داده ها(مشهد)                 محل فیزیکی ذخیره داده ها(تهران)
 
قانون 6: استقلال Replication
  • کاربران باید از لحاظ منطقی به گونه ای تصور کنند که گویا اصلا داده ها تکرار(replicated) نشده اند.
  • سیستم توزیع شده از کپی برداری دادها پشتیبانی می کند، به شرط آن که یک رابطه( یا بطور کلی تر یک قطعه از رابطه) بتواند از لحاظ فیزیکی در کپی های مجزا و در سایتهای مجزا ذخیره شود.
  • کپی برداری داده ها باید همانند قطعه قطعه شدن برای کاربران شفاف(غیر قابل تشخیص) باشد.
  • دلایل عمده کپی برداری داده ها
§         کارآیی
§         در دسترس بودن(دسترسی)
  • مشکل انتشار به روز رسانی
  • استقلال Replication   همانند استقلال قطعات و استقلال Location باعث ساده تر شدن برنامه های کاربر و فعالیتهای ترمینال می شود.
  • رو نوشت از داده ها (Snapshots)
 


مثالی از کپی برداری داده ها:
 
داده ها از دید کاربران:
شماره کارمندی
دپارتمان
حقوق
E1
DX
450.000
E2
DY
400.000
E3
DZ
500.000
E4
DY
630.000
E5
DZ
400.000
 
قطعه مشهد                                                     قطعه تهران
 
 
 
 
شماره کارمندی
دپارتمان
حقوق
 
شماره کارمندی
دپارتمان
حقوق
E2
DY
400.000
 
E1
DX
450.000
E4
DY
630.000
 
E3
DZ
500.000
 
 
 
 
E5
DZ
400.000
 
 
                  کپی قطعه تهران                                        کپی قطعه مشهد
 
 
 
 
شماره کارمندی
دپارتمان
حقوق
 
شماره کارمندی
دپارتمان
حقوق
E1
DX
450.000
 
E2
DY
400.000
E3
DZ
500.000
 
E4
DY
630.000
E5
DZ
400.000
 
 
 
 
 
 
محل فیزیکی ذخیره داده ها(مشهد)                 محل فیزیکی ذخیره داده ها(تهران)
 
 


قانون 7: پردازش توزیع شده جستجوها
  • یکی از مهمترین و حیاتی ترین نکات در مرود سیستمهای پایگاه داده توزیع شده، انتخاب استراتژی مناسب برای پردازش توزیع شده جستجو(Query) می باشد.
  • پردازش جستجو در سیستم های توزیع شده شامل موارد زیر می باشد:
      • عملیات محلی ورودی و خروجی(I/O) و CPU در سایتهای مجزا
      • تبادل اطلاعات میان سایتهای فوق الذکر
  • Query Compilation Ahead Of Time
  • Views That Span Multiple Sites
  • integrity constraints that within DDBS that span multiple sites
 
 
قانون 8: مدیریت توزیع شده Transaction
  • دو نکته مهم برای مدیریت Transaction، کنترل بازیابی(Recovery Control ) و کنترل سازگاری(Consistency Control) می باشد که نیاز به اعمال و دقت بیشتری در محیط های توزیع شده دارند.
  • در یک سیستم توزیع شده، یک Transaction می تواند باعث اجرای کد در چندین سایت شده که همین امر خود می تواند باعث عملیات به روز رسانی در سایتهای مختلف شود.
  • هر Transaction را می توان شامل چندید Agent در نظر گرفت که هر Agent، فرآیندی است که از طرف Transaction  در سایت به خصوصی اجرا می شود.
 
بن بست عمومی: هیچ سایتی نمی تواند با استفاده از اطلاعات داخلی خود، آن را تشخیص دهد.
قانون 9 :استقلال سخت افزاری
·         صرفه نظر از اینکه چه Platform سخت افزاری استفاده می شود، کاربران باید تصویر واحدی از سیستم داشته باشند.
·         بهتر است بتوان یک DBMS را بر روی سیستمهای سخت افزاری مختلف اجرا کرد.
·         بهتر است سیستم های مختلف سخت افزاری سهم یکسانی در یک سیستم توزیع شده داشته باشند.
·     نمی توان به راحتی فرض کرد که همواره می توان از سیستمهای همگن استفاده کرد، به همین دلیل هنوز باید یک DBMS بر روی سیستمهای مختلف سخت افزاری قابل اجرا باشد.
 
قانون 10: استقلال سیستم عامل
·     بهتر است که علاوه بر استقلال سخت افزاری، قادر به راه اندازی DBMS بر روی سیستم عاملهای مختلف (حتی سیستم عاملهای مختلف بر روی یک سخت افزار) باشیم.
·     حداقل سیستم عاملهای مهمی که باید DBMS پشتیبانی کند(با توجه به معیارهای تجاری)، عبارتند از: MVS/XA؛ MVS/ESA، VM/CMS، VAX/VMS، UNIX(محصولات مختلف)، OS/2، MS/DOS و WINDOWS
 
قانون 11: استقلال شبکه
·         مطلوب آن است که بتوانیم شبکه های نامتجانس مختلف را پشتیبانی نماییم.
·         از دید یک DBMS توزیع شده، شبکه یک سرویس مطمئن انتقال پیغام می باشد.
·     مفهموم مطمئن در عبارت فوق را می توان بدین صورت توصیف نمود که به طور مثال اگر شبکه پیغامی را از سایت X برای تحویل به سایت Y دریافت کرد، سرانجام آن پیغام را به سایت Y تحویل دهد.
·         نباید در محتوای پیغامها خللی ایجاد شده و پیغامها باید به ترتیب فرستاده شدن ارسال شده و بیش از یکبار نیز تحویل مقصد نشوند.
·         شبکه مسئول تایید سایت(Site Authentication) نیز می باشد.
·         یک سیستم ایده آل باید هم از شبکه های محلی(LAN) و هم از شبکه های گسترده(WAN) پشتیبانی نماید.
·         سیتمهای توزیع شده باید معماریهای مختلف شبکه را پشتیبانی نمایند.
 
قانون 12:استقلال DBMS
سیستم توزیع شده ایده آل باید استقلال DVBMS را مهیا سازد
 

ورود تراشه‌هاي چهار هسته‌اي اينتل به بازار

ورود تراشه‌هاي چهار هسته‌اي اينتل به بازار

در تلاش براي رقابت هرچه بيشتر با شركت AMD، اينتل در نظر دارد تراشه‌‏هاي چهار هسته‌‏اي خود را در روز سيزدهم ماه نوامبر سال جاري به بازار جهاني معرفي كند. به گزارش ايلنا، رايانه‌‏هايي كه به تراشه‌‏هاي چهار هسته‌‏اي مدل XEON 5300 مجهز شوند در مقايسه با رايانه‌‏هاي داراي تراشه‌‏هاي دو هسته‌‏اي داراي قابليت‌‏هاي خاص و متفاوتي خواهند بود.

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

AMD در نظر دارد تراشه‌‏هاي چهار هسته‌‏اي خود را در اواسط سال 2007 به جهان IT عرضه كند

 

مفاهيم-كاربرد- تعريف وتوضيحاتي در مورد پردازش موازي

مفاهيم-كاربرد- تعريف وتوضيحاتي در مورد پردازش موازي

مقدمه:
در دنياي كنوني بدليل بوجود آمدن كاربردهايي كه احتياج به سرعت پردازش زياد دارند ، ميل زيادي به سمت سيستمهايي با توازن پردازشي بالا وجود دارند. اگر چه پيشرفت نيمه هادي و فن آوري VLST بهبودهاي قابل توجهي در كارهايي ماشينهاي تك پردازه اي ايجاد كرده است، اما اين سيستمها هنوز قابل استفاده در كاربردهايي مثل تشخيص بلادرنگ الگو، پردازش سيگنالهاي پزشكي ، هواشناسي و … نيستند . همچنين محدوديتهاي فيزيكي مواد ، در اينده نزديك باعث جلوگيري در پيشرفت فن آوري VLSI خواهد شد.بعلاوه، ما در حداكثر سرعتي كه مي توانيم براي پالس ساعت يك پردازنده بوجود آوريم ، محدويت داريم . اين محدوديتها باعث بوجود آمدن و پيشرفت كامپيوترهاي موازي شده است كه مي توانند اطلاعات را با سرعت يك تريليون عمل مميز شناور در ثانيه (Floating point Operation Per Second (FLOPS)) پردازش كنند .
يك راه براي ساختن چنين سيستمهايي (ابر كامپيوترها ) استفاده از اجزاء خيلي سريع و انجام عمليات بصورت خط لوله ( Pipeline) مي باشد. اين روش در ابر كامپيوتر هاي Cary ، NEC و Fujitsu ديده مي شود . اما در اين روش بدليل داشتن زمان طولاني براي طراحي ، داراي قيمت زيادي است . در مجموع اين نوع ماشينها وابسطه به خط لوله ، واحد هاي عملياتي ، ثباتهاي برداري و حافظه سريع براي بدست آوردن كازايي مي باشد. علاوه بر قيمت زياد اين سيستمها نسبت به سيستمهاي موازي قابليت اطمينان كمتري دارند . همچنين سيستمهاي موازي قابليت موازي آماده بودن (Availability ) بيشتري نسبت به سيستمهاي تك پردازه اي ارائه مي كنند. اين خاصيت به صورت ، احتمال آماده بودن سيستم براي اجراي محاسبات مفيد تعريف مي شود.

مشخصات عمومي كه مورد نظر همه سيستمهاي موازي مي شود
مشخصات عمومي كه مورد نظر همه سيستمهاي موازي مي شود ، بطور خلاصه در زير آمده است :
1 . كارايي بالا و هزينه كم
2 . كارايي قابل اطمينان
3 . طراحي قابل گسترش.
در راستاي اين اهداف دو روش براي ساختن سيستمهاي موازي بوجود آمد: چند پردازه اي (Multiprocessor )وچند كامپيوتري (Multicomputer ) . در سيستمهاي چند پردازه اي ، پردازه ها از طريق يك حافظه مشترك كه قابل دسترسي توسط همه پردازنده ها ، با هم ارتباط بر قرار مي كنند . در سيستمهاي چند كامپيوتري ، هر پردازنده داراي يك حافظه اصلي است و پردازنده فقط قادر به دسترسي به حافظه خودش است . ارتباط در اين سيستمها ، معمولا بصورت مبادله پيام انجام مي گيرد . تفاوت اين سيستمها در مقياس پذيري آنها مي باشد . در سيستمهاي چند پردازنده اي معمولا براي ماشينهاي با مقياس كوچكتر مناسب هستند. در حالت كلي مي توان گفت كه هر چه تعداد پردازنده ها افزايش يابد ، چند كامپيوتري اقتصادي تر از چند پردازنده اي مي شود . مي توان مشاهده كرد كه با محلي شدن تمام دسترسي ها به حافظه مي توان كارايي را به مقدار زيادي بهبود بخشيد ، همچنين در صورتي كه محاسبات بصورتي تقسيم شوند كه تقريبا همه اعمال بتوانند بصورت محلي كار كنند در اين صورت چند كامپيوتري ، روش مناسبي براي محاسبات خواهد بود .
در اين مقاله قصد داريم سيستمهاي موازي كه بر اساس چند كامپيوتري ساخته شده اند را بررسي كنيم .ذر بخش دوم مقاله در مورد راههاي ممكن براي پردازش موازي با استفاده از كامپيوترهاي شخصي صحبت خواهيم كرد . همچنين به سيستمهاي ساخته شده با اين روش در داخل و خارج كشور خواهيم پرداخت و نتايج بدست آمده از آنها را بررسي مي كنيم.در بخش سوم ، سيستمي كه توسط مؤلفين در دست ساخت مي باشد و مراحل پاياني را طي مي كند ، معرفي خواهيم كرد و نتايج بدست آمده از آن را ارائه مي كنيم .

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

استفاده از شبكه هاي كامپيوتري محلي
در اين روش از كامپيوتر هاي موجود درشبكه به عنوان واحدهاي پردازشگر استفاده مي شود . در اين سيستمها معمولا يكي از كامپيوتر ها نقش Master را ايفا مي كند كه وظيفه توزيع كردن وظايف و كنترل عمل واحد ها را بر عهده دارد . مثالي از اين روش كه با استفاده از شبكه هاي محلي مبتني بر گذرگاه (Bus Based ) بوده ، در اين سيستم ، براي پردازشگرها از روش مبادله پيام و جهت همگام كردن پردازشگرها از روش انتظار گذر گاه (Bus Waiting ) استفاده شده است . نتايج بدست آمده نشان مي دهد كه اين سيستم براي پردازش الگوريتمهاي با دانه بندي (Coarse grain )درشت مناسب مي باشد . همچنين در اثر افزايش تعداد پردازشگر ها ، گذرگاه به يك گلوگاه تبديل مي شود و كارايي را به شدت پايين مي آورد .

استفاده از كارتهاي شبكه بصورت نا متعارف
روش ديگر استفاده از كارتهاي شبكه براي ارتباط نقطه به نقطه كامپيوتر ها مي باشد . در اين حالت مي توان همبنديهاي مختلف را براي ارتباط ، پياده كرد . دراين نوع سيستم كه Loki نام دارد از شانزده عدد مادربرد پنتيوم پرو200MHZ به عنوان واحدهاي پردازشگر در يك همبندي فوق مكعب (Hyper Cube) استفاده شده است.هر واحد داراي حافظه اصلي برابر 32 MB و ديسك سخت به ظزفيت 3.2 GB مي باشد. همچنين هر واحد داراي يك كارت شبكه با چهار درگاه ،مبتني بر استندارد اترنت سريع و با سرعت 100 Mbps براي ارتباط در آرايش فوق مكعب و يك كارت شبكه با يك درگاه با سرعت 100 Mbps جهت ارتباط با اصلي مي باشند. ارتباط تمامي 16 واحد با اصلي به واسطه يك سوئيچ با 16 درگاه صورت مي گيرد.
سيستم عامل بكار گرفته شده در هر واحد Linux مي باشد و از روش مبادله پيام جهت ارسال فرامين استفاده مي گردد. سازندگان Loki نشان دادن كه اولا اين سيستم قادر به پردازش الگوريتم هاي سنگين و پيچيده موازي در زمان معقول مي باشند و ثانيا نسبت قيمت به كارآيي آن با ضريب سه يا بيشتر ، بهتر از ابر كامپيوترهاي موجود مي باشد..مثلا يك برنامه آزمايشي (Benchmark) بر روي ابركامپيوتر SP-2P2SC-120 با 64 پردازنده در زمان 118 ثانيه اجرا مي شود كه 17 بار سريعتر Loki مي باشد ، اما قيمت آن 60 برابر بيشتر است و همچنين اين برنامه در ابر كامپيوتر SGI در 471 ثانيه اجرا مي شود كه 2/4 بار سريعتر از Loki است ، اما قيمت آن 16 برابر بيشتر مي باشد.

 

چند لینک در مورد پروژه آقای شریفی

چند لینک در مورد پروژه آقای شریفی

http://www.sharifigroup.com

http://flash.lakeheadu.ca/~kkarimi

http://flash.lakeheadu.ca/~kkarimi/downloads.html

http://flash.lakeheadu.ca/~kkarimi/dipc.html

http://www.linux-kongress.org/1997/sharifi.html

نقدي بر پروژه CSharifi : >>

http://www.persianbb.com/viewtopic.php?p=81821

 

(مدیریت این وبلاگ مسئولیتی در باره محتوای این لینک ها ندارد)

 

نرم‌افزار رسيدن به سرعت ابررايانه با رايانه‌هاي شخصي در ايران ابداع شد

نرم‌افزار رسيدن به سرعت ابررايانه با رايانه‌هاي شخصي در ايران ابداع شد

فناوري راهبردي دستيابي به سرعت عمل ابررايانه‌ها با سود جستن از رايانه‌هاي شخصي(‪ (PC‬توسط دكتر "محسن شريفي" رييس دانشكده مهندسي كامپيوتر دانشگاه علم و صنعت ايران، نخستين بار در جهان ابداع و ساخته شد.

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

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

شريفي براي نمونه گفت: اين سيستم در سازمان هواشناسي كشور با هم‌بندي ‪ ۸‬رايانه شخصي اجرايي شده و توانسته است برخي محاسبات بسيار سنگين به كارگيري داده‌هاي هواشناسي دريافتي از ماهواره‌ها در پيش‌بيني وضع هوا را كه با فناوري موجود، ‪ ۶۵‬دقيقه بطول مي‌انجاميد، در ‪ ۱۶‬دقيقه انجام دهد.

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

شريفي براي توضيح اين گفته افزود: در حالي كه سيستم آمريكايي بسيار گران‌قيمت و كاركرد آن بسيار پيچيده با بيش از ‪ ۱۳۰‬فرمان است (كه يادگيري آن را براي متخصصان رشته‌هاي غيررايانه‌اي كه مي‌خواهند تئوريهاي خود را برنامه‌سازي كنند، بسيار دشوار مي‌كند)، سي- شريفي با هزينه‌اي بسيار ارزان و با حدود ‪ ۳۰‬فرمان به انجام مي‌رسد.

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

اين دانش‌آموخته دانشگاه منچستر انگلستان، با بيان اينكه از ‪ ۲۱‬سال پيش اين هدف را دنبال مي‌كرده، ويژگي ديگر اين نرم‌افزار را كاملا بومي بودن آن ذكر كرد و گفت: با توجه به اينكه ما براي خريد سخت‌افزارهاي
ابررايانه‌اي تحريم هستيم، اين نرم‌افزار مي‌تواند آغاز راه براي راه طولاني قطع وابستگي در اين زمينه باشد.

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

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

خبرگزاري جمهوري اسلامي ‪۸۶/۰۸/۲۷‬


دومين "ابر رايانه" كشور در گروه فيزيك دانشگاه اصفهان طراحي و ساخته شد

دومين "ابر رايانه" كشور در گروه فيزيك دانشگاه اصفهان طراحي و ساخته شد

خبرگزاري جمهوري اسلامي ‪۸۶/۰۸/۳۰‬

دومين "ابر رايانه" كشور توسط گروه فيزيك دانشكده علوم دانشگاه اصفهان ساخته شد و مورد بهره برداري قرار گرفت.

اين ابر رايانه كه "جي - صفر" نام دارد، يك كلاستر محاسباتي با ‪ ۶۰‬گره محاسباتي است و قدرت پردازش آن ‪ ۳۰۰) 300Gf‬گيگا فلاپس) مي‌باشد.

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

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

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

دكتر"سيدمجتبي مستجاب‌الدعواتي" استاد گروه فيزيك دانشگاه اصفهان و مجري طرح ابر رايانه"جي - صفر" گفت: درصورت طراحي وساخت اين رايانه درسال ‪۲۰۰۲‬ تا ‪ ۲۰۰۳‬در رده ‪ ۵۰۰‬ابر رايانه جهان قرار مي‌گرفت و اكنون ما چهار سال از قوي‌ترين رايانه‌هاي جهان عقب هستيم.

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

"قربان محمد توكلي" افزود: از ‪ ۱۰۰‬ابر رايانه جهان هيچيك در منطقه خاورميانه وجود ندارد وبخش اعظم اين رايانه‌ها در اروپا و آمريكا مي‌باشند.

وي، قيمت تمام شده ابر رايانه جي - صفر را ‪ ۳۰۰‬هزار دلار اعلام كرد و گفت: خريد ابر رايانه‌اي با توان جي - صفر از كشورهاي صاحب اين فناوري دو ميليون دلار هزينه در بردارد.

توكلي تصريح كرد: اين ابر رايانه با سيستم عامل" گنولينوكس" كار مي‌كند و توان انجام ‪ ۴/۴‬ميليون عمل را در ثانيه دارد.

در ادامه اين مراسم باحضور مسوولان،اعضاي هيات علمي و دانشجويان دانشگاه اصفهان اين ابر رايانه به طور رسمي مورد بهره برداري قرار گرفت.