هدایای رایانش مشبک

قرار بود تا ۱۵ شهریور به ۲ تا از دوستان که با موندن در سایت به پروژه رایانش مشبک تحت وب کمک کردند هدیه های کوچولویی بدم، ولی متاسفانه یک مقداری بد قولی کردم و افتادم به الان. برای همین تصمیم گرفتم به جای ۲ تا هدیه به ۴ نفر هدیه بدم.

قرعه کشی بین تمام کسایی بوده که با ایمیلشون کامنت گذاشتند و هر ایمیل فقط یکبار شمرده شده.کامنت های خودم هم حذف شد که با این حساب ۸۴ نفر باقی موندند. فایل MD5 شامل اسم ها و md5 ایمیل هاست.

بعدهم با سایت http://www.random.org/integers چهار تا عدد رندوم انتخاب شد که افراد نظیر اون اعداد انتخاب شدند و در فایل بالا هایلایت شدند.

این هم screen record از انتخاب ۴ عدد رندوم

دوستانی که هدیه رو دریافت می کنند:

  • خودم! با md5 ایمیل ۸۶۹۰abc0dd2eb295abd1a35962576de7
  • هادی با md5 ایمیل ۹۹۷bacbf1a2b006e8c07e94c47536b11
  • سعید۱۷۰۹ با md5 ایمیل fede2790ebc3100aa3ea20d98b4f2da7
  • MrGee با md5 ایمیل ۵de466a2aef881e188156994670f935d

خودم! کامنت گذاشته بود که:

این ایده که از مرورگر اینکار رو میکنه و نیاز به نصب برنامه نیست عالیه.
قبلا چنتا پروژه اینطوری دیده بودم که دوست داشتم منم توش کمک کنم اما نیاز به نصب برنامه داشت و منم بیخیالش شدم.
اما این عالیه. خیلی دمت گرم (:

فقط آقا مطمعنی که درست کار میکنه؟ چون من کارکرد cpu رو که میبینم همینطور پایین مونده(در حد ۰ و ۱ :دی)
——
آقا انگار یه خورده کار کرد. برای حدود ۱۰-۱۵ ثانیه پردازنده رو ۲۰-۳۰ بود.
اما باز اومد پایین D:
راستی مرورگرم هم کرومه.
——

راستی الان رفتم تو کنسول کروم دیدم نوشته:
Failed to load resource http://grid.moeinhm.ir:3000/socket.io/socket.io.js
Uncaught ReferenceError: io is not defined gridComputingOnTheWeb.js:1
Failed to load resource: the server responded with a status of 403 (Forbidden)http://stats.g.doubleclick.net/dc.js

من که نفهمیدم چیه ولی گفتم شاید به دردت بخوره D:

هادی کامنت گذاشته بود که:

من توی چهار تا تب این صفحه رو باز کردم. خوب کار می‌کنه. همه‌ی core چسبیده به سقف.
من تحت لینوکس باشه نصب می‌کنم. چون سیستم بیکار متصل به شبکه دارم

سعید ۱۰۷۹ کامنت گذاشته بود که:

این هدایا چی شد؟
من یک امیدکی بستم به این که هاست رو برنده شم (: (البته اگه نشم هم یک هاست مناسب همچنین گرون هم نیست )
کی قرعه کشی می‌شه؟

و MrGee کامنت گذاشته بود که:

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

 

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

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

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

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

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

 

 

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

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

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

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

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

شروع پروژه ….. ؟

چند هفته پیش در مورد رایانش مشبک تحت وب چیزی های نوشتم و این چند وقت با بعضی از دوستام در موردش صحبت کردم.در نهایت دیروز تصمیم به پیاده سازی ایده گرفتم با استفاده از Node JS و فریم ورک express ، احتمالا از RethinkDB برای بانک اطلاعاتی استفاده کنم و پروژه هم کاملا متن باز در github قرار می دم.
در حال حاضر دارم دنبال یه اسم براش می گردم، یک مقداری اسم های قدیمی ایرانی رو زیر و رو کردم،ولی هنوز نمی دونم استفاده از این اسامی کار درستی هست یا نه!

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

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

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