En la red de Solana, el mecanismo de canalización – Unidad de procesamiento de transacciones – avanza a través de Obtención de datos a nivel del núcleo, Verificación de firma a nivel de GPU, Bancario a nivel de CPU, y Escritura en el espacio del kernel. Cuando la TPU comienza a enviar bloques a los validadores, ya se ha recuperado en el siguiente conjunto de paquetes, verificado sus firmas y comenzado a acreditar tokens.
El nodo Validator ejecuta simultáneamente dos procesos canalizados, uno usado en modo líder llamado TPU y otro usado en modo validador llamado TVU. En ambos casos, el hardware que se está canalizando es el mismo, la entrada de red, las tarjetas GPU, los núcleos de CPU, las escrituras en el disco y la salida de la red. Lo que hace con ese hardware es diferente. La TPU existe para crear entradas en el libro mayor, mientras que la TVU existe para validarlas.
"Sabíamos que la verificación de firma iba a ser un cuello de botella, pero también que es esta operación sin contexto que podríamos descargar a la GPU", dice Fitzgersald. "Incluso después de descargar esta operación más costosa, todavía hay una serie de cuellos de botella adicionales, como interactuar con los controladores de red y administrar las dependencias de datos dentro de los contratos inteligentes que limitan la concurrencia".
Entre la paralelización de la GPU en esta tubería de cuatro etapas, en cualquier momento dado, la TPU Solana puede estar progresando en 50,000 transacciones simultáneamente. "Todo esto se puede lograr con una computadora lista para usar por menos de $ 5000", explica Fitzgerland. "No una supercomputadora".
Con la descarga de la GPU en la Unidad de Procesamiento de Transacciones de Solana, la red puede afectar la eficiencia de un solo nodo. Lograr esto ha sido el objetivo de Solana desde el inicio.
"El próximo desafío es obtener de alguna manera los bloques del nodo líder a todos los nodos de validación, y hacerlo de una manera que no congestione la red y reduzca el rendimiento", continúa Fitzgerald. "Para eso, hemos ideado una estrategia de propagación en bloque que llamamos Turbina.
“Con Turbine, estructuramos los nodos Validator en múltiples niveles, donde cada nivel es al menos dos veces el tamaño del anterior. Al tener esta estructura, estos niveles distintos, el tiempo de confirmación termina siendo proporcional a la altura del árbol y no al número de nodos en él, que es mucho mayor. Cada vez que la red duplica su tamaño, verá un pequeño aumento en el tiempo de confirmación, pero eso es todo ".
Además de implementaciones tecnológicas como Pipelining, hay varias innovaciones clave que hacen posible la funcionalidad de a escala web de Solana. Para una comprensión más profunda de todos ellos, puede leer sobre ellos en el blog de Solana: