راه اندازی مختصر BOINC Manager. محاسبات داوطلبانه در دستگاه لینوکس شما سرور BOINC ماشین مجازی

|

فایل را ذخیره کرده و ببندید، سپس boinc-client را اجرا کنید تا سرور به SETI@home متصل شود.

شروع سرویس sudo boinc-client

4: بررسی هاست جدید

5: بررسی وضعیت سرور

برای مشاهده وضعیت سرور یا وظایف، از دستور زیر استفاده کنید:

این دستور اطلاعات عمومی SETI@home را ارائه می دهد و همچنین وظایف جاری در حال اجرا در آن میزبان خاص را گزارش می دهد.

خروجی این دستور چیزی شبیه به این است:

boinccmd --get_simple_gui_info
======== پروژه ها =========
1) -----------
نام: SETI@home
URL اصلی: http://setiathome.berkeley.edu/
user_name: stmiller
تیم_نام: SETI.USA
سهم منابع: 100.000000
user_total_credit: 33159.675770
user_expavg_credit: 1409.252845
host_total_credit: 0.000000
host_expavg_credit: 0.000000
nrpc_failures: 0
master_fetch_failures: 0
واکشی اصلی در انتظار: خیر
زمانبندی RPC در انتظار: خیر
بارگذاری قطره ای در انتظار: خیر
پیوست شده از طریق مدیریت حساب: خیر
پایان یافت: نه
تعلیق از طریق رابط کاربری گرافیکی: خیر
درخواست کار بیشتر نکنید: نه
میزان مصرف دیسک: 0.000000
آخرین RPC: 1423684749.199424
فایل های پروژه دانلود شده: 0.000000
URL رابط کاربری گرافیکی:
نام: تابلوهای پیام
توضیحات: با سایر کاربران در تابلوهای پیام SETI@home مکاتبه کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/forum_index.php
URL رابط کاربری گرافیکی:
نام: کمک
توضیحات: سوال بپرسید و مشکلات را گزارش کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/forum_help_desk.php
URL رابط کاربری گرافیکی:
نام: حساب شما
توضیحات: اطلاعات حساب خود را مشاهده کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/home.php
URL رابط کاربری گرافیکی:
نام: ترجیحات شما
توضیحات: تنظیمات محاسباتی خود را مشاهده و اصلاح کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/prefs.php?subset=global
URL رابط کاربری گرافیکی:
نام: نتایج شما
توضیحات: هفته گذشته (یا بیشتر) نتایج محاسباتی و کار خود را مشاهده کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/results.php?userid=9351194
URL رابط کاربری گرافیکی:
نام: کامپیوترهای شما
توضیحات: فهرستی از تمام رایانه‌هایی که SETI@Home را روی آنها اجرا می‌کنید، مشاهده کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/hosts_user.php?userid=9351194
URL رابط کاربری گرافیکی:
نام: تیم شما
توضیحات: اطلاعات مربوط به تیم خود را مشاهده کنید: SETI.USA
آدرس اینترنتی: http://setiathome.berkeley.edu/team_display.php?teamid=115396
URL رابط کاربری گرافیکی:
نام: اهدا
توضیحات: به SETI@home اهدا کنید
آدرس اینترنتی: http://setiathome.berkeley.edu/sah_donate.php
======== وظایف ========
1) -----------
نام: 25fe12ab.24545.17667.438086664204.12.226_0
نام WU: 25fe12ab.24545.17667.438086664204.12.226
آدرس پروژه: http://setiathome.berkeley.edu/
مهلت گزارش: چهارشنبه 4 مارس 02:06:18 2015
آماده گزارش: خیر
دریافت تایید سرور: خیر
زمان نهایی CPU: 0.000000
حالت: دانلود شده
حالت زمانبندی: زمانبندی شده
exit_status: 0
سیگنال: 0
تعلیق از طریق رابط کاربری گرافیکی: خیر
active_task_state: EXECUTING
شماره نسخه برنامه: 701
زمان CPU ایست بازرسی: 352.733700
زمان فعلی CPU: 378.866400
کسر انجام شده: 0.088431
اندازه مبادله: 110309376.000000
اندازه ست کاری: 40030207.999996
زمان تخمینی باقی مانده CPU: 2505.901220

نصب و راه اندازی.

در زیر فرآیند نصب BOINC manager نسخه 6.4.1 توضیح داده شده است
(UPD: برخی از اسکرین شات ها از نسخه 6.6.28 جایگزین شده اند - جایی که تغییرات نسبت به نسخه قدیمی رخ داده است).

ما نصب کننده را راه اندازی می کنیم و اولین پنجره پیکربندی را می بینیم:



اولین مسیر، دایرکتوری برنامه، جایی است که خود مدیر BOINC در آن نصب شده است. آن را به عنوان پیش فرض بگذارید.
راه دوم، فهرست داده ها - جایی که داده های پروژه در آن ذخیره می شود: ماژول های محاسبه، وظایف و غیره. توصیه می کنم مسیر پیش فرض را تغییر دهید تا همه چیز مربوط به BOINC در یک پوشه باشد.

