منبع اصلی نوشتار زیر در این لینک قرار دارد

رایانش مشبک تحت وب

امروز یک ایده به ذهنم رسید که نمی دونم واقعا مفید هست یا نه! یعنی واقعا در حد یه ایده ی خام هستش  و خیلی خیلی خیلی خوشحال می شم نظر بدید در موردش.

دبیرستان که بودم یه پروژه دیدم تو سایت دانشگاه berkeley به اسم BOINC که داشتند روی Grid Computing کار می کردند و از پروسسور هایی Client هایی که این برنامه رو داشتند برای یک سری محاسباتشون استفاده می کردند، محاسبات زیادی که نتیجه A به B بستگی نداره،ولی تعداد محاسبات خیلی زیاده. مثلا توی شکوندن یک رمز یا محاسبات ستاره شناسی و … . بعد به هر Client بسته به اینکه چقدر از پروسسورش اجازه استفاده داده و چندتا محاسبه انجام داده امتیاز داده می شد ( سوسول بازی های کار )

grid

 

 

الان که دارم این مطلب رو می نویسم و VLC هم باز هست از ۵٪ CPU دارم استفاده می کنم و از وقتی که لپ تاپم رو روشن کردم نهایت از ۸٪ش استفاده شده( بر اساس آمار Psensor )
خوب این یعنی هدر دادن کلی وقت CPU که می شد در جهت مثبتی ازش استفاده شه ولی نشده. چرا من از BOINC استفاده نمی کنم؟چون حال ندارم نصبش کنم و دوما خیلی از آدم ها هم نمی شناسند BOINC رو.( حالا سیستم های Grid واقعا زیاده ولی اینو من مثال زدم )

حالا ایده من چیه؟ رایانش مشبک تحت وب! برای رایانش مشبک از Web Worker و JavaScript استفاده کنیم، از یک سرور فایل جاوااسکریپت هر محاسبه و اطلاعاتی که باید پردازش بشه دریافت شه و تا وقتی اون سایت بازهست پردازش انجام شه و نتیجه با Ajax یا WebSocket به سرور ارسال شه.
حتی می تونه یک API باشه تا بقیه سایت ها هم ازش استفاده کنند و از کاربر اجازه بگیرند که حاضری برای کمک در پروژه X تا وقتی این سایت باز هست از پروسسورت استفاده بشه برای انجام محاسباتش؟ یا خود کاربر انتخاب کنه که دوست داره به چه پروژه ای کمک کنه ( مثلا یک پروسس برای شکستن رمز یا برای پزشکی یا … )
شاید حتی بشه ازش پول در آورد و براش بیزینس مدل نوشت که جاهایی که کار محاسباتی دارند بیاند ، اطلاعات خام و فایل جاواسکریپت محاسبشون رو بدند و بعدش نتیجه پردازش هارو تحویل بگیرند و حتی کاربرها عضو بشند و از اینکه قضیه پول در بیارند. ( یک چیزی تو مایه این سیستم های تبلیغات کلیکی مثل شبکه تبلیغات که واسطه تبلیغاتند، ولی یک جایی باشه برای واسطه گری برای انجام محسبات )
فرض کنید گوگل بیاد و این امکان رو فقط روی صفحه اصلیش قرار بده و فقط ۱٪ کاربرهام دعوتش برای این کارو لبیک بگند ( که البته می تونه اصلا اجازه نگیره و انگار همه لبیک گفتن دعوتش رو )، چقدر محاسبه انجام میشه!

عیب این روش اینکه جاواسکریپت کندتره تا یک برنامه نصبی ولی خیلی سریعتر می تونه همه گیر بشه و کاربرهای بیشتری رو درگیر کنه و توسعه این خیلی سریعتر و راحت تره! ( کلا اسکریپته تا یک برنامه کامپایل شده )

حالا دوستان نظرتون در موردش چیه؟

اگه خوبه من خودم خیلی دوست دارم روش کار کنم، کسی(کسایی) دوست داشت(ند) باهم اینکارو انجام بدیم خوشحال میشم.و اگر بده کجای کار مشکل داره؟

پ.ن: برای اطمینان از اینکه نتیجه درست هست، BOINC می یومد و هر پردازش رو توسط ۲تا کاربر انجام می داد، اگر MD5 نتیجه دومی با اولی یکی بود که هیچی، ولی اگر نبود مثل این بود که این پردازش اصلا انجام نشده!
یعنی می شه واسه اعتبار سنجی درستی پردازش ها فکرهایی کرد.

 



برچسب ها : , , , ,