رایانش توزیع‌شده

از ویکی‌پدیا، دانشنامهٔ آزاد

رایانش توزیع‌شده (به انگلیسی: Distributed computing) یک زمینه از علوم رایانه است، که در آن به سیستم‌های توزیع‌شده پرداخته می‌شود. یک سیستم توزیع‌شده از چندین رایانه خودکار تشکیل شده که توسط یک شبکه رایانه‌ای با هم دیگر در ارتباط اند. کامپیوترها با هم ارتباط برقرار می‌کنند تا به یک هدف مشترک برسند. یک برنامه کامپیوتری که در یک سیستم توزیع‌شده اجرا می‌شود، یک برنامه توزیع‌شده نامیده می‌شود و به فرایند نوشتن چنین برنامه‌هایی برنامه‌نویسی توزیع‌شده اطلاق می‌شود.[۱] رایانش توزیع‌شده همچنین به استفاده از سیستم‌های توزیع‌شده برای حل مسائل محاسباتی اطلاق می‌شود. در رایانش توزیع‌شده یک مسئله به وظایف مختلف تقسیم می‌شود که هر کدام از آن‌ها توسط یک کامپیوتر یا بیشتر حل می‌شود.[۲]این وظایف از طریق ارسال پیام با یکدیگر در ارتباط هستند.[۳]

مقدمه[ویرایش]

کلمه توزیع‌شده در اصطلاحات «سیستم‌های توزیع‌شده» و «برنامه نویسی توزیع‌شده» و «الگوریتم توزیع‌شده» در واقع به شبکه‌های کامپیوتری اطلاق می‌شود که در آن کامپیوترهای شخصی به‌طور فیزیکی در برخی مناطق جغرافیایی توزیع می‌شوند.[۴]

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

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

عملکرد[ویرایش]

در این سیستم چندین کامپیوتر عملکرد یکسانی را ارائه می‌دهند، در نتیجه با خرابی یکی از آن‌ها عملکرد کلی سیستم مختل نمی‌شود. علاوه بر این چون می‌توان از عملکرد چندین کامپیوتر کوچک بهره برد، بار مالی زیادی را به همراه نخواهد داشت.[۵]

سیستم‌های محساباتی توزیع شده می‌توانند روی سخت‌افزارهای فراهم شده توسط سازمان‌های مختلف اجرا شوند و از نرم‌افزارهای با استانداردهای جهانی پشتیبانی می‌کنند. این سیستم‌ها مستقل از نرم‌افزارهای اساسی هستند، می‌توانند بر روی سیستم‌‌ عامل‌های مختلفی اجرا شوند و از پروتکل‌های ارتباطی مختلفی پیروی کنند. برخی از سخت‌افزارها ممکن است از سیستم عامل‌ Unix و یا Linux پشتیبانی کنند و برخی دیگر از Windows. برای ارتباط بین سیستم‌ها، این سخت‌افزارها می‌توانند از SNA (System of National Accounts)، TCP/IP بر روی Ethernet و یا Token Ring(a data link for a LAN) استفاده کنند.

می‌توان یک نرم‌افزار را با تقسیم آن به دو بخش کاربر(Client) و سرور(Server) بر روی یک سیستم توزیع شده پیاده‌سازی کرد که به آن Client/Server گفته می‌شود. به طور معمول در طراحی Client/Server از سه لایه استفاده می‌شود، کلاینتی که با کاربر در تعامل است، اپلیکیشن-سرور که حاوی نرم‌افزارهایی است که یک برنامه تجاری را از طریق یک پروتکل ارتباطی ارائه می‌دهد و یک پایگاه داده برای ذخیره‌سازی اطلاعات.[۶]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. (Andrews ۲۰۰۰). (Dolev ۲۰۰۰). (Ghosh ۲۰۰۷), p. 10.
  2. (Godfrey ۲۰۰۲).
  3. (Andrews ۲۰۰۰), p. 291–292. (Dolev ۲۰۰۰), p. 5.
  4. (Lynch ۱۹۹۶), p. 1.
  5. https://www.lotuspion.com/blog. پارامتر |عنوان= یا |title= ناموجود یا خالی (کمک); پیوند خارجی در |وبگاه= وجود دارد (کمک); پارامتر |پیوند= ناموجود یا خالی (کمک)
  6. https://www.lotuspion.com/blog/view/%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D8%A7%D8%AA-%D8%AA%D9%88%D8%B2%DB%8C%D8%B9-%D8%B4%D8%AF%D9%87-(Distributed-Computing). پارامتر |عنوان= یا |title= ناموجود یا خالی (کمک); پیوند خارجی در |وبگاه= وجود دارد (کمک); پارامتر |پیوند= ناموجود یا خالی (کمک)