ما سه چک باکس بعدی را مطابق با سلیقه خود می گذاریم، اما اولین مورد، «استفاده از محافظ صفحه» را حذف می کنم. به طوری که تداخل نداشته باشد.

اگر در حین نصب می گوید Error reading setup initialization file سپس بخوانید
ترجمه مختصر:
1. نصب کننده را با پارامتر /a اجرا کنید
2. مشخص کنید که در کدام ویندوز دیسک قرار دارد
3. طبق معمول نصب کنید

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

پس از راه اندازی مجدد، چیزی شبیه به این خواهید دید:

بنابراین، ما به "پیشرفته" - "تنظیمات برنامه" می رویم و شروع به مدیریت امور در آنجا می کنیم.
(پیشرفته - گزینه ها - عمومی - انتخاب زبان - این در صورتی است که ناگهان زبان روسی شما به طور خودکار مشخص نشود).

تنظیمات:

برگه عمومی

* زبان رابط را انتخاب کنید

* فاصله بین تلاش های مدیر برای اتصال به سرور پروژه. به طور پیش فرض، مدیر به طور خودکار هر 60 دقیقه یک بار به سرور متصل می شود: برای ارسال کارهای تکمیل شده و دریافت محاسبات جدید. اگه میخوای عوضش کن پیشفرض گذاشتم.

* هنگام بوت شدن سیستم، مدیر را راه اندازی کنید؟ به نظر من راه اندازی منطقی است. اگرچه اگر به نماد سینی نیاز ندارید، لازم نیست آن را راه اندازی کنید.

* پیام در هنگام خروج فعال شود؟ اگر چک باکس علامت زده شده باشد، اگر می خواهید از مدیر خارج شوید، پنجره زیر ظاهر می شود:

در این پنجره می توانید تنظیمات زیر را انجام دهید:
* "فرایند محاسبه را متوقف کنید و از مدیر خارج شوید." یک سوال راحت که فقط در نسخه ششم مدیر BOINC ظاهر شد.
اگر کادر را علامت ندهید، مدیر بسته می شود و پروژه به کار خود ادامه می دهد.
کادر را علامت بزنید - پروژه متوقف می شود و مدیر بسته می شود.

* "انتخاب من را به خاطر بسپارید و دیگر این سوال را نپرسید" - فکر می کنم از قبل مشخص است که چک باکس دوم بر چه چیزی تأثیر می گذارد.

برگه تنظیمات اتصال



تب "HTTP Proxy".



برگه "SOCKS proxy".



یک مورد را از منو انتخاب کنید "پیشرفته" - "تنظیمات مشتری"

تب پردازنده



* "هنگامی که با باتری تغذیه می شود"- مربوط به لپ تاپ ها و رایانه های شخصی با نرم افزاری که برای کار با UPS پیکربندی شده است. به احتمال زیاد در حال حذف آن هستیم، چرا باید باتری لپ تاپ را خالی کنیم؟

* "زمانی که رایانه شخصی برای کار استفاده می شود"- یک چک باکس بسیار ضروری، حتما آن را بررسی کنید. در غیر این صورت، BOINC تا زمانی که کامپیوتر را برای "3 دقیقه" ترک کنید (به طور پیش فرض) منتظر می ماند.

* "از GPU هنگامی که کامپیوتر برای کار استفاده می شود استفاده کنید"- هنگام کار از کارت گرافیک برای محاسبات استفاده کنید؟ اگر بله، کارت گرافیک به طور مداوم محاسبات را انجام می دهد، اگر نه، تا زمانی که کامپیوتر را به مدت "3 دقیقه" ترک کنید (به طور پیش فرض) منتظر می ماند.

* در زیر مجموعه ای از تنظیمات برای استت ها آمده است: می توانید برنامه ای تنظیم کنید که بر اساس آن BOINC محاسبات را انجام دهد.

حتی پایین تر واقع شده است "گزینه های دیگر".
* "تغییر بین پروژه ها هر 60 دقیقه". اگر پشته ای از وظایف را از پروژه های مختلف برای محاسبات دانلود کرده اید (به عنوان مثال، ABC@home و Primegrid)، مشتری پروژه ها را هر 60 دقیقه تغییر می دهد: یک ساعت ABC@home در نظر گرفته می شود، سپس یک ساعت به عنوان Primegrid در نظر گرفته می شود و غیره. .

* در سیستم های چند پردازنده ای، از 100% پردازنده ها استفاده کنید.
اگر یک پردازنده چهار هسته ای دارید، اگر آن را روی 50٪ تنظیم کنید - 2 هسته از 4 هسته استفاده می شود.

* از 100% پردازنده استفاده نکنید- با چند درصد BOINC هسته های موجود را به طور مساوی بارگذاری می کند.

