2 resultados para sincronización
em Repositorio Institucional de la Universidad de Málaga
Resumo:
Este trabajo de fin de grado tiene como objetivo realizar un sistema multiagente para simular el desarrollo de las enfermedades epidemiológicas en un entorno concreto. Para ello se plantea hacer un servidor que haga una simulación, especificándole diversos parámetros del entorno, de la enfermedad y otros propios de la simulación. Estos parámetros se pueden especificar desde una aplicación web y desde una aplicación de escritorio. También se podrá visualizar esta simulación desde las dos aplicaciones, una vez que la simulación haya finalizado. Se decide estructurar el sistema de esta forma para dejar la mayor parte del cómputo en manos del servidor. El software se desarrolla íntegramente en Java, haciendo así que sea multiplataforma. Para el desarrollo de este proyecto se ha investigado sobre la programación orientada a agentes y sobre los distintos modelos de epidemias existentes. Este es un proyecto grupal, formado por dos compañeros y yo. Ha sido un arduo trabajo de análisis, diseño, implementación y prueba del software por parte de todos. Para facilitar todo este proceso, la sincronización y el reparto de tareas se sigue una metodología de desarrollo ágil.
Resumo:
Actualmente existe una enorme cantidad de dispositivos y sistemas, como ordenadores portátiles y teléfonos móviles, que dependen de una batería para su funcionamiento. Como consecuencia, el hardware que incorporan debe ser energéticamente eficiente. La industria, para soportar este mercado, está desarrollando procesadores con el objetivo de reducir su consumo energético. Por ejemplo, ARM propone la arquitectura big.LITTLE como un procesador multi-núcleo heterogéneo: unos núcleos más rápidos para aplicaciones orientadas al rendimiento, y otros más lentos orientados a la eficiencia energética. Puesto que todos los núcleos acceden a la misma memoria física, las aplicaciones multi-hilo deben recurrir a algún tipo de sincronización para coordinar el acceso a los datos compartidos. La memoria transaccional (TM) es una solución optimista para ofrecer sincronización de hilos concurrentes en memoria compartida. En TM se permite el acceso en paralelo a los datos compartidos y, mediante un mecanismo de detección de conflictos, se puede garantizar la exclusión mútua. Para beneficiarse de las ventajas que ofrece TM, así como de las características de los procesadores heterogéneos de bajo consumo, es necesario que las soluciones de TM tengan en cuenta los requisitos energéticos y de rendimiento de las aplicaciones en consonancia con lo que ofrece el procesador. Como paso inicial, hay que comprender el rendimiento y consumo energético de las soluciones TM actuales. Para ello, hemos realizado una evaluación de consumo y rendimiento de una librería de TM software, TinySTM, sobre un procesador del tipo big.LITTLE. Los resultados revelan una buena escalabilidad en los núcleos de bajo consumo para la mayoría de las aplicaciones evaluadas. Sin embargo, la aplicación con mayores requerimientos de cómputo resulta ser energéticamente más eficiente en los núcleos orientados al rendimiento, a pesar de su mayor consumo.