Iain Stewart

Research interests

I have been head of the research group Algorithms and Complexity in Durham (ACiD). The group is a broad-based and the research interests of its 11 Computer Science staff members include computational complexity, proof complexity, descriptive complexity, graph theory, exact algorithms, randomised algorithms, approximation algorithms, parameterized algorithms, algorithmic game theory, SAT-solving, finite model theory, constraint satisfaction, interconnection networks, temporal networks, universal algebra, discrete mathematics, combinatorial optimization, biomathematics, coding theory, information theory, multiresolution geometry, geometric modelling, and mathematical logic.

My research interests are quite wide ranging too and generally lie at the interface of Mathematics and Computer Science. They include:

  • computational complexity
  • finite model theory and descriptive complexity
  • interconnection networks for parallel and distributed computing
  • graph theory and algorithms
  • theoretical aspects of artificial intelligence
  • GPGPU computing
  • computational aspects of group theory.

In the last few years, my research has mostly been on interconnection networks for parallel and distributed computing and, in particular, on the topological and theoretical aspects of these networks. Topics covered include: swapped and biswapped (a.k.a. OTIS) networks (for optoelectronic hybrid networks); fault tolerance; fault diagnosis; routing- and path-related structural analysis; and hierarchical networks. For the past three years or so, I have been working on the design of data centre networks and their relevant design metrics in relation to the use of data centres within cloud computing and in supporting the processing of large data sets via programming constructs such as MapReduce. Much of my data centre networks research is undertaken with Javier Navaridas from the University of Manchester's Advanced Processor Technology research group (led by Steve Furber).

Things I'm currently working on (March 2017): I have been looking at topological aspects of data centre networks for a while now. The design of data centre networks is in its infancy in comparison to the design of interconnection networks for distributed-memory multiprocessors and networks-on-chips, and I'm currently trying to understand what makes data centres different and what is important from a practical perspective. The sort of data centre networks I'm working with are mostly server-centric data centre networks such as DCell, BCube, FiConn, HCN, and BCN. Our work is a fusion of mathematics, computer science, and computer engineering. Whilst I will continue with this research in future, I have recently become more interested in mathematical aspects of interconnection networks involving, for example, symmetry and Cayley graphs, combinatorial design theory, and the general use of algebraic methods in interconnection networks. This will occupy more of my time in future.

(updated 2nd April 2017)