آن ها اگر 100% هسته های موجود و 100% پردازنده را نصب کنید، آنگاه هر 4 هسته چهار هسته ای ما 100% کار خواهند کرد.
و اگر 50 درصد هسته ها را 80 درصد بارگذاری کنیم، در چهار هسته ما 80 درصد بارگذاری می شود.


تب تنظیمات شبکه



پارامترهای رایجاین مدیریت کش است.
سرعت دانلود و ارسال را تنظیم می کنیم (به جای اینکه لمس نکنید :))
یک نکته بسیار مهم! ما انتخاب می کنیم که چند روز کارها را بارگیری کنیم.
من با داشتن اتصال ثابت به اینترنت، بافر اصلی را روی ۱ روز و بافر اضافی را روی ۱ روز تنظیم کردم.
اگر به صورت دوره ای اینترنت دارید، آن را روی تعداد روز بیشتر تنظیم کنید. فقط به مهلت ارسال توجه کنید تا کارها "موقعیت" نداشته باشند.

چگونه مدیر می داند که چند کار باید بارگذاری شود؟
در ابتدای کار، و سپس هر 4-5 روز، مدیر یک معیار پردازنده را راه اندازی می کند. و بر اساس نتایج به دست آمده، تصمیم می گیرد که چند قطعه VU (واحد کاری = واحد کاری = VU) در حافظه پنهان بارگذاری شود.

* فایل های دانلود شده را بررسی نکنید- من خودم نمی دانم، پاسخ را پیدا می کنم و این پاراگراف را در مقاله به روز می کنم.

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

دسترسی به اینترنت.
در اینجا می توانید برنامه ای تنظیم کنید که طبق آن مدیر آنلاین شود (در صورت نیاز).

آیا به دسترسی مداوم به اینترنت نیاز دارید؟
نه! مدیر فقط برای ارسال/دریافت کارها نیاز به دسترسی به شبکه دارد. بنابراین از نظر تئوری، تا زمانی که چیزی برای خواندن در حافظه پنهان وجود داشته باشد، یک کامپیوتر می تواند بدون اینترنت بایستد.

تب دیسک و حافظه





من در اینجا مشاور نیستم: این شما هستید که تصمیم می گیرید چه اعدادی را قرار دهید. همه چیز را به عنوان پیش فرض گذاشتم. اما من "دوره ذخیره در دیسک" را از 60 به 300 ثانیه افزایش می دهم. چرا یک بار دیگر هارد را بکشید؟

تمام شد، تنظیمات اولیه مدیر کامل شد. بیایید به اتصال پروژه برویم.

اتصال به پروژه

"سرویس" - "افزودن پروژه" را انتخاب کنید.


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

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

پیام:
پیام از سرور: هیچ کاری ارسال نشد
سرور در حال حاضر کار صادر نمی کند. اشکالی ندارد، پروژه هایی وجود دارد که در آنها به مدت شش ماه هیچ وظیفه ای وجود ندارد. فعلا به پروژه دیگری بپیوندید.

پیام:
شما از URL اشتباهی برای این پروژه استفاده کردید
آدرس صحیح http://www.cosmologyathome.org/ است
این بدان معناست که از لحظه ای که به پروژه متصل شده اید، آدرس سرور تغییر کرده است. اکنون باید دوباره به پروژه متصل شوید. آن ها پروژه را حذف کنید و با وارد کردن آدرس سرور صحیح دوباره وصل شوید.هر آنچه در بالا نوشته شد مربوط به مدیر پروژه نصب شده روی یک ماشین محلی است. به "مدیر محلی".
اگر یک ماشین دارید، بله، مدیریت آن برای شما راحت تر است. اما اگر ده مورد از آنها را دارید، برای شما آسان تر است که هر یک را به هم متصل کرده و آنها را به صورت مرکزی با استفاده از "BAM" - "Boink Account Manager" مدیریت کنید. در مورد آن بیشتر بخوانید.

به طور کامل به مسائل BOINC اختصاص داده شده است.

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

تصمیم گرفته شد که یک توزیع زنده را با یک BOINC داخلی جمع آوری کنیم و آن را در شبکه توزیع کنیم. رایانه را روشن کنید، F12 را فشار دهید، مورد مورد نظر را انتخاب کنید - و شما در حال حاضر به بشریت سود می برید!

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

توجه داشته باشید که همه چیز در یک محیط بسیار بسته انجام می شد و باید توجه بسیار کمی به امنیت می شد. در مورد شما، ممکن است لازم باشد کارهای بیشتری در زمینه امنیت انجام دهید.

آماده سازی

سیستم از این تشکیل شده است:
  1. سرور بوت شبکه
  2. سرور NFS
  3. ایستگاه مونتاژ
من 2 و 3 - یک ماشین دارم.

