Bitcoin: реализация фермы из двух видеокарт ati 7850 на ubuntu

в 7:21, , рубрики: bitcoin, linux, mining, заработок в интернете, майнинг, Финансы для всех, электронная коммерция, метки: , , ,

Доброе время суток, читатели.

Это мой первый пост на получение инвайта за который дали инвайт (спасибо!). Ничего умнее не пришло в голову, чем отписаться о собственном опыте добычи bitcoin (BTC).
Сборка и настройка фермы добычи BTC уже описана и на Habrahabr, и на различных тематических площадках, пулах. Однако, в процессе вылезали всевозможные недоговорки статей, в связи с чем пришлось гуглить и производить тесты, в моем случае на работающем файловом сервере.
Итак, приступим:

Валюта биткоин, при всех ее недостатках, которые можно привести к общепринятым высказываниям:

— это пирамида;
— это не подкрепленная ничем валюта, завтра она обесценится;
— курс валюты нестабилен;
— зачем это;
имеет важное и неоспоримое достоинство — хороший курс к доллару.
Исходя из вышеперечисленного считаю, что это заработок, которым не стоит пренебрегать. И около года добывал BTC на 3 видеокартах ATI, установленных на машины инженеров- проектировщиков, в нерабочее время.
В течение года добывал на скорости 200 MH/s за ночь, что составляло около 0,02 BTC в сутки. Когда в начале апреля 2013 курс уверенно пошел вверх, я получил рублевый эквивалент своих накоплений по курсу 1 BTC = $200, что в пересчете на рубли составило около 15 000.
Курс снова упал до $100-120 за 1 BTC, а я задумался о получении прибыли, аналогичной своей официальной зарплате админа в регионе.
Были приобретены в ближайшем магазине две видеокарты ATI 7850 производства Gigabyte по 5500 рублей за штуку и смонтированы в файловый сервер, он же торрентокачалка на ubuntu 12. Выбор был сделан исходя из наличия в мат.плате сервера 2-х портов PCI-E и блока питания на 500 ватт.
bessome@xxx:~$ uname -a
Linux xxx 3.5.0-22-generic #34-Ubuntu SMP Tue Jan 8 21:47:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Ubuntu стояла с графической оболочкой, поэтому оставалось выкатить только драйвера. Все, что я делал, было взято отсюда
Если раскидывать поэтапно, то выглядело так:
1. Подготовка
sudo apt-get update
sudo apt-get upgrade
sudo apt-get remove nvidia-common
sudo apt-get install libqtgui4 python-setuptools python-numpy subversion g++ libboost-all-dev autoconf

2. Качаем драйвера ATI текущие (13.1 на данный момент) с сайта ati.com (так как видеокарты относительно новые, и файлы по ссылке могут просто не увидеть видеокарты).
3. Инсталлируем драйвера «sh atixxxxxxxxx.run --install» — я обошелся без сборки пакетов. Да, в процессе ставил linux-headers (apt-get install linux-headers-(uname -r)) для текущего ядра.
Обязательно запускаем:
aticonfig -f --initial --adapter=all
cd /opt/
mkdir bfgminer

4. Устанавливаем python-jsonrpc
<сode>svn checkout svn.json-rpc.org/trunk/python-jsonrpc
cd python-jsonrpc/
sudo python setup.py install
5. Качаем и ставим bfgminer:
wget https://github.com/luke-jr/bfgminer/archive/bfgminer.zip
распаковываем
<сode>unzip bfgminer.zip
Собираем: ./autogen.sh
Компилируем: make -j3

После всего проделанного в папке bfgminer-xxx появляется исполняемый файл bfgminer. При запуске майнер сам все карты находит, начинает добывать BTC. Строка запуска чуть далее.

Оказалось, что средняя скорость 200 MH/s с одной видеокарты, ожидал большего. Надо заметить, что при включении crossfire в ATI Control Panel (а я его поставил при монтаже, и оказалось, что расстояние между PIC_E портами материнской платы великовато — пришлось натягивать) производительность падает, Так что убрал я этот проводок и вздохнул спокойно.
При изучении aticonfig --help родился следующий скрипт:

#!/bin/sh

export DISPLAY=:0.0
/usr/bin/aticonfig --od-disable --adapter=0
/usr/bin/aticonfig --od-enable --adapter=0
/usr/bin/aticonfig --adapter=0 --od-setclocks=1150,1200
/usr/bin/aticonfig --pplib-cmd "set fanspeed 0 80"

export DISPLAY=:0.1
/usr/bin/aticonfig --od-disable --adapter=1
/usr/bin/aticonfig --od-enable --adapter=1
/usr/bin/aticonfig --pplib-cmd "set fanspeed 1 80"
/usr/bin/aticonfig --adapter=1 --od-setclocks=1150,1200

/opt/bfgminer-2.6.3/bfgminer --url http://pit.deepbit.net:8332 -O xxxx@xxxx.xx:xxxxxx --gpu-dyninterval 7

