¿Dónde está la ciencia en informática?

Soy un informático. Aquí hay un ejemplo de la ciencia en informática de mi propio campo.

Digamos que un físico con el que trabajo ejecuta una simulación de ciencia de materiales masivamente paralela a través de unos pocos miles de procesadores en una de las supercomputadoras de LLNL. Es bastante fácil averiguar qué tan rápido se ejecutó el simulador. Lo que quiero saber es qué tan rápido debería haber corrido. ¿Cuál fue el rendimiento teórico óptimo? ¿Qué nos impidió alcanzar ese límite? Ampliando un poco la pregunta: ¿cómo podemos obtener un rendimiento óptimo para todos los trabajos que se ejecutan en nuestras supercomputadoras? ¿Alcanzar esa meta nos daría un rendimiento óptimo en todo el sistema? (Spoiler: no.)

Responder estas preguntas significa que necesito diseñar y ejecutar experimentos, crear y validar modelos y hacer predicciones falsificables (incluidas las predicciones sobre la máquina que todavía están en el tablero de dibujo). Una vez que tenga esos modelos en su lugar, puedo ponerme mi sombrero de ingeniería y ayudar a mejorar nuestros códigos existentes y cambiar la forma en que escribimos códigos futuros (y cómo diseñamos máquinas futuras). Pero el trabajo de ingeniería no puede comenzar hasta que los modelos científicos estén en su lugar.

Aquí hay un experimento que puede hacer en su propia máquina para darle una idea de cómo es esto. Tome un punto de referencia de cálculo pesado que se ejecute en algún lugar entre 10 y 100 segundos. Tiempo su ejecución. Ahora ejecútelo mil veces más y registre cada tiempo de ejecución individual. Si su temporizador es lo suficientemente preciso, debería ver una variación considerable en el tiempo de ejecución.

¿Puedes encontrar las fuentes de la variación de ejecución a ejecución? ¿Qué parte de la variación proviene del sistema operativo y cuánto del procesador? ¿Qué puede cambiar en el procesador o en el sistema operativo para eliminar la variación? ¿Cuál es el rendimiento óptimo teórico y (una vez que se elimina la variación) qué tan cerca estuvo? ¿Qué te impide alcanzar el óptimo? ¿Cómo puedes mitigar ese problema?

¡Que te diviertas!

La informática es un vasto dominio y tiene aplicaciones en numerosas disciplinas: biología, física (modelado de interacciones en grandes sistemas, modelado predictivo), criptografía y seguridad, etc. Va de la mano con la ingeniería eléctrica y permite el desarrollo de novedosas tecnologías

Este campo tiene una base matemática sólida (al igual que Física), y siempre se puede elegir estudiar los conceptos matemáticos detrás de CS (métodos formales, algoritmos, etc.).

De hecho, es difícil decir que es 100% ciencia. En realidad, es una combinación de ingeniería (aspecto aplicado) y ciencia (aspecto abstracto). Al menos así es como lo veo.

Los informáticos crean modelos matemáticos de computación. Estos modelos hacen predicciones sobre el comportamiento de los cálculos y pueden probarse mediante experimentación. El modelado, la predicción y la experimentación son el corazón del método científico, y en la medida en que los informáticos hacen uso de esos conceptos, estamos practicando una ciencia.

Depende del área de CS que estudies. En CS teórica, se estudian las abstracciones matemáticas de la computación y se prueban sus propiedades. Esto puede ser matemática pura y aplicada. Si el campo es un área de sistemas, también se puede incluir un análisis estadístico del comportamiento de los sistemas de computación reales.

More Interesting

¿En qué se diferencia Electonics e Ingeniería Informática de Ciencias de la Computación e Ingeniería en VIT Chennai?

¿Cuáles son las similitudes y diferencias entre un organismo y una computadora?

¿Qué derrames de líquidos son los peores para las computadoras portátiles?

Cómo elegir la CPU correcta

Estoy en ingeniería informática pero creo que disfrutaré mucho más de la informática. ¿Cómo puedo aprovechar al máximo esta decisión?

Describa un día completo en un día de trabajo de ingeniero informático. ¿Qué haces?

¿Por dónde empiezo y qué pasos tomo para abrirme al mundo de la Ingeniería Informática y el Desarrollo de Software y ser excelente en eso?

¿Qué debo intentar / hacer para saber si quiero estudiar ingeniería informática o ciencias de la computación?

¿Por qué elegiste la ingeniería informática? ¿Cuál es el alcance actual en el mercado?

SVNIT tiene ingeniería informática, mientras que otras universidades tienen ciencias informáticas. Entonces, ¿es lo mismo?

Lamento haber elegido estudiar Ingeniería de Producción en una buena universidad en lugar de CS (Lo que más me gusta) en una mediocre. ¿Cómo puedo redimirme?

¿Son iguales la informática y la ingeniería informática?

¿La ingeniería informática es débil en comparación con las telecomunicaciones?

¿Estaré en desventaja al estudiar ingeniería informática en lugar de ingeniería eléctrica?

¿Cuál es la relación entre una computadora y una máquina de Turing?