1. سرور بوت شبکه.من از قبل همه چیز را آماده کرده بودم؛ TFTP و DHCP باقی مانده از پروژه تین کلاینت را پیکربندی کرده بودم. اگر یکی ندارید، به راحتی می توانید یک مورد جدید را انتخاب کنید. به طور خلاصه، ما tftpd-hpa را نصب و اجرا می‌کنیم، و در DHCP پارامترهای 66 و 67 را مشخص می‌کنیم. فقط اجازه ندهید کسی از طریق شبکه بوت شود (در مورد من، اینها کادت هستند)، این می‌تواند خطرناک باشد. علاوه بر بایوس، می‌توانید بخشی از منوی بوت سرور TFTP را با رمز عبور محافظت کنید.

2. سرور NFS.ابتدا، BOINC باید بتواند داده های خود را در حین کار ذخیره کند. فرض بر این است که هارد دیسک محلی قابل لمس نیست، بنابراین با استفاده از NFS اجازه می‌دهیم تا در یک دایرکتوری بنویسیم، به عنوان مثال /srv/boinc-nfs. در اینجا، هر کامپیوتر یک زیر شاخه با نامی که با آدرس MAC آن مطابقت دارد ایجاد می کند. در مرحله دوم، دایرکتوری /srv/debian-live حاوی سیستم فایل ریشه برای بوت شدن شبکه خواهد بود. بنابراین:
mkdir /srv/debian-live mkdir /srv/boinc-nfs chown nobody:nogroup /srv/boinc-nfs chmod 755 /srv/boinc-nfs
افزودن به /etc/exports:
/srv/boinc-nfs *(rw,sync,no_root_squash,no_subtree_check) /srv/debian-live *(ro,async,no_root_squash,no_subtree_check)
پس از آن ما سرویس را دوباره راه اندازی می کنیم (به دلایلی exportfs -rv توصیه شده هیچ نتیجه ای به من نداد):
/etc/init.d/nfs-kernel-server راه اندازی مجدد
3. ایستگاه مونتاژ.این فقط یک ماشین مجازی است که Debian Wheezy معمولی را اجرا می کند. پکیج live-build نصب شده است که کار اصلی را انجام خواهد داد. اینجا باید اینترنت باشه

فرآیند ساخت

به ایستگاه مونتاژ می رویم.
mkdir /srv/live-default && cd /srv/live-default
ما یک پیکربندی اولیه برای توزیع خود ایجاد می کنیم و آدرس سرور NFS را مشخص می کنیم:
lb config -b netboot --net-root-path "/srv/debian-live" --net-root-server "192.168.15.20"
درختی از دایرکتوری ها تشکیل می شود که با قرار دادن محتوای مختلف در آنها می توانید اسمبلی خود را سفارشی کنید. موارد زیر را اضافه می کنیم:
1. config/package-lists/boinc.list - لیست بسته هایی که در ساخت ما مورد نیاز خواهند بود. در آن می نویسیم:
boinc-client nfs-common
2. config/includes.chroot/etc/init.d/boinc-preps - یک اسکریپت init که NFS را نصب می‌کند، BOINC را پیکربندی می‌کند و نام میزبان را تغییر می‌دهد (شاید همان نام‌های میزبان مانع از شناسایی کامپیوتر توسط WCG شود، با آنها کارهای زیادی انجام شد. حالت جدا شده). در این اسکریپت باید آدرس NFS خود و آدرس هاست هایی را وارد کنید که مدیریت بدون رمز عبور از آنها مجاز خواهد بود. محتویات اسکریپت:
#!/bin/bash ### BEGIN INIT INFO # ارائه می دهد: boinc-preps # Required-Start: nfs-common # Required-Stop: # Should-Start: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # توضیحات کوتاه: موارد مختلف برای BOINC # توضیحات: موارد مختلف برای BOINC ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin . /lib/init/vars.sh do_start () ( MYMAC=`ifconfig eth0 | grep -o -E "([[:xdigit:]](1,2):)(5)[[:xdigit:]]( 1,2)" | sed s/://g` ancien=`hostname` nouveau=DYNWCG-$MYMAC mkdir -p /mnt/boinc-nfs mount 192.168.15.20:/srv/boinc-nfs /mnt/boinc- nfs && mkdir -p /mnt/boinc-nfs/$MYMAC سرویس boinc stop sed -i "s/^BOINC_DIR=.*/BOINC_DIR=\/mnt\/boinc-nfs\/$MYMAC/;s/^BOINC_USER= .*/BOINC_USER=\"root\"/" /etc/default/boinc-client echo "192.168.10.60" > /mnt/boinc-nfs/$MYMAC/remote_hosts.cfg echo "192.168.10.61" >> /boinc-nfs/$MYMAC/remote_hosts.cfg echo "" >> /mnt/boinc-nfs/$MYMAC/gui_rpc_auth.cfg برای فایل در \ /etc/hostname \ /etc/hosts # می‌توانید #/etc/ اضافه کنید در اینجا ssh/ssh_host_rsa_key.pub \ #/etc/ssh/ssh_host_dsa_key.pub \ # اگر به SSH نیاز دارید [ -f $file ] && sed -i.old -e "s:$ancien:$nouveau:g" $file را انجام دهید انجام شد invoke -rc.d hostname.sh شروع invoke-rc.d شبکه نیروی بارگذاری مجدد سرویس boinc start ) مورد "$1" در start|"") do_start ;; راه اندازی مجدد|بارگذاری مجدد|بارگذاری مجدد|وضعیت) echo "خطا: آرگومان "$1" پشتیبانی نمی شود" >&2 خروج 3 ;; توقف) # خروجی NOP 3 ;; *) echo "Usage: ... " >&2 exit 3 ;; اساک:
.
پیش‌فرض #!/bin/sh update-rc.d boinc-preps
پس از افزودن تنظیمات لازم، خود اسمبلی را راه اندازی می کنیم:
پوند ساخت
مقدار برای ما فایل binary.netboot.tar است. بیایید آن را در /srv باز کنیم:
cd /srv && tar -xvf live-default/binary.netboot.tar
بسته بندی آن در /srv/debian-live (روت FS برای بوت شبکه) و /srv/tftpboot (فایل ها برای سرور TFTP) باز می شود. در مورد من، build station و سرور NFS یک کامپیوتر هستند، بنابراین /srv/debian-live در حال حاضر موجود است.
محتویات tftpboot یک منوی بوت آماده است؛ باید روی یک سرور TFTP قرار گیرد. من عملکرد آن را بررسی نکردم، زیرا من یک سرور TFTP کار با منوی خود دارم و از اینجا فقط به بخشی از داده ها نیاز داشتم. ابتدا تمام فایل‌ها را از tftpboot/live/ به سرور TFTP در images/debian-live/ (نسبت به دایرکتوری اصلی سرور TFTP) کپی کردم. در مرحله دوم، از tftpboot/live.cfg متنی را قرض گرفتم که یک آیتم منوی جدید اضافه می کند، در حالی که آن را به این حالت تغییر می دهم (در اینجا باید آدرس سرور NFS خود را نیز مشخص کنید):
label live-686-pae menu label BOINC-live (686-pae) linux images/debian-live/vmlinuz1 initrd images/debian-live/initrd1.img append boot=پیکربندی زنده nosplash root=/dev/nfs nfsroot=8.192. 15.20:/srv/debian-live
حالا همه چیز سر جای خودش است.

