Associate Professor (Profesor Contratado Doctor)
| 
      
 Computer Architecture Group, Office 0.03 (Despacho 0.03) Department of Electronics and Systems Faculty of Informatics, University of A Coruña Campus de Elviña s/n 15071 A Coruña (Spain)  | 
      
      
 Email: taboada
at udc.es Phone: +34-981-167000, ext. 1298 FAX : +34-981-167160  | 
    
Our Fast Java Communication Projects
 
 
Research Interests
- Efficient Java communications on low latency networks (Java Fast Sockets (JFS) and FastMPJ)
 - High Performance Computing for High Frequency Trading
 - Performance evaluation and modeling of parallel programming languages and architectures (UPC Benchmarks, Servet Benchmark Suite)
 - Parallel programming languages, algorithms and applications
 
Education
B.S., M.S. (2002) in Computer Science, University of A CoruñaPh.D. (2009) in Computer Engineering, University of A Coruña
(Ph.D. Thesis: Design of Efficient Java Communications for High Performance Computing)
Recent Professional Service
- Workshop on Engineering Object Oriented Parallel Software, EOOPS 2014. Victoria, Canada, May 2014 [Workshop co-chair EOOPS 2013-2014]
 - 2013 International Conference on Cloud Computing and Big Data CloudCom-Asia 2013. FuZhou, China, December 2013 [PC Member]
 - 7th International Conference on Complex, Intelligent, and Software Intensive Systems CISIS-2013. Asia University, Taichung, Taiwan, June 2013 [PC Member]
 - 26th IEEE International Conference on Advanced Information Networking and Applications , AINA 2012. Fukuoka, Japan, March 2012 [PC Member]
 - Journal of Systems Architecture, Concurrency and Computation: Practice and Experience, The Journal of Performance Evaluation and Modelling for Computer Systems, Computer Systems: Science and Engineering, Journal of Supercomputing [Reviewer]
 
Papers(*)
(Selected papers. For a more comprehensive list check [DBLP] [Google Scholar])1. Java Communications for High Performance Computing
- Java in the High Performance Computing arena: Research, practice and experience. Science of Computer Programming 78(5): 425-444 (2013). [DL] [PDF] [Bibtex]
 - F-MPJ: scalable Java message-passing communications on parallel systems. Journal of Supercomputing (2012).[DL] [PDF] [Bibtex]
 - Device level communication libraries for high-performance computing in Java Concurrency and Computation: Practice and Experience (2011). [DL] [PDF] [Bibtex]
 - Java Fast Sockets: Enabling High-speed Java Communications on High Performance Clusters. Computer Communications, (2008). [DL] [PDF] [Bibtex]
 - NPB-MPJ: NAS Parallel Benchmarks Implementation for Message-Passing in Java. PDP'09. [DL] [PDF] [slides] [Bibtex]
 - High Performance Java Remote Method Invocation for Parallel Computing on Clusters. ISCC'07. [DL] [PDF] [slides] [Bibtex]
 
2. Performance Evaluation of High Performance Computing Systems & PGAS Programming Model
- Performance analysis of HPC applications in the cloud. Future Generation Computing Systems 29(1), 218-229 [DL] [Bibtex]
 - UPCBLAS: A Library for Parallel Matrix Computations in Unified Parallel C. Concurrency and Computation: Practice and Experience 24(14): 1645-1667 (2012). [DL]
 - Performance Evaluation of MPI, UPC and OpenMP on Multicore Architectures. EuroPVM/MPI'09, September 2009. [DL] [PDF] [slides] [Bibtex]
 - Automatic Mapping of Parallel Applications on Multicore Architectures using the Servet Benchmark Suite Computers and Electrical Engineering 38(2): 258-269 (2012). [DL]
 - Servet: A Benchmark Suite for Autotuning on Multicore Clusters. IPDPS'10, 2010. [DL] [PDF] [slides] [Bibtex]
 - Performance Analysis of Message-Passing Libraries on High-Speed Clusters. Computer Systems Science and Engineering 2010. [PDF] [Bibtex]
 
