Sistemas operativos modernos

cuando escasea el trabajo, el algoritmo iniciado por el receptor crea un tráfico de preguntas con­ siderable cuando todas las máquinas subempleadas buscan trabajo con desesperación. Sin em­ bargo, es mucho mejor que el gasto adicional aumente cuando el sistema está subcargado que cuando está sobrecargado. También es posible combinar ambos algoritmos y hacer que las máquinas traten de deshacer­ se de trabajo cuando tienen demasiado y traten de adquirirlo cuando no tienen suficiente. Ade­ más, las máquinas quizá podrían hacer algo más eficiente que una prueba aleatoria si mantienen un historial de pruebas anteriores para determinar si algunas máquinas están subcargadas o so­ brecargadas en forma crónica. Puede probarse con una de esas primero, dependiendo de si el ini­ ciador está tratando de deshacerse de trabajo o de adquiririo. Un algoritmo por oferta Otra clase de algoritmos trata de convertir el sistema de cómputo en una economía en minia­ tura, con compradores y vendedores de servicios y precios fijados por la oferta y la demanda (Ferguson et a i, 1988). Los protagonistas clave en la economía son los procesos, que deben comprar tiempo de CPU para realizar su trabajo, y los nodos, que subastan sus ciclos al mejor postor. Cada nodo anuncia su precio aproximado colocándolo en un archivo que todo mundo puede leer. Este precio no está garanfizado, pero da una idea de lo que vale el servicio (en realidad, es el precio que pagó el último cliente). Diferentes nodos podrían tener diferentes precios, depen­ diendo de su rapidez, del tamaño de su memoria, de la presencia de hardware rápido para opera­ ciones de punto flotante y otras características. También podría publicarse una indicación del servicio prestado, digamos el tiempo de respuesta esperado. Cuando un proceso quiere iniciar un proceso hijo, indaga quién está ofreciendo el servicio que necesita. Luego determina el conjunto de nodos cuyos servicios puede costear. A partir de este conjunto, el proceso calcula el mejor candidato, donde “mejor” podría significar más ba­ rato, más rápido o con mejor relación entre precio y desempeño, dependiendo de la aplicación. Luego el proceso genera una oferta y la envía a su primera opción. La oferta podría ser más al­ ta o más baja que el precio anunciado. Los procesadores reúnen todas las ofertas que han recibido y toman una decisión, que probablemente será elegir la oferta más alta. Se informa a los ganadores y perdedores, y se eje­ cuta ei proceso ganador. Luego se actualiza el precio publicado del servidor de modo que re­ fleje la nueva cotización. Aunque Ferguson et al. no entran en detalles, semejante modelo económico sugiere todo tipo de preguntas interesantes, entre ellas las siguientes. ¿Dónde consiguen los procesos dine­ ro para pujar? ¿Reciben salarios regulares? ¿Todo mundo recibe el mismo salario mensual o los directores reciben más que los profesores, que a su vez reciben más que los estudiantes? Si se introducen nuevos usuarios en el sistema sin un aumento correspondiente en los recursos, ¿los precios suben (inflación)? ¿Los nodos pueden formar cárteles para presionar a los usua­ rios? ¿Están permifidos los sindicatos de usuarios? ¿También se puede cobrar por espacio de disco? ¿Y por las salidas impresas? ¿La impresión de imágenes cuesta más que la impresión de texto porque se usa más tinta o tóner? La lista es interminable.

RkJQdWJsaXNoZXIy MjI4NDcx