اگر پس از مونتاژ می خواهید محتویات سیستم فایل ریشه را بررسی کنید، پس نیازی به بوت شدن با آن ندارید، می توانید به سادگی آن را به عنوان یک دستگاه حلقه سوار کنید:
mount -o loop,ro /srv/debian-live/live/filesystem.squashfs /mnt/squash/
اگر نیاز به بازسازی توزیع با پارامترهای جدید دارید، قبل از انجام این کار می توانید lb clean --binary یا lb clean را انجام دهید.

استفاده

  1. کامپیوتر را روشن کنید و بوت از طریق شبکه را انتخاب کنید (معمولا فقط F12 را فشار دهید).
  2. بسته به منوی بوت، یا آیتم "BOINC-live" را انتخاب می کنیم، یا به سادگی منتظر می مانیم تا زمان بوت شدن آن تمام شود.
  3. در خط فرمان ظاهر شده (اگر همه چیز همانطور که باید پیش رفت)، sudo ifconfig (نیازی به وارد کردن رمز عبور ندارید) و آدرس IP را یادداشت کنید.
  4. در رایانه کنترلی (یکی از مواردی که در config/includes.chroot/etc/init.d/boinc-preps مشخص کردیم) boinc-manager را اجرا کنید، روی «پیشرفته - تغییر رایانه» کلیک کنید (این دکمه فقط در «نمای کامل» موجود است. ”). با این حال، BOINC نباید هیچ رمز عبوری را از کاربر بخواهد.
  5. پس از اتصال، یک جادوگر ظاهر می شود که در آن باید یک پروژه را انتخاب کنید (در مورد من شبکه جهانی جامعه است) و ورود / رمز عبور خود را وارد کنید.
تمام است، در عرض چند دقیقه وظایف جدید در حالت های "آماده راه اندازی" و "در حال اجرا" ظاهر می شوند.
این روش فقط باید یک بار برای هر کامپیوتر (به طور دقیق تر، برای هر آدرس MAC) تکمیل شود. حتی اگر رایانه پس از استفاده طولانی مدت در مکان دیگری به شما بازگردد، رایانه داده های خود را در سرور NFS با آدرس MAC پیدا می کند و بلافاصله پس از روشن کردن آن به کار خود ادامه می دهد (فقط برخی از کارها قبلاً منقضی شده اند، اما این یک مشکل است. جزئی، موارد جدید دریافت خواهد کرد).

نتایج

