Construcción de una plataforma de cultivo de chía de 200 TB Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.

Construcción de una plataforma agrícola de chía de 200 TB

Una revisión completa desde la selección de componentes hasta la configuración del software para un sistema de cultivo (minería) de criptomonedas de Chia.

Construcción de una plataforma de cultivo de chía de 200 TB Inteligencia de datos PlatoBlockchain. Búsqueda vertical. Ai.

Chia es una nueva criptomoneda que tiene como objetivo lograr un consenso descentralizado con un menor consumo de energía por transacción que sus pares. Esto se logra mediante un algoritmo de prueba de espacio en lugar de prueba de trabajo.

Si bien la prueba de trabajo se basa en calcular continuamente un problema matemático (generalmente hashes como SHA256) en un intento de encontrar resultados que coincidan con un patrón deseado, Chia, en cambio, se basa en verificar la existencia de ciertas propiedades en archivos únicos pregenerados llamados gráficos.

Esto se hace en un proceso de dos pasos llamado de la agricultura que consiste en:

  1. Trazado donde se crean archivos grandes y únicos (generalmente 101.6 GB).

Cuantas más parcelas (mayor almacenamiento utilizado) tenga un nodo, mayor será la probabilidad de ganar la recompensa de ese bloque. Hay 4608 posibilidades de ganar diariamente y la probabilidad de ganar la recompensa de ese bloque se basa principalmente en la cantidad de parcelas que uno posee en proporción al tamaño total de la red. Se proporciona una calculadora de ganancias esta página.

Por lo tanto, Para maximizar las recompensas, queremos tener la mayor cantidad de almacenamiento posible. y suficientes recursos informáticos para llenar dicho almacenamiento con parcelas.

Como ocurre con la mayoría de los problemas de diseño, existen infinidad de soluciones válidas para la combinación de dispositivos que se pueden utilizar para cultivar chía. Para ayudar a reducir las opciones, comencé decidiendo algunas limitaciones y prioridades:

  1. El costo en $ / TB debe minimizarse a pesar de la complejidad adicional (dentro de lo razonable).

Trazado - Procesamiento

Según la configuración del hardware, la creación de un solo gráfico puede tardar entre 4 y 20 horas. Por lo tanto, elegir el hardware de trazado adecuado puede marcar la diferencia entre llenar toda su granja en días o meses.

Es importante considerar no solo la velocidad a la que se realiza cada gráfico, sino también el número de gráficos simultáneos que se pueden crear. Por ejemplo, una configuración que crea 10 parcelas concurrentes a las 12 horas cada una producirá 20 parcelas (~ 2 TB / día) mientras que una configuración que traza 1 parcela concurrente cada 4 horas solo producirá 6 parcelas por día (0.6 TB / día).

Para minimizar el costo, decidí buscar servidores fuera de servicio. Estos servidores tienen algunas propiedades interesantes que podrían convertirlos en trazadores poderosos, que incluyen:

  1. Un gran número de núcleos puede permitir varias gráficas en paralelo. La fase 1 (aproximadamente la mitad del tiempo de trazado) es multiproceso (generalmente configurada para estar entre 2 y 4 subprocesos), pero las fases restantes son de un solo subproceso.

Después de repasar docenas de opciones y posibles configuraciones, me conformé con una HP ProLiant DL380p Gen8 con 2x Intel E5–2670 y 192 GB de RAM DDR3. Con Hyper-Threading habilitado, este servidor podría, hipotéticamente, admitir el trazado simultáneo de hasta 16 parcelas en la fase 1 por menos de $ 400.

Trazado - Almacenamiento temporal

Debido a la alta carga de escritura durante la creación del gráfico (alrededor de 1.6 TB escritos para un gráfico k = 32), la elección del medio de almacenamiento temporal puede tener un impacto significativo en el tiempo y el costo del trazado. Algunos puntos a considerar:

  1. Cuanto más rápido sea el almacenamiento, más rápido se pueden crear los gráficos. Este hilo analiza los tiempos de trazado de 4 horas utilizando RAMDISK (montar una carpeta en la RAM).

Terminé optando por comprar un HP StorageWorks D12 de 2600 bahías con 15 unidades SAS de 450GB. Con esta configuración, puedo trazar simultáneamente en cada unidad sin arriesgarme a la contención de E / S en el nivel de la unidad. Las unidades JBOD + eran significativamente más baratas que una configuración equivalente con unidades NVMe (sin siquiera tener en cuenta el costo de reemplazo una vez alcanzado el TBW).

