Программно-аппаратная масштабируемая система контроля добычи криптовалюты | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №41 (175) октябрь 2017 г.

Дата публикации: 15.10.2017

Статья просмотрена: 221 раз

Библиографическое описание:

Бушев, Ю. В. Программно-аппаратная масштабируемая система контроля добычи криптовалюты / Ю. В. Бушев. — Текст : непосредственный // Молодой ученый. — 2017. — № 41 (175). — С. 7-10. — URL: https://moluch.ru/archive/175/45943/ (дата обращения: 16.11.2024).



В статье описывается подход к организации контроля работы большого количества ферм по добычи криптовалюты. Рассмотрен процесс анализа данных и принятия решений о текущей работоспособности системы. Показан пример взаимодействия между компонентами и управляющим контроллером.

Добыча криптовалюты (майнинг) — деятельность по поддержанию распределенной платформы и созданию новых блоков с возможностью получить вознаграждение в форме новых единиц и комиссионных сборов в различных криптовалютах.

В 2017 году большую популярность получил способ добычи криптовалюты с использованием GPU (видеокарты). Графическая карта компьютера прекрасно подошла из-за специфики алгоритмов криптовалют (за один такт выполняется больше инструкций чем в CPU). Сама майнинг-ферма представляет из себя ничто иное, как обычный компьютер, единственное отличие — комплектация несколькими видеокартами вместо одной.

Проблема, которая решается в данной статье — нестабильность работы майнинг ферм. Связано это с большой нагрузкой на аппаратную часть компьютера и, как следствие, с аппаратными ошибками, зависаниями и сбоями.

Рис. 1. Схема подключения нескольких майнинг ферм к контроллеру

Внедрение контроллера, специально разработанного программного сервера, работающего на миниатюрном одноплатном компьютере размером с банковскую карту, позволяет производить сбор и анализ данных о работе подключенных к нему ферм. Подключение производится по сети Ethernet. Дополнительно, Ground и Power контакты материнских плат всех ферм подключены к GPIO (general-purpose input/output) и Ground портам на Raspberry Pi.

Рассмотрим процесс инициализации и старта майнинга криптовалюты на примере Ether (обменные единицы в сети Ethereum, платформы для создания децентрализованных онлайн-сервисов на базе блокчейна). Непосредственный запуск ферм осуществляется через контроллер, а именно через WEB интерфейс контроллера. WEB интерфейс представляет из себя обычный WEB сервис, запущенный на Raspberry Pi и доступный внутри сети по протоколу HTTP.

Сразу послу запуска, ферма отправляет запрос на сервер контроллера. Основной смысл данного запроса — получить от контроллера настройки, предназначенные непосредственно для этой фермы.

Рис. 2. Ответ контроллера на запрос инициализации в формате JSON

На Рис. 2. Представлен пример ответа, полученного от контроллера в момент инициализации. Основным параметром здесь является Etherium адрес, необходимый для запуска процесса майнинга.

Одновременно с инициализацией, на стороне контроллера запускает таймер, необходимый для мониторинга активности фермы. Каждый раз, когда ферма присылает отчет о текущей работе, таймер перезапускается. Однако, если долгое время контроллер не получает отчет от какой-либо фермы, по истечению этого таймера выполняется процесс перезапуска рига.

Рис. 3. Отчет о работе майнинг фермы в формате JSON

Запущенная ферма, каждые 15 секунд сообщает контроллеру следующую информацию (Рис. 3):

totalSpeed — Общий хэшрейт фермы.

gpu.name — Имя видеокарты, включая её порядковый номер.

gpu.speed — Хэшрейт видеокарты.

gpu.temperature — Температура графического ядра в градусах Цельсия.

gpu.fanSpeed — Скорость вращения вентиляторов видеокарты в процентах от максимальной скорости.

По полученным данным, контроллер может диагностировать правильность работы всех подключенных ферм. В случае если температура какой-либо из видеокарт приближается к заранее сконфигурированному пороговому значению, контроллер дает ферме команду увеличить скорость вращения вентиляторов для этой видеокарты. Аналогично температуре, происходит мониторинг хешрейта ферм, это важный параметр, именно он показывает эффективность добычи криптовалюты. Весь риг может быть перезагружен если общих хэшрейт падает ниже определенного значения.

Рис. 4. WEB интерфейс контроллера

Для удобного наблюдения и настроек всей системы был разработан графический WEB интерфейс, показанный на Рис. 4. Он предоставляет возможность удаленного управления всей системой, а именно:

  1. Добавлять / Модифицировать настройки / Удалять фермы, подключенные к контроллеру.
  2. Выполнять Выключение / Включение / Перезагрузку ферм.
  3. Отслеживать состояние всех ферм на одном экране в режиме реального времени.

На Рис. 5 показан процесс конфигурирования фермы, настраиваемыми параметрами являются:

– Name — Имя фермы для отображения в контрольной панели.

– IP Address — Адрес фермы в локальной сети. Именно он используется для идентификации в момент инициализации.

– Power PIN — Номер GPIO контакта на Raspberry Pi, используемый для управлением питанием.

– Status — Текущее состояние фермы. “Запущена” или “Остановлена”.

– ETH Address — Etherium адрес, используемый для процесса майнинга.

– Min rate — Минимальный хэшрейт фермы ниже которого она будет принудительно перезагружена.

– Fan speed (%) — Скорость вращения вентиляторов на видеокартах фермы.

Рис. 5. Процесс настройки одной фермы через контроллер

Рассмотренные в статье подход позволяет свести к минимуму и сильно упростить процесс поддержания работы большого количества майнинг ферм. Как следствие, увеличивается время нормальной работы и сокращается время простоя и ошибок, что непосредственно влияет на качество добычи криптовалюты.

Исходный код проекта доступен публично на GitHub:

– Mining Controller on NodeJS — https://github.com/bushev/mining-controller

– Mining Rig Runner on NodeJS — https://github.com/bushev/mining-rig-runner

Литература:

  1. Майнинг. // Википедия. URL: https://ru.wikipedia.org/wiki/Майнинг (дата обращения: 11.10.2017).
  2. Overclocking RX cards on Linux // Reddit. URL: https://www.reddit.com/r/MoneroMining/comments/5wdduz/overclocking_rx_cards_on_linux/ (дата обращения: 11.10.2017)
Основные термины (генерируются автоматически): WEB, ферма, GPIO, JSON, контроллер, CPU, ETH, GPU, HTTP, PIN.


Похожие статьи

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Архитектура универсальных средств автоматизации научных установок

Рассматривается проблема компьютеризации и автоматизации нестандартного научного оборудования с точки зрения затрат времени и средств на разработку техни-ческих и программных решений. Предложена архитектура универсальной гибкой измери-тельной системы...

Сравнение Java-фреймворков для разработки системы управления событиями для крупных организаций

Одна из основных внутренних проблем любой компании — организация деятельности. Решением может стать информационная система управления событиями, которая оптимизирует и автоматизирует процесс организации деятельности внутри крупной компании. В данной ...

Анализ комплексных программных решений, реализующих планирование ресурсов предприятия

В статье рассматривается современное состояние рынка информационных систем планирования ресурсов предприятия. Приводится обзор наиболее распространенных программных решений в области автоматизации управления предприятием с выявлением общих характерны...

Использование автоматизированных систем для информационного обеспечения управления высшего учебного заведения

В статье раскрыто понятие современной информационной системы управления учебным процессом. Для ознакомления с принципами работы программы описан ряд функций автоматизированных систем. Как пример рассмотрена процедура расчета штатных единиц кафедры и ...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Разработка компьютерной модели управления монитором

В статье дается описание разработки компьютерной модели на основе теории автоматов, этапов решения поставленной задачи и пути ее реализации в программной среде Borland Delphi. В компьютерной программной модели применяется switch-технология.

Моделирование технических систем в среде Unity 3D

В статье предложена концепция трёхмерного моделирования технических систем и процессов с помощью программных средств разработки компьютерных игр, одним из которых является среда Unity 3D. Применение указной концепции открывает широкие возможности по ...

Автоматизированная система коммерческого учета электроэнергии (АСКУЭ)

Рассматриваются причины и краткая история появления АСКУЭ в России. Поэтапно описано внедрение системы в электроэнергетическую сферу города Рязани, указываются названия и марки используемого оборудования. Так же описывается схема обмена информацией в...

Модульные принципы моделирования работы бортовой радиотелеметрической системы в задачах автоматизированного анализа состояний

В статье описываются особенности постановки задачи автоматизированного анализа состояния бортовой радиотелеметрической системы космического аппарата. Рассматриваются принципы её решения, основывающиеся на реализации сетевых моделей типа «нейросетей» ...

Похожие статьи

Разработка и отладка программного обеспечения для подавления артефактов в электрокардиограмме

В данной статье описана спроектированная программа, представляющая виртуальную программу для подавления артефактов в электрокардиограмме, написанная в среде Mathcad. Так же был построен график спектральной области, по которому можно найти оптимальное...

Архитектура универсальных средств автоматизации научных установок

Рассматривается проблема компьютеризации и автоматизации нестандартного научного оборудования с точки зрения затрат времени и средств на разработку техни-ческих и программных решений. Предложена архитектура универсальной гибкой измери-тельной системы...

Сравнение Java-фреймворков для разработки системы управления событиями для крупных организаций

Одна из основных внутренних проблем любой компании — организация деятельности. Решением может стать информационная система управления событиями, которая оптимизирует и автоматизирует процесс организации деятельности внутри крупной компании. В данной ...

Анализ комплексных программных решений, реализующих планирование ресурсов предприятия

В статье рассматривается современное состояние рынка информационных систем планирования ресурсов предприятия. Приводится обзор наиболее распространенных программных решений в области автоматизации управления предприятием с выявлением общих характерны...

Использование автоматизированных систем для информационного обеспечения управления высшего учебного заведения

В статье раскрыто понятие современной информационной системы управления учебным процессом. Для ознакомления с принципами работы программы описан ряд функций автоматизированных систем. Как пример рассмотрена процедура расчета штатных единиц кафедры и ...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Разработка компьютерной модели управления монитором

В статье дается описание разработки компьютерной модели на основе теории автоматов, этапов решения поставленной задачи и пути ее реализации в программной среде Borland Delphi. В компьютерной программной модели применяется switch-технология.

Моделирование технических систем в среде Unity 3D

В статье предложена концепция трёхмерного моделирования технических систем и процессов с помощью программных средств разработки компьютерных игр, одним из которых является среда Unity 3D. Применение указной концепции открывает широкие возможности по ...

Автоматизированная система коммерческого учета электроэнергии (АСКУЭ)

Рассматриваются причины и краткая история появления АСКУЭ в России. Поэтапно описано внедрение системы в электроэнергетическую сферу города Рязани, указываются названия и марки используемого оборудования. Так же описывается схема обмена информацией в...

Модульные принципы моделирования работы бортовой радиотелеметрической системы в задачах автоматизированного анализа состояний

В статье описываются особенности постановки задачи автоматизированного анализа состояния бортовой радиотелеметрической системы космического аппарата. Рассматриваются принципы её решения, основывающиеся на реализации сетевых моделей типа «нейросетей» ...

Задать вопрос