آنچه حل نشده باقی مانده است:
  • ورود خودکار به WCG. احتمالاً می توان پیکربندی پروژه را در تصویر جاسازی کرد تا اصلاً مجبور نباشید چیزی را به صورت دستی وارد کنید، اما راه حل را نمی توان در مدت زمان معقولی در گوگل جستجو کرد.
  • اعلان های پستی برای جلوگیری از تایپ "sudo ifconfig"، می توانید به طور خودکار آدرس رایانه ای را که در حال راه اندازی است برای مدیر ارسال کنید. با این حال من این کار را نکردم چون عصا هستم و بهتر است به جای آن نکته قبلی را اجرا کنم.
  • IP سرور NFS دو بار لیست شده است، شاید بتوان یکی از آنها را حذف کرد.
  • برای ایجاد دایرکتوری کامپیوتر، همیشه از آدرس MAC رابط eth0 استفاده می شود. اینکه آیا این خوب است یا نه، نمی توانم با قطعیت بگویم.

  • اجازه ندهید کامپیوترها خسته شوند! و نظرات خود را بنویسید، خوشحال می شوم پاسخ دهم یا به مقاله اضافه کنم.

آنها از پلت فرم BOINC استفاده می کنند که حدود ده سال پیش در دانشگاه کالیفرنیا در برکلی توسعه یافت. اولین قدم برای شرکت در یکی از آنها نصب برنامه BOINC Manager است.

نصب و پیکربندی کلاینت BOINC

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

تنظیمات برای محاسبات CPU و GPU در مشتری BOINC

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

تنظیمات پروژه BOINC از طریق رابط وب

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

تست عملکرد مشتری BOINC داخلی

انتخاب پروژه ها بر اساس منابع موجود

هنگام انجام محاسبات علمی، عملکرد واحدهای FPU که محاسبات ممیز شناور را انجام می دهند، نقش مهمی ایفا می کند. دقت محاسبات ممکن است متفاوت باشد. معمولاً آنها در مورد سه نوع اجرا شده در عمل صحبت می کنند:

  • FP16 (نیم دقت) - محاسبه نقطه شناور با نیم دقت؛
  • FP32 (Single Precision) - محاسبات نقطه شناور با دقت تک؛
  • FP64 (دقت دوگانه) - محاسبات ممیز شناور با دقت دوگانه.

این نوع دوم محاسبات (FP64 یا باینری 64 طبق استاندارد IEEE 754) است که بیشترین تقاضا را در محاسبات BOINC و سایر برنامه های علمی دارد، زیرا به شما امکان می دهد با مقادیری در محدوده 10 کار کنید. -308 تا 10 308 با دقت 15 رقم (در عبارت اعشاری) بعد از کاما. با این حال، سهم محاسبات تک دقیق نیز بسیار زیاد است و حتی برای پروژه های فردی کافی است.

کارت‌های ویدئویی مدرن از فناوری‌های محاسباتی همه منظوره پشتیبانی می‌کنند. هر تراشه ویدیویی که پس از سال 2007 منتشر شود، محاسبات علمی را بهتر از یک پردازنده با قیمت مشابه از نسل مشابه انجام می دهد.

معماری و سرعت محاسبات انواع FP32 و FP64 برخی از کارت های ویدئویی

اگر قبلاً nVidia بر این بخش تسلط داشت (از جمله از طریق انتشار شتاب‌دهنده‌های تسلا با همان معماری)، اکنون پروژه‌های بیشتری به سمت AMD (ATI) نگاه می‌کنند.

نمونه ای از اجرای پروژه های BOINC بر روی کارت گرافیک AMD

همچنین پروژه هایی وجود دارند که از شتاب در کارت های ویدئویی AMD پشتیبانی می کنند، اما با محصولات nVidia کار نمی کنند.

پروژه های BOINC با پشتیبانی انحصاری از کارت های گرافیک AMD

احتمالاً این به این دلیل است که با سرعت بالای محاسبات FP32، کارت‌های ویدئویی nVidia روی تراشه GK104 کاهش شدید عملکرد را در محاسبات نوع FP64 نشان می‌دهند. به عنوان مثال، اگر Radeon HD 6930 محاسبات را با دقت دو برابر چهار برابر کندتر از دقت تک (به ترتیب 480 و 1920 گیگافلاپ) انجام دهد، GeForce GTX 680 بیست و چهار برابر کندتر است (128 و 3090 گیگافلاپ).

وقتی "آخرین" به معنای "بهترین" نیست

استفاده از تراشه های مدرن تر به خودی خود همیشه به معنای افزایش سرعت نیست. به عنوان مثال، HD 6850 قادر به انجام محاسبات با دقت دو برابر نیست، اما HD 5850 محاسبات FP64 را تا 418 گیگافلاپ انجام می دهد.

کارت‌های ویدئویی سطح بالا اغلب عملکرد یک سرور چند پردازنده را دارند. به عنوان مثال، یک کارت گرافیک با تراشه HD 7970 حاوی 2048 هسته محاسباتی است که در 32 بلوک ترکیب شده اند. عملکرد نظری آن 3789 گیگافلاپ برای عملیات تک دقیق و 947 گیگافلاپ برای عملیات با دقت دوگانه است.