Granja - Almacenamiento a largo plazo

A diferencia del almacenamiento de trazado, el almacenamiento de recolección no requiere un alto rendimiento ni IOP. Por esta razón, minimizar los costos fue la máxima prioridad.

Hay varias configuraciones posibles, algunas de las cuales se comentan esta página. Sin embargo, después de buscar en eBay opciones de segunda mano, algunas cosas quedaron claras:

  1. Los discos duros más grandes de 3.5 ″ tienden a tener el costo más bajo. Esto tiene sentido, ya que la mayoría de los dispositivos de hoy en día se han movido a los tamaños más pequeños de 2.5 ″ o 1.8 ″.

Una vez que me acerqué al uso de discos duros SAS de 3.5 ″, necesitaba encontrar una manera de conectarlos a mi cosechadora / trazador. Cumpliendo con la restricción de no construir el gabinete / backplane, comencé a buscar gabinetes usados ​​que pudieran albergar estas unidades mientras mantenía el costo más bajo por bahía.

Encontré varias opciones en eBay y terminé comprando algunos modelos diferentes, incluido un HP 24PAR de 3 bahías y dos IBM DS12 de 3512 bahías.

Lista llena

La lista final de componentes se muestra a continuación. Incluye los componentes principales discutidos anteriormente, pero también partes auxiliares que se requieren para armar el sistema.

Una mención digna es la tarjeta HBA. Es la tarjeta PCIe la que expone los conectores externos SAS a los que se conectarán los cables de los JBOD. Al comprarlo, asegúrese de obtener una tarjeta de modo de objetivo de iniciador (IT) para que las unidades aparezcan directamente en el sistema operativo en lugar de una tarjeta de modo IR. Es bueno tenerlo, es posible que desee obtener una tarjeta con un sistema operativo más nuevo (versión 20).

La configuración es principalmente intuitiva. Los cables se conectan a los orificios en los que encajan. Sin embargo, el cableado SAS que conecta los JBOD y la máquina de trazado / recolección se puede conectar en cadena.

En mi caso, tengo dos cables que salen del servidor (uno en cada puerto del HBA). Uno de los cables se conecta a la entrada de la matriz de almacenamiento temporal (HP D2600) y la salida de esa matriz se conecta a la matriz HP 3PAR. El otro cable se conecta a la primera matriz de IBM y su salida se conecta a la segunda matriz de IBM. Los JBOD generalmente tienen un puerto de entrada (primario) y un puerto de salida (generalmente etiquetado con una flecha hacia afuera).

He instalado Ubuntu LTS 20.04 en el servidor, ya que es una distribución de Linux ampliamente utilizada, lo que significa que sería más fácil encontrar foros de resolución de problemas si surgiera algún problema. Los pasos siguientes describen la configuración restante.

Paso 1: asegúrese de que todas las unidades estén disponibles

El primer paso es verificar qué unidades están siendo detectadas por el sistema operativo. Esto se puede lograr ejecutando el lsscsi mando. El resultado del cual se muestra a continuación.

Tenga en cuenta que el comando anterior no proporciona información sobre el sistema de archivos o el tamaño de las unidades. Para eso, ejecute el lsblk mando.

Importante: Tenga en cuenta que no todas las unidades aparecen bajo ambos comandos. Las unidades que aparecen debajo lsscsi pero no lsblk puede tener alguna incompatibilidad que hace que el sistema operativo no los haga disponibles para el montaje, etc. Un ejemplo de esto es /dev/sdaw.

En mi caso, este problema se debió a que el tamaño del sector es 520, que no es compatible con mi kernel de Linux instalado (se puede encontrar una discusión sobre este tema esta página y esta página). Puede determinar si este es su caso revisando los dmesg registro del comando para un mensaje de error como [sdaw] Unsupported sector size 520.

Para resolver esto, reformateé las unidades usando un tamaño de bloque de 512 con el comando sg_format -v --format --size=512 /dev/sdX. Este comando puede tardar una cantidad significativa de tiempo en ejecutarse (varias horas) y el resultado se muestra a continuación.

Una vez completada, la unidad debería aparecer en la lsblk salida.

Paso 2: crear un sistema de archivos en las unidades