Делает он собственно вот что: сначала для видеокарты 0 (default), в потом для видеокарты 1 отключает (вдруг был рестарт скрипта) и включает overdrive (od) и дает возможность руками установить частоту процессора видеокарты (GPU) и памяти видеокарты. --od-setclock=частота процессора, частота памяти.
При тестировании вывел, что частота памяти на майнинг не влияет и поставил по нижней границе. Что касается частоты GPU, то выяснилось, что драйвер падает при частоте выше 1150 Мегагерц. Полагаю, это связано с мощностью блока питания, который две видеокарты, материнку, процессор, охлаждение и жесткий просто напросто не вытягивает. В среднем производительность одной карты после разгона составила 350 Мегахешей, что полностью меня удовлетворило.
aticonfig --adapter=x --od-gettemperature — посмотреть температуру адаптера х.

Сам вывод bfgminer:
image

Теперь считаем деньги:

На сегодня курс BTC/USD = $120/BTC. Курс $ к рублю составляет 31,46 за 1 USD.
deepbit.net показывает, что я добываю около 0.06 BTC в сутки.
При текущей ситуации, ниже $100 продавать я 1 BTC точно не буду, то есть минимум
30 * 0.06 = 1.8 BTC в месяц.
$100 * 1.8 = $180 в месяц.
$180 * 31,4 = 5 650 в месяц.
То есть, за 2 месяца работы файлового сервера, если я ничего не спалю в конторе, я верну стоимость видеокарт и уйду в чистую прибыль. Приятная прибавка к зарплате. Кстати, вывод BTC в рубли мне обходится в 6% от суммы.

Теперь смотрим, что нужно, чтобы иметь 35 000 рублей в месяц ничего не делая:

1. Халявное электричество (хотя затраты на него очень невелики — 10%, по моим подсчетам). Например, если добывать дома на лоджии — лучшее охлаждение и шумоизоляция, можно поставить трехзонный электросчетчик и экономить ночами.
2. Материнская плата с 2-мя или более разъемами PCI-E = 3000 рублей. Смотрю в сторону матерей под AMD, ибо дешевле они; процессор от 3000 рублей; память 700 рублей — копейки. Видеокарта от 5500 рублей за штуку, на материнскую плату планирую ставить минимум 3 штуки; 2 блока питания по 1500 рублей (один для материнской платы обязательно с разъемом питания для видеокарты; второй с двумя разъемами для видеокарты — есть такие, подороже). То есть один блок питания будет питать видеокарты, другой материнскую плату, и если что дублировать первый. Корпус не нужен, обдув будет лучше. Всего на ферму выходит 26200 рублей.
3. Одна ферма добывает со скоростью 350 * 3 = 1050 MH/s, что в рублях составит
(0,08 BTC * 30 дней * $100 * 31.4 рубля) = 7500 рублей в месяц
и полностью себя окупит за 4 месяца.
4. Чтобы иметь 35000 в месяц нужно 5 (без малого) ферм. Считаем 5*26200 = 131 000 рублей (стоимость непрестижной подержанной иномарки или ВАЗ года этак 2000 выпуска).
5 Пересчитываем окупаемость вложений:
5 ферм * 1050 MH/s = 5250 MH/s,
то есть 0,4 BTC в день.
0,4 * 30 дней * $100 * 31,4 = 37 680 (- 10% электричество 3768 = 33 912 рублей).
Или 452 160 рублей в год. Годовая прибыль на вложенные средства составляет 245%.
6. Так как процессор свободен (у меня загрузка 7%), можно сделать маленький дата-центр а-ля облако, и на нем размещать, например сайты.
7. Анализируя историю роста сложности отсюда, пришел к выводу, что график роста сложности похож на экспоненту (Показательная функция (экспонента). Это функция вида f(x)=a в степени x. Вывод простой: с каждым блоком сложность будет увеличиваться в разы. По моим прикидкам в неделю около 14% пока. Так что жду либо выхода супер-быстрых видеокарт, либо оптимизаций добычи BTC. Однако, подозреваю что с ростом сложности так или иначе вырастет курс BTC/USD.

Нерешенные проблемы и недостатки:

1. Автозапуск скрипта из rc.local и автозагрузки графической оболочки через cron и автозапуск Gnome не работает, с этим разбираюсь.
2. Запуск в терминале типа PuTTy скрипта ругается на отсутствие Х-ов, однако сам bfgminer стартует.
3. Греется не сильно, что-то около 72 градусов на видеокарту. Видимо, потому что новые. Смотрим температуру командой aticonfig --odgt --adapter=all, скорость кулера aticonfig --pplib-cmd "get fanspeed 0" для карты 0 или aticonfig --pplib-cmd "get fanspeed 1" для карты 1.
4. Первая видеокарта (которая default) добывает с несколько меньшей скоростью, на 30 MH/s меньше. Видимо потому, что она еще тянет за собой рабочий стол с графикой и TeamViewer. Устранить проблему, думаю лучше всего приобретением материнской платы со встроенной в чипсет видеокартой, и к ней цеплять монитор, запускать X-ы.

Необходимо учитывать амортизацию оборудования и рост сложности вычисления хешей. Решение простое, когда видеокарте исполняется 8-9 месяцев, выставляем ее на продажу, за 60-70% стоимости, взамен ее приобретаем новую современную. Тут скупиться не надо, потерять можно больше в виде падения количества заработанных BTC или уничтоженной видеокарты.

Выводы о использовании такого способа заработка оставляю за аудиторией, прошу битвы не начинать. Думаю, что каждый сам для себя решит вопрос о необходимости участия в такой «пирамиде» по зарабатыванию денег.
Тем, кто дочитал до этой строки: «Спасибо за внимание! ».

Автор: Bessome

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js