برای مقایسه: بخش حسابی پردازنده Core-i5 3570K 122 گیگافلاپ (FP32) و 61 گیگافلاپ (FP64) را در حالت توربو ارائه می دهد و Intel HD Graphics 4000 افزایش 147 گیگافلاپ دیگر (FP32) را ارائه می دهد. AMD A10-5800K دارای عملکرد محاسباتی 122 گیگافلاپ (FP32) و 61 گیگافلاپ (FP64) است، اما هسته ویدیویی Radeon HD 7660D افزایش چهار برابری را ارائه می دهد - 614 گیگافلاپ (FP32).

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

به عنوان مثال، وظایف پروژه Einstein@home در رایانه ای با Core-i3 2100 و کارت گرافیک Radeon HD 6850 با سرعت 49.5 گیگافلاپ و POEM@home - 71.4 گیگافلاپ با همان تنظیمات پردازش می شود. هر دو پروژه پشتیبانی از تسریع محاسبات توسط کارت های ویدئویی AMD را اعلام می کنند.

هزینه های برق

نکته مهم بهره وری انرژی سیستم های مختلف است. در حال حاضر، بین 1 تا 20 گیگافلاپ در هر وات است و این پارامتر مستقیماً بر نحوه افزایش قبض برق شما تأثیر می گذارد. از نقطه نظر مقرون به صرفه بودن، نه تنها شتاب دهنده های تخصصی و راه حل های سرور جذاب هستند، بلکه APU ها و تراشه های ویدئویی تولید انبوه نیز جذاب هستند. جالب‌ترین تراشه‌های AMD نزدیک‌تر به ابتدای محدوده قیمتی قرار دارند، در حالی که nVidia عمدتاً در یک سوم بالایی قرار دارند.

به عنوان مثال، کارایی یک کارت گرافیک ارزان قیمت Radeon HD 7770 16 گیگافلاپ در هر وات در محاسبات FP32 است، اما استفاده از آن برای محاسبات FP64 غیرقابل توجیه است - در اینجا نتیجه تنها 1.0 گیگافلاپ در هر وات را نشان می دهد. حتی تراشه HD 4750 که در سال 2009 عرضه شد، رقم بسیار بهتری داشت - 2.5 گیگافلاپ در هر وات.

GeForce GTX 660Ti متعلق به رده بالایی در محدوده قیمتی میان رده است، اما انرژی را به طور موثرتری مصرف می کند: 16.4 گیگافلاپ در هر وات در محاسبات FP32 و 2.1 گیگافلاپ در هر وات در محاسبات با دقت دو برابر.

اگر (از لحاظ نظری) BOINC را در حالت پردازش ثابت نگه دارید و رایانه را خاموش نکنید، با مصرف برق ≈ 200 وات کمتر از 150 کیلووات ساعت به قرائت کنتور در ماه اضافه می کند. در یک سناریوی استفاده معمولی (زمانی که BOINC فقط در زمان بیکاری فعال است و رایانه چندین ساعت در روز کار می کند و در شب خاموش می شود) - کمتر از ده کیلووات ساعت.

شاید این هزینه های اندک در حمایت از تیم های تحقیقاتی دانشگاه های مطرح دنیا برای بسیاری توجیه پذیرتر از کمک به موسسات خیریه مشکوک به نظر برسد.

این یک نسخه کوتاه از راه‌اندازی مشتری BOINC برای کسانی است که علاقه زیادی به مطالعه ندارند و بلافاصله «به‌ندرت می‌روند». با وجود فراوانی گزینه‌ها و قابلیت‌های BOINC، در بیشتر موارد می‌توانید تمام مقادیر پیش‌فرض را رها کنید؛ به نظر من، تنها 3 گزینه واقعا مهم وجود دارد که همه باید پیکربندی کنند که اکنون تنها در 4 مرحله پیکربندی می‌کنیم. اسکرین شات ها از نسخه انگلیسی کلاینت 6.12.26 هستند، نام گزینه ها به زبان انگلیسی آمده و در پرانتز با ترجمه روسی در نسخه فعلی آن تکرار شده است (ترجمه ممکن است از نسخه به نسخه کمی متفاوت باشد).

1. به طور پیش فرض، BOINC Manager در حالت "ساده شده" عمل می کند، که در آن بسیاری از عملکردهای ضروری در دسترس نیستند. بنابراین، اگر قبلاً این کار را انجام نداده اید، با فشار دادن دکمه مربوطه به حالت "پیشرفته" (نمای پیشرفته) بروید:


2. تنظیمات BOINC Manager را باز کنید:
در نسخه‌های برنامه که از 6.12.xx شروع می‌شوند، در آیتم منوی Tools --> Computing Preferences (ابزارها --> Client Settings) قرار دارند.
در نسخه های قدیمی، به ویژه 6.10.xx، در مورد Advanced --> Preferences (Advanced --> Settings)

3. در برگه "استفاده از پردازنده"، گزینه های زیر را تنظیم کنید:


