En el año 2000, Rob Pike hizo una presentación sobre la investigación de software del sistema es irrelevante. Ve a leerlo. Esperaré.
Él todavía tiene razón (en su mayor parte). Incluso con algo tan disruptivo como los dispositivos móviles, los principales sistemas operativos son derivados de BSD (Apple), Linux (Android) y Windows.
El único lugar (que yo conozco personalmente) donde los sistemas operativos y la innovación del software del sistema prosperan es en la vanguardia de la informática de alto rendimiento. Mira esto:
- ¿Qué herramientas basadas en IA están disponibles para la investigación científica y las revisiones de literatura?
- ¿Cuáles son algunas áreas candentes en informática en Oriente Medio?
- ¿Cuáles son algunos de los buenos proyectos de investigación en informática de la escuela secundaria que puedo hacer?
- ¿Qué campos de la informática verán una explosión de nuevos desarrollos en un futuro próximo?
- ¿Cuáles son algunos aspectos de investigación basados en aplicaciones de big data?
Descripción general de la arquitectura Blue Gene / L
Solo para descubrir un par de “características”: cada nodo de cómputo solo ejecuta un proceso de usuario único, y debido a que no hay un disco duro local de nodo, todos los comandos de lectura y escritura se envían a través de la red a un nodo IO.
Ahora imagine escribir un depurador para esta arquitectura. Tienes un programa que se ejecuta en diez mil nodos. No todos esos nodos van a estar en el mismo estado (especialmente los con errores). Estás sentado en una consola en un edificio diferente, muchos (¿la mayoría? ¿Todos?) De los nodos en tu trabajo han alcanzado un punto de quiebre, y quieres examinar el valor de alguna variable x.
¿Le gustaría hacer una taza de café mientras se desplazan los valores de 10k de x en su pantalla?
Para esta y otras arquitecturas similares, nosotros como comunidad hemos tenido que repensar por completo lo que necesitamos que haga un depurador paralelo y cómo podemos hacerlo. (¿Desea “pasar” a la siguiente instrucción? ¿Cuál será el tiempo de retraso cuando se desplieguen más de 10k nodos y los resultados vuelvan a aparecer? ¿Es tolerable ese retraso?) Las soluciones son bastante buenas.
Repelente de insectos para supercomputadoras resulta efectivo
Ahora estamos trabajando en cómo sería una máquina 1000 veces más rápida que la BG / L original. En lugar de 10k nodos de cálculo, podríamos tener 10k núcleos en un solo nodo (y tener 10k de esos nodos). La energía eléctrica del sistema será un gran problema y necesitamos un software de sistema que nos dé un control preciso sobre ella. Habrá problemas de resiliencia, problemas de puntos de control y otro conjunto de problemas de depurador, que ahora están generando tesis doctorales.
Si desea una visión general de cómo se verían estos sistemas y cuáles son los problemas abiertos, eche un vistazo aquí:
Hoja de ruta del proyecto internacional de software Exascale (IESP)