Brian Cantrell Proporcionó un torbellino de ideas el año pasado en la inauguración P99 CONF – Conferencia enfocada en código abierto y diseñadores (y por) ingenieros obsesionados con las transiciones P99.
Esperando ansiosamente el regreso de Cantrell P99 CONF 2022Echemos un vistazo a su charla sobre «Rust, la ley de Wright y el futuro de los sistemas de baja latencia». Predijo que la próxima década vería dos cambios importantes con profundas implicaciones para los sistemas de baja latencia: el surgimiento de los sistemas basados en óxido y la renuncia de la Ley de Moore a la Ley de Wright.
En esta charla, analiza estas dos tendencias, y especialmente su confluencia, explicando por qué cree que el futuro de los sistemas de baja latencia incluirá el software Rust en algunos lugares sorprendentes.
Confía en nosotros: querrás ver esto completo. Aquí hay un adelanto de lo que se trata.
Juzgar el rendimiento de los sistemas.
cynthia dunlop
Cynthia ha estado escribiendo sobre desarrollo y pruebas de software durante mucho más tiempo del que le gustaría admitir. Actualmente es directora sénior de estrategia de contenido en ScyllaDB.
يبدأ الحديث بإلقاء نظرة على التشابك الذي لا ينفصم بين التصميم المشترك للأجهزة / البرامج والأداء: «الأجهزة هي الحكم النهائي لأداء أنظمتنا. الأجهزة هي الشيء الذي يدير أنظمتنا بالفعل. وعلى الرغم من أن الأجهزة ليست بداية ونهاية أداء جميع الأنظمة ، إلا أنها ستحد من أدائنا al final «.
Cantrell creía que tres tipos diferentes de revoluciones impulsaron avances en el rendimiento de los sistemas, con una viabilidad económica inminente:
- Las revoluciones prácticas que impulsaron todos los diseños.
- Revoluciones arquitectónicas optimizadas para casos de uso específicos
- Revoluciones de software que nos permitieron hacer un mejor uso del hardware
En sus palabras: «Estas revoluciones de software realmente se reducen a ‘¿Cómo podemos usar mejor el hardware?'» «No siempre lo formulamos de esa manera. Pero cuando avanzamos en rendimiento con una revolución de software, mejoramos el rendimiento porque usamos mejor el hardware».
Ley de Mor.
Lo que se conoció comoLey de Mor.La observación de que la densidad, la velocidad y la rentabilidad de un transistor se duplica cada dos años o menos es el punto de partida comprensible para las discusiones sobre las revoluciones del proceso. (El video completo deja las cosas claras sobre lo que Gordon Moore realmente dijo).
Los años 80 y principios de los 90 fueron grandes días en este sentido: «Ibas a comprar una computadora nueva, y la computadora que compraste hace solo 18 meses era vieja. De hecho, era tan rápido que tuvimos que reducir la velocidad». las computadoras para jugar juegos que fueron escritos para el hardware antiguo. Puede comprar un juego que fue escrito para PC/AT, y luego no se podrá jugar en 386SX.
Lo siento si mi voz es como ‘Antiques Roadshow« Toma, pero si eres un anticuario, sabes de lo que hablo. En realidad, puede presionar el botón Turbo para que sus aplicaciones se ejecuten más lentamente.
Pero profundice más y descubrirá que los «buenos viejos tiempos» de la Ley de Moore no fueron realmente dorados. DRAM no fue invitado a la fiesta: aunque la memoria era más densa, ni siquiera era más rápida.
A finales de los 80, especialmente en los 90, nos topamos cada vez más con el muro de la memoria, hasta el punto de que el almacenamiento en caché se convirtió en una necesidad en lugar de una ayuda. La Ley de Moore era continua, por así decirlo. tallaje denard (A medida que se minimizan los transistores, su densidad de potencia permanece constante). Sin embargo, cada vez más aplicaciones golpeaban la pared de la memoria. La única solución era una gran revolución arquitectónica.
A mediados de la década de 1990, el multiprocesamiento simétrico parecía estar listo para liderar una revolución arquitectónica de este tipo, colocándonos en el camino hacia la entrega de productividad en cargas de trabajo de subprocesos múltiples. Sin embargo, implicó una revolución de software (escribir código para sistemas de subprocesos múltiples) y realmente no ayudó con la latencia de un solo subproceso.
Los años 90 también trajeron experiencias como pipas profundas y VLIW (palabra de ayuda muy larga)Ninguno de los dos realmente funcionó. La Ley de Moore resultó en más transistores, pero fue más difícil aprovecharlos.
En la última década más o menos, la Ley de Moore se ha ralentizado claramente, al igual que la revolución de procesos más amplia. La escala de Dennard se suspendió en 2006, la velocidad del reloj estaba prácticamente limitada a menos de 5 GHz y las empresas están jugando con diferentes formas de gastar ese silicio con multinúcleos, obteniendo muchos, muchos núcleos. Pero indiscutiblemente, la revolución en este proceso se ha ralentizado, y una empresa tras otra ha estado luchando para reducir el contrato de sus operaciones. (Vea el video de Cantrill que habla de nodos de proceso en nanómetros es «completa ficción»).
El resultado final para Cantrill es la observación de Moore de 1965 de que los procesadores se vuelven más baratos con el tiempo a medida que su densidad y rendimiento aumentan. Estos transistores de 3nm y 5nm cuestan mucho porque se deben construir sistemas de fabricación masivos para conectarlos. Pero Gordon Moore no es la única persona que observa la historia de la tecnología y cuestiona su economía.
Ley de Wright
En 1936, Theodore Wright (sin relación con los hermanos Wright) estaba investigando el costo de un avión a lo largo del tiempo. Descubra que cuanto más produzca algo, menores serán sus costos unitarios. Más concretamente, cuando el volumen se duplica aproximadamente, el coste unitario se reduce entre un 10 y un 15 %. Y no se trata sólo de economías de escala.
Cantrell explicó: «A medida que sacamos más provecho de algo, lo hacemos mejor. Encontramos mejoras en el proceso, un montón de pequeñas cosas iterativas que agregan más. Se suma a esta ley realmente importante: Ley de Wright. En 2013, Jessica Trancic y su equipo en el Instituto Santa Fe Tenga en cuenta que la Ley de Wright es en realidad mejor que la Ley de Moore para explicar lo que sucedió con la economía de un transistor a lo largo del tiempo.
La Ley de Moore está a punto de caducar, pero parece que la Ley de Wright aún se mantiene, especialmente para los nodos de proceso más antiguos. Esto significa que la cantidad que gastamos en cada transistor parece estar disminuyendo, ya que estamos fabricando más y más transistores».
Entonces, ¿cuáles son las implicaciones de que los procesadores se vuelvan más baratos de producir?
- Si la Ley de Wright sigue siendo válida, la informática será económicamente viable en más lugares que antes estaban confinados a la lógica dura; por ejemplo, ya vemos CPU en la NIC y CPU junto al flash y en el eje.
- Esto es cierto incluso en el caso de los dados, donde los chiplets han facilitado más que nunca la construcción de un sistema heterogéneo, y donde los nodos de procesos híbridos requieren más sofisticación.
- Tener más computación en muchos lugares es particularmente relevante para el rendimiento del sistema. Más computación cercana a los datos (SmartNIC, unidades de estado sólido de canal abierto, computación de husillo) reduce la latencia; Llevar los datos a la informática de propósito especial (GPU de propósito general, arreglos de puertas programables en campo) aumenta la productividad.
Ahora es el momento de reconsiderar el punto que dijo Brian al comienzo de su charla: «El hardware es el árbitro final del rendimiento de nuestros sistemas». A medida que los avances de hardware desencadenados por la Ley de Moore renuncian a la Ley de Wright, debemos repensar el software de nuestro sistema. Es hora de repensar el software de nuestro sistema para rehidratar todos los núcleos, incluidos muchos núcleos ocultos (ver Timothy Roscoe USENIX Una palabra clave para alguna visión de rayos X en los núcleos que los investigadores incluso ignoran).
Se requiere revolución de software
Como dijo Cantrell, «Esta próxima revolución, donde tenemos tantos elementos informáticos en tantos lugares diferentes, tiene un propósito privado muy profundo. Nuestra informática de propósito general seguirá siendo ese gran núcleo compuesto que se ejecuta en CPU sin procesar. Eso conducirá para extraer la mayor cantidad de energía que impulsará nuestro rendimiento máximo y se entregará a nuestra DRAM más rápida. Pero también tendremos estos elementos computacionales de propósito especial.
Y debido a que es un propósito especial, sería extraño. En particular, tendrán más cómputo y estarán desequilibrados en cuanto a memoria. Y en términos de almacenamiento, no tendrán mucha memoria. Tendrán muy poco almacenamiento no volátil, especialmente almacenamiento no volátil que puedan escribir dinámicamente. En estos mundos tan estrechos, los entornos dinámicos como Java, Go, Python, etc., etc., se consideran no iniciados. «
C y C++, los lenguajes utilizados tradicionalmente en este campo, definitivamente pueden funcionar aquí. Sin embargo, vienen con la carga de desafíos conocidos en torno a la seguridad y la instalación. Entonces, ¿cuál es el camino a seguir?
óxido incrustado
Ingrese a Rust, con su excelente función para cuentas con propósitos especiales: no_std. Rust no necesita confiar en su biblioteca estándar. De hecho, muchos de los aspectos más valiosos del óxido No en la biblioteca estándar (por ejemplo, tipos de suma, tipos algebraicos, atributos de modelos de propiedades, macros de salud). Puedes aprovechar la gran mayoría del poder de Rust usando cofres no_std.
El cuadro no_std no puede realizar una asignación de montón. Se impone en tiempo de compilación. Es asombroso tener algo en lo que realmente puedo obtener composición en una capa de la pila que no tenía ese tipo de composición. Es increíble poder extraer diferentes cajas no_std y armar un sistema, y los binarios son ajustados», dijo.
Puede colocar estos programas basados en Rust, sin tiempo de ejecución, en todo tipo de lugares interesantes, con todo el poder que necesita para las tareas que desea ejecutar. Además, lo está haciendo de una manera segura y protegida por la memoria.
por ejemplo: Compañía de computadoras de óxido se esta desarrollando (Ahora código abierto) llame al sistema operativo apropiadamente Orgullo. Es un sistema basado en kernel para pasar mensajes, está protegido por memoria y está construido completamente en Rust: microkernel y tareas. El sistema Hubris mínimo es de 30 mil, y el área de sistemas completamente realistas es de 200 mil, y esto es antes de los intentos de optimización enfocados.
Rust, la ley de Wright y el futuro
Cantrell lo resume: “no_std no tiene precedentes. Y Rust es en realidad el primer lenguaje desde C que existe a propósito en las fronteras del hardware y el software. Esto es lo que nos dirige hacia el futuro. La ley de Wright significa que obtendremos cuentas en más lugares, ya lo estamos viendo. Estos elementos computacionales tendrán un propósito especial. No espere a que una CPU de uso general se convierta en una tarjeta de interfaz de red inteligente. Atraerá mucha fuerza. No podemos conseguir un recuerdo tan rápido allí. Pero, ¿qué somos? Pueden Saca el óxido.
«Lo que veremos son muchos sistemas Rust de novo orientados al hardware que, gracias a no_std, podrán construirse unos sobre otros. Es un momento muy emocionante para desarrollar sistemas de alto rendimiento con baja latencia, y la revolución de Rust es bastante aquí».
De nuevo, te gustará Mira el programa completo de Brian Al respecto, incluso si ya has leído esto.
P99 CONF 2022 Gratis y virtual: regístrese ahora para aprender de notables como Cantrell, Liz ArrozY el disciplinas caritativasY el alex hidalgoY el jill adolescente Y el Armin Runacher.
Foto principal A través de Unsplash
More Stories
El código en los datos previos al entrenamiento mejora el rendimiento del LLM en tareas que no son de codificación
Un marco para resolver ecuaciones diferenciales parciales equivalentes puede guiar el procesamiento y la ingeniería de gráficos por computadora
Epiroc ha lanzado una nueva plataforma de perforación de producción de pozos largos