Diogo Telmo Neves – PhD Thesis: “Separation of Concerns in Advanced Computing”


Interdisciplinary research,
education and capacity building


1 Apr 2010

Diogo's goal is to develop a new set of programming constructs that promote a stronger separation of concerns in parallel computing. He wants to hide the complexity of parallel programming from programmers and identify the concerns that can be specified as separate modules.

The focus of Diogo’s PhD research work is raising the abstraction level of parallel programming. He would like to do this by developing a new set of programming constructs that promote a stronger separation of concerns in parallel computing. The idea is to separate the domain-specific code from parallelization issues. In other words, he wants to hide the complexity of parallel programming from programmers, such as scientists. He plans to hide the complexity as much as possible by identifying parallelization concerns. His goal is to identify the concerns that can be specified as separate modules. He will investigate the use of different programming paradigms and programming constructs for each concern. For example, he will use a data flow model to specify data distributions, algorithmic skeletons to address coordination of tasks, etc.

Diogo's research activities developed a framework named YaSkel (see image to the right of this paragraph). YaSkel is based on skeletons and software patterns. It allows the seamless parallelization of legacy code through the use of the Dependency Injection Pattern. Diogo and his Portuguese supervisor, Professor João Luís Sobral, presented this research at the International Symposium on Parallel and Distributed Computing (ISPDC) 2009.

Diogo is currently spending a semester at The University of Texas at Austin. He is part of Dr. Keshav Pingali's research group. From February to July of 2010, Diogo is focusing on graph algorithms, in addition to other tasks. One of his algorithms constructs phylogenetic trees upon a given set of taxa. It was written by Tandy Warnow et al (see image titled Phylogenetic Tree of Life). One goal is to apply separation of concerns and achieve better performance from algorithm parallelization. Another goal is to perform applied science.

Diogo's Main Research Interests

  • Parallel and Distributed Systems Programming
  • Multicore and High Performance Computing Platforms
  • Software Engineering, namely Analysis, Design and Patterns
  • Algorithm and Graph Theory
  • BioInformatics