برنامه نویسی و مفاهیم رایانه
برنامه نویسی و مفاهیم رایانه
خواندن ۴ دقیقه·۴ سال پیش

وب سایتی برای پردازش توزیع شده

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

بنابراین یک سیستم توزیع شده به زبان ساده مجموعه ای از پردازنده ها، حافظه های اصلی و سیستم فایل توزیع شده (مانند NFS در یونیکس، DFS در ويندوز یا HDFS در هدوپ) است که همگی با هم یک منبع پردازشی بسیار بزر را ورآهم می کنند که برای محاسبات سنگین مانند نمونه موارد زیر به کار می رود.

  • پردازش داده های حجیم موسوم به Big Data
  • پردازش های لازم برای یادگیری ماشین و شبکه های عصبی مانند پردازش تصویر یا پردازش متن
  • برای پردازش محاسبات ریاضیاتی در زمینه هایی مانند فیزیک و شیمی
  • برای سرویس هایی همچون دسترس پذیزی بالا، توازن بار
  • برای فراهم یک بستر برای پردازش موازی که پیش از این به طور سنتی در سامانه های چند پردازنده ای یا چند پردازشی انجام می شد.
  • مورد استفاده در سامانه های هوشمند و در ارتباط با IoT

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

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

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

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

سیستم های توزیع شده پایه و اساس پردازش و تضمين ارائه سرویس ها هستند. بدون یک سیستم توزیع شده دانشگاه یا موسسه پژوهشی برای انجام پردازش سیگنال های کهشانی برای پی بردن به دیگر زندگانی ها در این گستره کهکشان وابسته به ابررایانه های گران قیمت و حجیم و پر هزینه برای نگهداری هستند.

اما با وجود تئوری سیستم های توزیع شده امکان اتصال واحدهای پردازشی بسیار کوچک و ضعیف در سراسر جهان به هم است تا یک واحد پردازشی بزرگ فراهم شود. نمونه بارز این دسته از فعالیت ها پروژه ای موسوم به SETI@Home است که از منابع پردازشی رایانه های شخصی خانگی در زمان بی کاری آنها برای پردازش موازی استفاده می کند.

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

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

http://distributedcomputing.ir

https://t.me/distributedcomputing_ir

البته آموزش از پایه است و راه طولانی و امیدوارم به خدا که توانایی دانش، زمانی و انگیزه ای برای من باشد تا بتوانم این فيلد را آموزش دهم چون بسیار پر اهمیت است. زبان هایی که نیز به کار خواهم برد و آموزش می دهم، زبان Erlang و Python (برای موارد کاربردی و ویژه) هستند.

شاد و پیروز و تندرست و بی نیاز باشید.

سیستم های توزیع شدهerlang
برنامه نویس پایتون و دوستدار سیستم های توزیع شده، دانش داده ها و زبان عبری http://learnhebrew.ir
شاید از این پست‌ها خوشتان بیاید