Scrypt (Litecoin) память/компромисс производительности

Для Litecoin, если размер памяти увеличивается при обработке алгоритма Scrypt, например, до 384 КБ вместо 128 КБ (и при условии, что размер кэша L2 равен 384 КБ), вероятнее всего будет типичная архитектура ЦП (x86, PPC и т. д.). чтобы увидеть соответствующее увеличение производительности? И если бы использовался увеличенный объем памяти, оставался бы выход майнинга на 100% совместимым с Litecoin (я считаю, что ответ положительный, но я также отмечаю, что почти все майнеры на GPU используют фиксированные параметры Scrypt для N, r и p).

Я понимаю, что увеличение размера памяти BlockMix обычно не выполняется на архитектурах GPU по разным причинам. Также хочу отметить, что моей целью является невыгодный майнинг процессоров Litecoin x86 — я просто хочу быть уверенным, что понимаю компромисс между памятью и производительностью.

Ответы (3)

Для Litecoin, если объем памяти увеличивается при обработке алгоритма Scrypt, например, до 384 КБ вместо 128 КБ (...), будет ли типичная архитектура ЦП (...) иметь соответствующее увеличение производительности?

Нет, работает наоборот. Если увеличить память, которая используется скриптом для генерации одного хэша, то время, необходимое для его генерации, по идее, увеличится. Время может не увеличиться, если процессор может полностью использовать свои самые быстрые наличные деньги в одном вызове передачи данных. Однако вам нужно стандартизированное оборудование, и вы хотели бы намеренно настроить для него размер памяти scrypt. Что неудобно в глобальном масштабе пользователей.

Более того, не вам лично решать размер памяти scrypt. Это универсальное соглашение всех пользователей litecoin, что размер памяти алгоритма scrypt должен составлять N байт. Если вы хотите использовать что-то другое, любая ваша транзакция никогда не будет подтверждена другими пользователями.

Нет. Увеличение размера блока до 384 КБ не помогает алгоритму scrypt. Litecoin с параметрами scrypt N=1024, R=P=1, который требует всего 128 КБ памяти для одного вычисления. И они уже полностью выровнены, а не разрежены. Моделирование небольших данных в большем пространстве памяти означает плохую локальность.

Ключом к ускорению скрипта является параллелизм, потому что процесс майнинга состоит в том, чтобы найти действительный одноразовый номер среди очень большого пространства решений. Таким образом, если память является узким местом, ЦП должен дождаться завершения операций чтения/записи памяти, прежде чем продолжить текущие вычисления хеширования, но на самом деле АЛУ ЦП (или вычислительные блоки) могут продолжать работать и выполнять другие инструкции других потоков вычислений хеширования. которые не требуют доступа к памяти или чьи данные уже готовы. Это ключ к внедрению SIMD. Таким образом, производительность ЦП AVX лучше, чем SSE/MMX, а более новый AVX-2 может обеспечить более высокую производительность.

В графическом процессоре много вычислительных блоков, он не похож на процессор, у него только 2/4/8/... ядер. GPU имеет множество потоковых процессоров и оборудования для планирования. Когда вычисление ожидает завершения доступа к видеопамяти GDDR, оно может запланировать аппаратное обеспечение ALU для выполнения других вычислений.

На самом деле текущий майнинг на GPU имеет наилучшую конфигурацию размера блока памяти на одно хеширование scrypt, lookup-gap равен 2. Это означает всего 64 КБ на одну операцию scrypt. Потому что в CPU или GPU доступ к глобальной памяти очень обширен, а scrypt не имеет полностью линейного шаблона доступа к памяти. (он получает доступ к векторизованным данным между индексами от 1 до 1024 случайным образом). Таким образом, меньший доступ к памяти также может ускорить общее время вычислений, но накладные расходы заключаются в том, что графическому процессору необходимо вычислять данные, которые раньше не сохранялись в памяти. Например, GPU вычисляет векторизованные данные от 1 до 1024, но сохраняет только 1,3,5,7,... Поэтому, когда алгоритму scrypt нужны данные с индексом = 4, GPU должен получить данные с индексом = 3 и повторно вычислить чтобы получить данные для index=4. Но вычисление для индекса = 4 в частной памяти (GPR, регистры общего назначения, у GPU их много) выполняется очень быстро. Но производительность не всегда улучшается за счет увеличения интервала поиска. Хотя доступ к памяти значительно уменьшен, но GPU должен выполнять избыточную работу для частого повторного вычисления данных. Например, когда поисковый интервал = 3, GPU сохраняет только 1,4,7,... Но когда scrypt нужны данные с индексом = 6, ему нужно получить данные с индексом = 4 и выполнить вычисление дважды.

Я считаю, что большинству людей следует попробовать майнинг, а затем действительно подумать о том, почему вы занимаетесь майнингом. Любопытный? Веселье? Деньги? Вы верите в криптовалюту?

Лично я считаю, что криптовалюты никуда не денутся. Litecoin уступает биткойну, но его майнинг может быть очень прибыльным, если цена того, что вы добыли, подскочила, как биткойн. Этот материал как золото. Ни одно правительство не может обесценить его, напечатав больше бумажных денег и разбавив их стоимость. Это соответствует самому описанию хорошей валюты.

Что, если лайткойн подорожает с 30 до 800 за монету? Вас не волнуют 6 долларов в день на электроэнергию, которые вы раньше тратили, не так ли?