Intercambio de memoria/rendimiento de Scrypt (Litecoin)

Para Litecoin, si se aumenta el tamaño de la memoria al procesar el algoritmo Scrypt, por ejemplo a 384 kB en lugar de 128 kB (y suponiendo igualmente un tamaño de caché L2 de 384 kB), sería probable que la arquitectura de CPU típica (x86, PPC, etc.) para ver un aumento correspondiente en el rendimiento? Y si se usara un mayor tamaño de memoria, la salida de minería seguiría siendo 100 % compatible con Litecoin (creo que la respuesta es sí, pero también observo que casi todos los mineros de GPU usan parámetros fijos de Scrypt para N, r y p).

Me doy cuenta de que el aumento del tamaño de la memoria de BlockMix no suele hacerse en las arquitecturas de GPU, por varias razones. También como nota, mi objetivo no es la minería rentable de CPU Litecoin x86; solo quiero estar seguro de que entiendo la compensación de memoria/rendimiento.

Respuestas (3)

Para Litecoin, si el tamaño de la memoria aumenta al procesar el algoritmo Scrypt, por ejemplo, a 384 kB en lugar de 128 kB (...), ¿es probable que la arquitectura de CPU típica (...) experimente un aumento correspondiente en el rendimiento?

No, funciona al revés. Si aumenta la memoria, que utiliza scrypt para generar un solo hash, el tiempo que lleva generarlo, en teoría, aumentará. Es posible que el tiempo no aumente si la unidad de procesamiento puede usar completamente su efectivo más rápido en una sola llamada de transferencia de datos. Sin embargo, necesita hardware estandarizado y le gustaría ajustar deliberadamente el tamaño de la memoria de scrypt. Lo cual es un inconveniente a escala de usuarios globales.

Además, no depende de usted, personalmente, decidir el tamaño de la memoria de scrypt. Este es un acuerdo universal de todos los usuarios de litecoin, que el tamaño de la memoria del algoritmo scrypt debe ser de N bytes. Si desea usar otra cosa, cualquier transacción que emita nunca será validada por ningún otro usuario.

No. aumentar el tamaño del bloque a 384 KB no ayuda al algoritmo de cifrado. Litecoin con parámetros scrypt N = 1024, R = P = 1, que solo requiere 128 KB de espacio de memoria para un solo cálculo. Y ya están completamente alineados, no en una matriz dispersa. Modelar datos pequeños en un espacio de memoria más grande significa una localidad deficiente.

La clave para acelerar scrypt es el paralelismo, porque el proceso de minería es encontrar un nonce válido entre el espacio de solución muy grande. Entonces, si la memoria es el cuello de botella, la CPU debe esperar a que se completen las operaciones de lectura/escritura de la memoria antes de continuar con el cálculo hash actual, pero de hecho, la ALU de la CPU (o las unidades de cómputo) puede continuar y ejecutar otras instrucciones de otros subprocesos de cálculo hash. que no requieren acceso a la memoria o cuyos datos están listos ahora. Esa es la clave para introducir SIMD. Por lo tanto, el rendimiento de CPU AVX es mejor que SSE/MMX, y el AVX-2 más nuevo puede lograr un mejor rendimiento.

En la GPU, hay muchas unidades de cómputo, no le gusta que la CPU solo tenga 2/4/8/... núcleos. La GPU tiene muchos procesadores de transmisión y hardware de programación. Cuando un cálculo está esperando la finalización del acceso a GDDR VRAM, puede programar el hardware ALU para realizar otros cálculos.

De hecho, la minería de GPU actual tiene la mejor configuración de tamaño de bloque de memoria por hash de scrypt, la brecha de búsqueda es 2. Significa solo 64 KB por operación de scrypt. Porque en CPU o GPU, el acceso a la memoria global es muy expansivo y scrypt no tiene un patrón de acceso a la memoria completamente lineal. (accede a datos vectorizados entre índice 1 a 1024 aleatoriamente). Por lo tanto, un menor acceso a la memoria también puede acelerar el tiempo total de cálculo, pero la sobrecarga es que la GPU necesita calcular datos que no se guardaron en la memoria antes. Por ejemplo, GPU calcula datos vectorizados de 1 a 1024, pero solo guarda 1,3,5,7,... Entonces, cuando el algoritmo scrypt necesita datos de índice = 4, GPU necesita recuperar datos de índice = 3 y volver a calcular para obtener los datos para index=4. Pero el cálculo de índice = 4 en memoria privada (GPR, registros de propósito general, GPU tiene muchos de ellos) es muy rápido. Pero el rendimiento no siempre mejora al aumentar la brecha de búsqueda. Aunque el acceso a la memoria se reduce significativamente, la GPU necesita hacer un trabajo redundante para volver a calcular los datos con frecuencia. Por ejemplo, cuando la brecha de búsqueda = 3, la GPU solo guarda 1, 4, 7,... Pero cuando scrypt necesita datos de índice = 6, necesita recuperar datos de índice = 4 y hacer el cálculo dos veces.

Creo que la mayoría de la gente debería probar la minería y luego pensar realmente por qué está minando. ¿Curioso? ¿Divertida? ¿Dinero? ¿Crees en la criptomoneda?

Personalmente creo que las criptomonedas llegaron para quedarse. Litecoin ocupa el segundo lugar detrás de Bitcoin, pero extraerlo puede ser muy rentable si el precio de lo que extrajo se dispara como Bitcoin. Este material es como el oro. Ningún gobierno puede devaluarlo imprimiendo más papel moneda y diluyendo su valor. Esto se ajusta a la descripción misma de una buena moneda.

¿Qué pasa si litecoin pasa de menos de 30 por moneda a 800 por moneda? No le importan los $ 6 /día en electricidad que había gastado anteriormente, ¿verdad?