چگونه با سخت‌افزارهای شخصی به توسعه علم کمک کنیم

نوشته سعید چوبانی 17 خرداد 1393

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

پروژه Boinc

boinc که حروف اول عبارت بستر باز برکلی برای محاسبات تحت شبکه (Berkeley Open Infrastructure for Network Computing) است، پروژه ای است که در دانشگاه برکلی متولد شده و با استفاده از تکنولوژی‌های سیستم‌های توزیع شده اهداف جالبی را دنبال می‌کند. 

ولی قبل از معرفی جزییات Boinc توضیح مختصری راجع به سیستم‌های توزیع شده نیاز داریم.  سیستم‌های توزیعی به کامپیوترهایی گفته می‌شود که با استفاده از بستر شبکه به یکدیگر متصل می‌شوند و با به اشتراک گذاری منابع سخت‌افزاری، اهداف بزرگتری را دنبال می‌کنند. بعنوان مثال، برای اینکه یک محاسبه پیچیده ریاضیاتی را که نیازمند پردازش فراوان است انجام دهیم، به جای اینکه یک ابرکامپیوتر با سخت‌افزارهای غول‌پیکر داشته باشیم کافی است چندین کامپیوتر معمولی را به هم متصل کنیم و پردازش را به صورت توزیع شده و در بین آن‌ها به پایان برسانیم. سیستم‌های توزیع شده، خود به دسته‌بندی‌های Cluster و Grid تقسیم می‌شوند که مطالعه جزییات تفاوت‌ آن‌ها و الگوریتم‌های توزیع شده خالی از لطف نیست. 

سیستم توزیعی.png

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

Boinc در اوایل کار خود و بعد از چند پروژه آزمایشی، برای پیش‌برد اهداف پروژه SETI@Home استفاده شد. SETI@Home پروژه‌ای است که سعی دارد با جمع‌آوری و پردازش امواج از فضا به هوش فرازمینی دست یابد. این پروژه کاملن بر پایه مباحث علمی بنا شده و قصد دارد با  یافتن سیگنال‌های تکرار شونده در داده‌هایی است که از سوی تلسکوپ‌های رادیویی جهان جمع آوری می‌شود وجود هوش فرازمینی را اثبات و یا رد کند. همچنین یکی دیگر از اهداف آن اثبات این موضوع است که پروژه‌هایی با این وسعت را می‌توان توسط محاسبات داوطلبانه و کاربران شبکه جهانی به سرانجام رساند. بعد از موفقیت SETI، پروژه‌های علمی دیگری نیز به Boinc پیوستند که اغلب آنها بدون سود مالی و صرفن برای پیش‌برد اهداف علمی در جهان هستند. 

سیستم توزیعی.jpg

شما هم کافی است نسخه‌ای از این برنامه را که مناسب نوع سیستم‌عامل‌تان است، دانلود کنید و به جمع ۵۰۰ هزار نفری بپیوندید که سخت‌افزارهایشان را برای توسعه علم در جهان در اختیار این پروژه قرارداده اند. بعد از نصب برنامه، خودتان می‌توانید به راحتی تنظیم کنید که می‌خواهید چه مقدار و چه موقعی سخت افزارتان در دسترس این پروژه‌ها قرار بگیرد. مثلن می‌توانید تنظیم کنید که هر وقت سیستم به حالت Screen Saver رفت، سخت‌افزارهای شما در اختیار Boinc قرار گیرند و برای کدام پروژه تحقیقاتی موجود در لیست استفاده شوند. 

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

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

برای مطالعات بیشتر در زمینه پروژه SETI می‌توانید نگاهی به کتاب رایگانی که NASA به تازگی منتشر کرد بیاندازید.

نویسنده سعید چوبانی
موارد مرتبط ‌‌Boinc توسعه علم پروژه