I am a member of the research groups Algorithms and Complexity in Durham (ACiD) and Network Engineering, Science and Theory (NESTiD). Both groups are broad-based with ACID having research foci including
- computational complexity, proof complexity, descriptive complexity, graph theory, exact algorithms, randomised algorithms, approximation algorithms, parameterized algorithms, finite model theory, constraint satisfaction, interconnection networks, universal algebra and mathematical logic,
and NESTiD having research foci including
- network design and algorithms, distributed and parallel computing and algorithms, networked systems and applications, security and resilience, network science, dynamism and processes on networks, mathematical theory underpinning networks and communication, social network design and human interaction and cloud, edge, fog and wireless networks.
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. I have recently 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.
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. My work is a fusion of mathematics, computer science, and computer engineering.
Things I’m currently working on (May 2021): I have recently become more interested in mathematical aspects of interconnection networks involving, for example, symmetry and Cayley graphs, group-theoretic constructions, combinatorial design theory, and the general use of algebraic methods in interconnection networks. This will occupy more of my time in future.
(updated 20th May 2021)