اسلاید های رایانش مشبک تحت وب

چند روز پیش همایش ofest برگزار شد که من هم در بخش ایده آزاد در مورد رایانش مشبک تحت وب یه ارائه داشتم.فایل ارائه رو می تونید از لینک http://moein7tl.github.io/ofest2014-slides ببینید.

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

آزمایش رایانش مشبک + دو تا هدیه کوچولو!

چند وقت پیش در مورد رایانش مشبک یک ایده نوشتم و چند وقت بعد یک implement با استفاده از Node,Python و MongoDB برای ضرب ماتریس ها ازش درست کردم.روی Local تست کردم ، ولی نیاز بود که بصورت جامع تری تست کنم تا شاید بشه ازش استفاده های مفیدی کرد.واسه همین قسمت تست رو در کد این صفحه قرار دادم. مادامی که این صفحه بازه، شما دارید به تست این برنامه کمک کنید.می تونید در کنار بقیه Tab های باز هم ، این صفحه رو باز نگه دارید تا کمک بیشتری کنید:) و همینطور می تونید همین الان این صفحه رو ببندید و کمکتون به پروژه رو قطع کنید.

در حقیقت در حال حاضر یک thread روی سیستم شما ایجاد شده، که یک سری ماتریس رو از سرور میگیره، ضرب می کنه و جواب هاشو به سرور میفرسته!

در حقیقت این یک تست کامل نیست، ولی می خوام بعضی آمارهارو ازش دربیارم.به عنوان مثال چقدر طول می کشه تا این ضرب این ماتریس ها انجام بشه!

mickey-mouse-birthday-present من هم برای تشکر از دوستانی که با بازگذاشتن این صفحه بهم کمک کردند، دو تا هدیه کوچولو بهشون می دم:)البته از اونجایی که باید یک روش ارتباطی باشه واسه دادن هدیه،به دو نفر از کسایی که توی همین صفحه کامنت بگذارند هدیه داده میشه.(مضمونش مهم نیست، البته فحش ندید، مهم اینکه شما در این صفحه بودید و در همین مدت هم کمک کردید).هدیه بصورت رندوم به دو نفر از کسایی که تا ‍۱۵ شهریور کامنت بگذارند داده می شه دو تا هاست هست با مشخصات زیر:

 

 

  • حجم: ۱ گیگ
  • ترافیک ماهانه : ۱۰ گیگ
  • ساپورت php و mysql
  • ۱۰ تا mysql
  • ایمیل، subdomain نامحدود
  • کنترل پنل direct admin
  • و به مدت یک سال 

راستی ، تو کامنت حتما ایمیلتون رو باید وارد کنید و به این سوال هم جواب بدید که اگر همین صفحه بصورت یک application قابل نصب ارائه می شد( یعنی نصب می کردید و  کمک می کردید)، حاضر به نصبش بودید؟

راستی از اینجا هم می تونید اطلاعات ماتریس ها رو ببینید http://grid.moeinhm.ir:3000

ممنون می شم این صفحه رو به اشتراک بگذارید.

پ.ن:دیروز سرور down شد، محاسبات انجام نشد، با عرض پوزش

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

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

دبیرستان که بودم یه پروژه دیدم تو سایت دانشگاه 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 نتیجه دومی با اولی یکی بود که هیچی، ولی اگر نبود مثل این بود که این پردازش اصلا انجام نشده!
یعنی می شه واسه اعتبار سنجی درستی پردازش ها فکرهایی کرد.