Улучшения эффективности синхронизации и майнинга, реализация Cuckoo Cycle Tweaks

Сегодня мы расскажем вам о том, что мы завершили 0.26.0 Release и проанализировали следующие пробелы, которые могут негативно повлиять на производительность узлов æternity:

  • Мы заметили, что с одновременной синхронизацией нескольких микроблоков, база данных не может справиться. Доступ к диску очень медленный. При работе с persist: false, база данных в 5-10 раз быстрее. Когда мы выключаем майнинг, она становится быстрее. Чтобы решить эту проблему, мы разрешили использование узлов в майнинге только в том случае, когда они синхронизируются с остальной частью сети. Чтобы быть более конкретным: мы имеем N одноранговых узлов, настроенных на синхронизацию. Если мы сильно отстаем от этих узлов, то майнинг становится неосуществимым. Важно отметить, что мы не можем просто «не майнить», если узел утверждает, что он намного опережает нас. Нам нужно выровнять его с доверенными узлами, с которыми мы имеем контакт (недоступные узлы не представляют для нас никакого интереса). Это можно смягчить помощью консультирования единомышленников, с которыми мы имеем дело; если у них медиана, выровненная с нашей, мы можем начать майнинг. Если медиана на 5 ниже нашей, мы должны немедленно прекратить его.
  • Синхронизация и майнинг параллельно могут значительно снизить производительность узла. Это связано с тем, что майнинг поддерживает ядра процессора, оставляя ограниченные ресурсы, которые узел может синхронизировать. Решение довольно простое: держите один процессор вне майнинга. В настоящее время у нас есть флаг -t N для установки угроз, которые мы используем для майнинга. Мы гарантируем, что, независимо от того, что показывает этот флаг, мы никогда не используем N больше, чем количество ядер - 1. Это означает, что у нас есть один свободный процессор для других видов деятельности, кроме майнинга.

Мы также выполнили несколько обновлений для нашего основного ядра - реализацию цикла Cuckoo Cycle:

  • Мы внедрили реализацию майнинга Cuckoo в настоящее время с реализацией, предоставленной Джоном Тромпом, изобретателем Cuckoo Cycle.
  • Мы внедрили небольшую настройку в реализацию Cuckoo, чтобы сделать ее более сложной для создания ASIC для блокчейна.
  • Кроме того, мы исправили ряд ошибок и ввели несколько второстепенных функций. Подробную информацию смотрите в разделе Pivotal Tracker.

Наконец, разработчики объединились с известными специалистами в области криптографии, теории игр, языков программирования и методов безопасности системы, присоединившись к Initiative For Cryptocurrencies & Contracts (IC3). Узнайте больше об этой новости здесь.

aeternityмайнингсинхронизация
25%
31
9
0.216 GOLOS
0
В избранное
aeternity
аeternity - блокчейн-платформа, которая генерирует масштабируемые умные контракты, работающие с данными реального мира.
9
0

Зарегистрируйтесь, чтобы проголосовать за пост или написать комментарий

Авторы получают вознаграждение, когда пользователи голосуют за их посты. Голосующие читатели также получают вознаграждение за свои голоса.

Зарегистрироваться
Комментарии (1)
Сортировать по:
Сначала старые