The Institute for Computing Systems Architecture (ICSA) was founded in 1998 and is one of seven research institutes in the School of Informatics at the University of Edinburgh. ICSA is based in the Informatics Forum (pictured below).
All computing paradigms, however abstract, rely ultimately upon a real computational system. These have grown dramatically in performance and capacity as the underlying technologies have advanced during the past two decades. These technological advancements have been, and remain, a fundamental enabling force across the entire breadth of Informatics.
We have witnessed increasing sophistication and capacity in software systems and the development of languages that would otherwise be considered impractical. Advancements in technology have fuelled revolutionary concepts from personal computing to massively parallel processors, as well as less visible advancements in micro-architecture and compiler optimisation. At the same time, the complexity of computing systems has grown dramatically, placing severe demands on those attempting to engineer reliable software and hardware systems, emphasising the need for new methods of analysing those systems.
ICSA is primarily concerned with the architecture and engineering of future computing systems. Its fundamental research aims are:
- To extend our understanding of the performance and scalability of existing computational systems, especially where such systems have complex behaviour
- To improve the characteristics of current systems through innovations in algorithms, architectures, compilers, languages and protocols. Typically we are concerned with characteristics such as performance, flexibility and applicability
- To develop new and novel architectures which address fundamental long-term issues in computation
- To develop new engineering methods by which future systems can be created and maintained.
Scientific and engineering challenges
There are two driving forces in computer systems research, effectively defining the goals and the parameters within which we work. These are the applications, which place computational demands on systems, and the basic circuit and communication technologies, which place bounds on what is actually possible. The challenge for systems research is to understand the needs and possibilities, and from those synthesise new, novel and effective computing structures (both software and hardware) for future generation systems.
The process of synthesising new structures must operate at all levels, ranging from languages and their implementation, through protocols, micro-architectures, and the optimisation techniques for mapping computations onto computing structures. It also is a continuing challenge to harness the theoretical tools arising from foundational research, but one which we believe is essential.