Explore UCD

UCD Home >

Software Engineering and Distributed Systems

Software Engineering and Distributed Systems

Sub topics:

  • Cloud Computing
  • Heterogeneous Computing
  • Computer Networks
  • Parallel Computing
  • High Performance Computing
  • Unmanned Aerial Vehicles
  • Software Engineering
  • Edge computing
  • Energy-efficient Computing

Software Engineering involves the use of an engineering approach to the development of software that solves real-world problems. Every task that computers perform uses software to do it. Software engineers take engineering principles such as measurement, modelling and trade-off analysis and apply them to the creation and management of software. As computer systems grow in complexity and power, Software Engineering enables them to adapt to these changes. A computer network is a collection of computing devices that are connected for the purpose of sharing information or completing tasks. Any system where data is shared digitally across devices or nodes uses a network. The type of network used depends on a range of variables, such as the number and geographical spread of the devices, the communication protocols, and the transmission medium.

In Distributed Systems, either multiple computers are used, or a single computer contains a network of interacting processes. In some cases, such as Cloud Computing, Distributed Systems allow users to access infinitely scalable computing power, without this power sitting in their device. Other Distributed Systems aim to create higher computing power through the merging of computers, with either the same or different types of processor. In each case, the system provides better capabilities than any single computer could. Edge Computing brings data storage and processing from the cloud to its ‘edge’, where numerous local machines carry out the role of a cloud server. This makes data transfer quicker and more efficient. As we enter the age of the Internet of Things (IoT), holding data in huge data centres and sending information through a central location to a device near to the original one is a waste of energy. In the case of Unmanned Aerial Vehicles, distributed computing aims to create networks of drones which are interconnected and respond to each other and their environment in real time, without referring back to a central control.

High Performance Computing refers to the use of a distributed system of computing devices to perform tasks that are infeasible or impossible within a single computer. HPC does this by networking its separate nodes to perform tasks in parallel, enabling many scientific advances where the data to be analysed has grown exponentially in recent years. The environmental footprint of HPC has the potential to be very damaging, however, and a major current research direction is how to retain the power of HPC while reducing the energy that it requires.

Associated Staff

UCD School of Computer Science

University College Dublin, Belfield, Dublin 4, Ireland, D04 V1W8.
T: +353 1 716 2483 | E: computerscience@ucd.ie | Location Map(opens in a new window)