Para formatear las unidades con el ext4 sistema de archivos, ejecuté el siguiente comando: sudo mkfs -t ext4 — verbose /dev/sda.

Paso 3: Monte las unidades

Ahora que podemos acceder a las unidades y que se han formateado con el sistema de archivos deseado, podemos montar estos impulsos.

  1. Cree las carpetas donde montaremos las unidades. Por ejemplo: /mnt/farm/00 a /mnt/farm/23 para las unidades que almacenarán los trazados finales, y /mnt/plot-tmp/00 a /mnt/plot-tmp/11 para las ubicaciones temporales de trazado.

Paso 4: Ejecute el software Chia Blockchain

  1. Siga las instrucciones oficiales especificadas esta página para instalar la cadena de bloques de Chia (no instalé la GUI).

Paso 5: Configurar Plotman (opcional)

Ploteo es un administrador de trazado que se hará cargo de la creación de nuevos trabajos de trazado. Es una herramienta de conveniencia (no requerida).

  1. Instale Plotman siguiendo las instrucciones esta página.
interfaz de usuario:
use_stty_size: Verdadero
directorios:
log: / inicio / plotter / plotman-logs
mp:
- / mnt / plot-tmp / f00
- / mnt / plot-tmp / f01
- / mnt / plot-tmp / f02
- / mnt / plot-tmp / f03
- / mnt / plot-tmp / f04
- / mnt / plot-tmp / f05
- / mnt / plot-tmp / f06
- / mnt / plot-tmp / f07
- / mnt / plot-tmp / f08
- / mnt / plot-tmp / f09
- / mnt / plot-tmp / f10
- / mnt / plot-tmp / f11
horario de verano:
# - / mnt / farm / 00 COMPLETO
# - / mnt / farm / 01 COMPLETO
# - / mnt / farm / 02 COMPLETO
# - / mnt / farm / 03 COMPLETO
# - / mnt / farm / 04 COMPLETO
# - / mnt / farm / 05 COMPLETO
# - / mnt / farm / 06 COMPLETO
# - / mnt / farm / 07 COMPLETO
# - / mnt / farm / 08 COMPLETO
# - / mnt / farm / 09 COMPLETO
# - / mnt / farm / 10 COMPLETO
# - / mnt / farm / 11 COMPLETO
- / mnt / farm / 12
- / mnt / farm / 13
- / mnt / farm / 14
- / mnt / farm / 15
- / mnt / farm / 16
- / mnt / farm / 17
- / mnt / farm / 18
- / mnt / farm / 19
- / mnt / farm / 20
- / mnt / farm / 21
- / mnt / farm / 22
- / mnt / farm / 23
Planificación:
tmpdir_stagger_phase_major: 2
tmpdir_stagger_phase_minor: 1
tmpdir_stagger_phase_limit: 1
tmpdir_max_jobs: 1
trabajos_máx_global: 20
global_stagger_m: 40
sondeo_tiempo_s: 30
Graficado:
k: 32
e: Falso # Use la opción de trazado -e
n_threads: 2 # hilos por trabajo
n_buckets: 128 # Número de depósitos en los que dividir los datos
job_buffer: 8096 # Por memoria de trabajo

Algunos puntos dignos de mención:

  1. Plotman no detiene la programación de unidades agrícolas (en el momento de escribir este artículo) cuando la unidad está llena. Por lo tanto, debe eliminarlos (o comentarlos como se indicó anteriormente).

Paso 6: Ejecute el trazador

En este punto, todo lo que se necesita para comenzar a trazar es ejecutar plotman interactive.

Nota: El trabajo de larga duración que se traza en /dev/farm/usb2 es una ejecución de depuración que no está destinada a ejecutarse hasta su finalización.

¡Espero que esta lata haya sido útil para darte una idea de lo que se requiere para cultivar Chia!

A partir de ahora, mi granja está llena a 1/3 de su capacidad y planeo publicar actualizaciones a medida que se llene y cuando empiece a volver a trazar para las piscinas.

Un agradecimiento especial a Katie Gandomi para obtener ayuda con el desarrollo.

¡Feliz agricultura!

Source: https://levelup.gitconnected.com/building-a-200tb-chia-farming-rig-c9478ed7b92f?source=rss——-8—————–cryptocurrency

Sello de tiempo:

Mas de Mediana