"در حالی که استفاده از پردازنده کمتر از XX درصد است" = 0
این گزینه محاسبات را به طور کامل متوقف می کند زمانی که بار پردازنده توسط برنامه های کاربر (که منظور ما هر برنامه ای غیر از خود BOINC، از جمله برنامه هایی که در پس زمینه اجرا می شوند) از XX٪ بیشتر شود. 0% به معنای نادیده گرفتن استفاده از CPU توسط برنامه های دیگر است. توصیه می شود دقیقاً 0 را تنظیم کنید، زیرا محاسبات با کمترین اولویت انجام می شود و در شرایط عادی با کار برنامه های دیگر تداخل نمی کند (از آنجایی که منابع محاسباتی به طور پویا به نفع آنها توسط سیستم عامل توزیع می شوند). یا می توانید مقدار خود را تنظیم کنید، به عنوان مثال 80-90٪ (یعنی محاسبه مکث فقط تحت بار سنگین). مقدار پیش‌فرض (25%) خوب نیست - محاسبات در کوچک‌ترین فعالیت کاربر متوقف می‌شوند، و همچنین، برای مثال، شروع یک اسکن آنتی‌ویروس پس‌زمینه یا استفاده موازی از Folding@Home.

اگر می‌خواهید تنها بخشی از پردازنده‌ها/هسته‌های موجود در رایانه را برای محاسبات BOINC استفاده کنید، آن را در گزینه زیر تنظیم کنید: «در سیستم‌های میلی‌پردازنده، حداکثر XX % از پردازنده‌ها را استفاده کنید» (در سیستم‌های چند پردازنده‌ای، از XX درصد استفاده کنید. تعداد کل پردازنده ها). مقدار بر حسب % مشخص شده است. برای استفاده از تنها 3 هسته در یک پردازنده 4 هسته ای، آن را روی 75٪، 1 هسته روی یک پردازنده 2 هسته ای - 50٪ و غیره تنظیم کنید.
در پردازنده‌های چند هسته‌ای/چند رشته‌ای، این روش برای تنظیم/کاهش بار (مثلاً در صورت گرم شدن بیش از حد) در مقایسه با «استفاده حداکثر XX % از زمان CPU» ترجیح داده می‌شود (بیشتر از XX درصد استفاده نکنید. زمان هر پردازنده)، زیرا بار "یکنواخت" بیشتری به پردازنده می دهد و علاوه بر این باعث صرفه جویی در RAM می شود (با کاهش تعداد فرآیندهای در حال اجرا / ماژول های محاسبه موازی).
اگر قصد دارید از همه هسته‌ها استفاده کنید، به سادگی مقدار پیش‌فرض را رها کنید. 100%

4. در برگه «استفاده از شبکه»، در ستون «حافظه کار اضافی XX روز»، اندازه حافظه پنهان کار را تنظیم کنید:


حجم زیادی از وظایف به شما این امکان را می دهد که در صورت بروز مشکلات طولانی مدت در اینترنت یا خرابی سرورهای پروژه از خرابی جلوگیری کنید. مقادیر توصیه شده از 2 تا 8 روز. در عین حال، هرچه رایانه منظم‌تر کار کند، می‌توان اندازه حافظه پنهان کار را بزرگ‌تر تنظیم کرد. Regularity به حالت کار کامپیوتر اشاره دارد؛ منظم بودن ایده آل کار 24/7 (24 ساعت شبانه روز، 7 روز هفته) یا هر روز، برای مثال، دقیقا 10 ساعت است. رایانه های اداری (تقریباً حالت 9/5) را نیز می توان کاملاً معمولی در نظر گرفت. اما اگر رایانه به طور پراکنده روشن می شود - نه هر روز و مدت زمان کار هر روز متفاوت است، توصیه نمی شود یک حافظه پنهان بزرگ از وظایف تنظیم کنید، زیرا مشتری اشتباهات بزرگی را در محاسبه تعداد مورد نیاز کارها (به صورت تکه تکه) مرتکب می شود تا از عرضه ای که شما مشخص کرده اید (در روز) اطمینان حاصل کند و در نتیجه، آنها ممکن است کارهای بیشتری را نسبت به آنچه که شما بتوانید به موقع انجام دهید دانلود کند. من استفاده از آیتم "بارگیری وظایف برای XX روز" را برای تنظیم اندازه حافظه پنهان توصیه نمی کنم، زیرا علاوه بر اندازه کش، فرکانس اتصالات به سرورهای پروژه را نیز تنظیم می کند (در اصل این مورد "Connect about every XX days" نامیده می شود) و با تنظیم یک مقدار بزرگ در آنجا، وضعیتی به دست می آید که کلاینت قبل از ارسال وظایف شمارش شده به سرور، چندین روز صبر کنید و بخشی از کارهای جدید را دریافت کنید.

اگر به تنظیمات دقیق تر یا توضیح برخی از گزینه ها علاقه مند هستید، گزینه تنظیمات کامل BOINC را که در اینجا قرار دارد بخوانید: (زمانی که این نسخه کامل آماده شد لینکی در اینجا وجود خواهد داشت)