jueves, 26 de septiembre de 2013

Tiempo de switcheo

publicado el 26 de septiembre de 2013, en la columna "Con peras y manzanas" del Diario de Morelos

Todos conocemos a alguien, casi siempre nuestra madre, que está en todo. “Tienes ojos en la espalda”, “un ojo al gato y otro al garabato”, son algunas de las frases que ha acuñado el saber popular para describir a estas personas. Es sorprendente para muchos la capacidad que algunos tienen para el multiprocesamiento, es decir, estar en varias tareas aparentemente al mismo tiempo. Es justo esta aparente simultaneidad la que han descrito con gran claridad las ciencias computacionales.

Cuando llevé clase de arquitectura de computadoras, aprendí que su procesador central suele tener una serie de tareas que atender: leer información de un disco duro, capturar datos del teclado, desplegar imágenes en la pantalla, enviar documentos a impresión, e incluso comunicarse con otras computadoras en la red. Hoy día las computadoras tienen más de un procesador, y parecería natural que hicieran muchas tareas al mismo tiempo, considerando que cada procesador puede atender una tarea en particular. Sin embargo, y a pesar de que no es exactamente así como trabajan las computadoras actuales, quiero hacer un viaje en el tiempo para recordar aquellas máquinas del siglo pasado. Sólo tenían un procesador y era necesario que atendieran teclado, memoria, pantalla y demás “simultáneamente”. El secreto detrás de este paralelismo aparente era el minimizar el tiempo de switcheo. Es decir, no hay manera de que un solo procesador atienda más de una operación por instante, lo que sucede es que se tienen filas de operaciones y se atiende un poco a cada operación. Como es más rápida la computadora en recibir datos del teclado que nosotros en teclearlos, le da tiempo suficiente para desplegarlos en pantalla e incluso guardar en memoria temporal lo que escribimos. La cantidad de tareas distintas que pueden hacerse está limitada por el tiempo que se tarda en dejar una tarea en pausa y retomar otra.

Aunque nuestro cerebro es mucho más complejo que un procesador artificial, y de hecho, sí realiza tareas en paralelo, también es cierto que cuando atendemos muchos temas al mismo tiempo, dependemos fuertemente del tiempo de switcheo. De tal forma que, la cantidad de temas que podemos atender en un momento depende tanto de la capacidad que tengamos para almacenar los temas y donde nos quedamos en cada uno, como de la velocidad con que logremos soltar un tema y tomar otro para procesarlo.


Nuestras abuelitas y mamás nos han enseñado por generaciones la importancia de optimizar el tiempo, atendiendo tantos temas como sea posible, minimizando los tiempos ociosos. Estoy segura que Thomas Watson, el líder del equipo de la IBM/360 (la primera computadora que hacía multitasking), no era la excepción, ¡gracias Sra. Watson!

No hay comentarios.:

Publicar un comentario