Personal tools

Trabajos 2009-2010

Los trabajos son individuales. Para la elección del trabajo mandar un correo-e a mpatino at fi.upm.es con una lista de 5 trabajos. Una vez asignado el trabajo se contactará con el profesor indicado en el trabajo para concretar los detalles del mismo. Para la evaluación de los trabajos es requisito la realización de una demostración del mismo.
  1. Implementar una mini-red social con Google AppEngine. Contact rjimenez at fi.upm.es
  2. Implementar con Map-Reduce (usando Hadoop la versión open source the map-reduce) el procesamiento paralelo distribuido para la reconstrucción de ADN. La entrada es  una serie de cadenas de ADN (representada como cadenas de caracteres). La salida deben ser las cadenas de ADN más largas que se puedan construir. La idea básica es que dadas dos cadenas que se solapen en un número, n, de caracteres (n es un parámetro configurable) se combinan en una única cadena. Por ejemplo, dadas las cadenas "ACGGGAAATT" y "AATTTGGAAATAGA" se solapan en la cadena "AATT" y se pueden combinar en la cadena "ACGGGAAATTTGGAAATAGA". Contact rjimenez at fi.upm.es
  3. Implementar en Amazon EC2 un servicio elástico que sea capaz de aumentar y disminuir el número de instancias en función de la carga recibida. Contact rjimenez at fi.upm.es
  4. Implementar una base de datos replicada empleando el protocolo descrito en el artículo "DBFarm: A Scalable Cluster for multiple Databases" http://www.iks.inf.ethz.ch/publications/files/dbfarm_mw06.pd. Contact: mpatino at fi.upm.es
  5. Implementar el protocolo de compromiso 3 phase commit descrito originalmente en el artículo "A Formal Model of Crash Recovery in a Distributed System". IEEE Transactions on Software Engineering 9 (3): 219–228. doi:10.1109/TSE.1983.236608. Contact: mpatino at fi.upm.es
  6. Implementar el algoritmo de replicación para sistemas P2P descrito en "Data currency in replicated DHTs".Reza Akbarinia, Esther Pacitti, Patrick Valduriez. SIGMOD 2007.  Contact: mpatino at fi.upm.es
  7. Implementación del algoritmo para memoria transaccional software descrito en "A Lazy Snapshot Algorithm with Eager Validation" Torvald Riegel, Pascal Felber, Christof Fetzer. DISC 2006. Contact: mpatino at fi.upm.es
  8. Implementación de caches en una arquitectura multi-capa J2EE. Contact: mpatino at fi.upm.es
  9. Implementar un programa que calcule consenso con las siguientes características:la mayoría de los procesos son correctos, todos los procesos son asíncronos,s e utiliza un detector de fallos tipo <>S u Omega. También hay que implementar este dectector de fallos. Recuerde que para el detector de fallos los procesos deben de comportarse de forma síncrona. Todos los enlaces son fiables. Contact:ernes at eui.upm.es

  10. Implementar un algoritmo que proporcione consistencia secuencial en Memoria Compartida Distribuida en un sistema con las siguientes características: no se producen caídas en ninguno de los procesos del sistema, todos los enlaces son fiables y los procesos son asíncronos. Contact:ernes at eui.upm.es

  11. Implementar un algoritmo que proporcione consistencia causal o caché (que se pueda elegir mediante una variable) en Memoria Compartida Distribuida. Para ello el sistema donde se ejecute debe tener las siguientes características:no se producen caídas en ninguno de los procesos del sistema, todos los enlaces son fiables. Los procesos son asíncronos. Realizar todas las lecturas y escrituras de modo rápido, es decir, que el proceso que las invoque pueda obtener la información de la copia local que tenga en ese momento, sin necesidad de tener que esperar a recibir los datos actualizados de ningún otro proceso. Contact:ernes at eui.upm.es

  12. Building Socket-based distributed systems (synchronous communication). Contact: Sara.Bouchenak at inria.fr
    1. TCP client/server system
    2. UDP client/server system  
    3. multi-threaded server with dynamic thread creation 
    4. multi-threaded server with a static thread pool 
    5. multi-threaded server with a dynamic thread pool

  13. Building RMI-based distributed systems (synchronous communication):- building an RMI-based chat system, where participants can dynamically join/leave/exchange messages. Contact: Sara.Bouchenak at inria.fr
    1.  add a history feature to the chat
    2.  make the chat system persistent (persistent history of messages) 
  14. Building event-based distributed systems (asynchronous communication). Contact: Sara.Bouchenak at inria.fr
    1.  building an event-based chat system, where participants can dynamically join/leave/exchange messages
    2.  add a history feature to the chat 
    3.  make the chat system persistent (persistent history of messages) 
  15. Building Servlet-based distributed systems. Contact: Sara.Bouchenak at inria.fr
    1.  writing Servlet-based Web applications
    2.  session management 
    3.  cookie management 
  16. Building AOP-based secure and transactional systems. Contact: Sara.Bouchenak at inria.fr
    1.  automatic inclusion of user authentication as an orthogal aspect of an application 
    2.  automatic inclusion of transactions as an orthogal aspect of an application 

Document Actions