Invited Talks
- High Performance Computing in Java and the Cloud. UPC Tech, Barcelona. 21/1/2013.
 - Java for High Performance Computing in the Cloud. The Oxford e-Research Centre Seminar Series Michaelmas 2012. University of Oxford (UK). 20/11/2012.
 - Java for High Performance Cloud Computing. FUNDS Seminar Series, Manchester Metropolitan University (UK). 30/10/2012
 - Java for HPC: Myth or Reality?. CIEMAT (Madrid). 4/11/2011
 - Java for HPC: Practice and Experience. Computer Science School. Chemnitz University of Technology (Germany). 14/4/2010
 - Efficient Java Communications on High-speed Networks. Dept. d'Astronomia i Meteorologia, Universitat de Barcelona. 4/3/2010
 - Scalable Message-passing and PGAS Communications on Parallel Systems. Computer Science School. Chemnitz University of Technology (Germany). 23/11/2009.
 - Towards High Performance Cluster Communication in Java: The Java Fast Sockets Approach. University of Reading (UK). 20/9/2006.
 - Developing a Scalable Coherent Interface (SCI) device for MPJ Express. University of Portsmouth (UK). 14/10/2005.
 
Teaching
OPP (EI) AEC (MI) AEC (EI) Titorias (Despacho 0.03)
PhD Thesis Supervised
- Carlos Teijeiro. Extended Collectives Library for Unified Parallel C . 2013.
 - Sabela Ramos. High Performance Java for Multi-core Systems. October 2013 (expected).
 
BS/MS Final Projects Supervised
- Carlos Teijeiro. Implementación Óptima de la Invocación de Métodos Remotos en Java (Java RMI) en un Entorno de Clusters de Alto Rendimiento. 2006.
 - Damián A. Mallón. Evaluación de Java para Programación Paralela en Sistemas Multi-core. 2008.
 - José Manuel Andión. Diseño e Implementacón de nuevas Operaciones Colectivas para el Lenguaje de Programación Paralela UPC. 2008.
 - Damián A. Mallón. Análisis Técnico de Rendimiento de Sistemas HPC. 2008 (CESGA internship)
 - Sabela Ramos. Optimización de las Comunicaciones Colectivas en Paso de Mensajes para Java en Sistemas Multi-core. 2009.
 - Diego Darriba. ProtTest-HPC: unha aplicación distribuida de altas prestacións para a selección de modelos de evolución de proteínas. 2010.
 - Roberto Rey. Diseño e Implementación de una Biblioteca de Comunicaciones en Java para Paso de Mensajes sobre la Red Infiniband. 2010.
 - Adrián Camino. Diseño e Implementación de un Biblioteca de Comunicaciones en Java para Computación de Altas Prestaciones en Clusters Ethernet Multi-core. 2010.
 - Andrés Vieites. Deseño e Implementación dunha Biblioteca de Comunicacións en Java sobre Sockets SCTP. 2010.
 - Sabela Ramos. Explotación de Sistemas Multinúcleo para Programación Paralela en Java. 2010.
 - Daniel Gómez. Desenvolvemento dunha Implementación Eficiente de Java SCTP para Arquitecturas Multi-núcleo . 2011.
 - Óscar García. Diseño e Implementación de una Biblioteca de Computación Matricial Dispersa para el Lenguaje de Programación Paralela UPC. 2011.
 - Roberto Rey. Efficient Communication Mechanisms on High-Speed Networks for the Java Message-passing Library F-MPJ. 2011.
 - Diego Darriba. jModelTest 2: Fast Selection of Best-fit Models of DNA Evolution. 2011.
 - Daniel Fernández. Diseño e Implementación de un MOM (Message Oriented Middleware) Escalable en Java para Aplicaciones Financieras. 2011.
 - Isaac Daniel Fernández. Diseño e Implementación de un Motor de Transporte en Java para Plataformas de Transacciones Financieras. 2012.
 - Fernando Lamela. Diseño e implementación de una aplicación de altas prestaciones para el tratamiento eficiente de grandes volúmenes de datos de derivados financieros. 2012.
 - Adrián López. Diseño de infraestructuras de almacenamiento escalables para cloud computing. 2012.
 - José Manuel Santorum. Aplicación web para el acceso a recursos computacionales en arquitecturas cloud híbrido público/privado. 2013.
 - Marco Trillo. Meta-scheduler de Recursos Cloud Distribuidos para la Ejecución de Aplicaciones de Altas Prestaciones. 2013.
 - José Luis Cabeza. Evaluación del Rendimiento de Implementaciones de Sockets en Java . 2013.
 - Jorge Docampo. Explotación del Rendimiento de Arquitecturas GPU Manycore para HPC en Java. 2013.
 - Isaac Daniel Fernández. Design and Implementation of Low Latency Java ZeroMQ. 2013.
 - Daniel Fernández. Optimization of Java Shared-Memory Communications on NUMA Systems. 2013.
 - Jorge Veiga. Diseńo e Implementación de un Servicio de Almacenamiento de Altas Prestaciones en la Nube. 2013.