Multi-Processor and Multi-Core Designs for Reliable Embedded Systems

Module code: EG7560

Module co-ordinator: Professor Tanya Vladimirova

The majority of the embedded systems nowadays are distributed, i.e. they include multiple processors. Major sectors targeted by distributed systems include telecommunications, automotive, avionics, industrial automation, robotics, consumer electronics, medical and aerospace. The overall value of the embedded sector market worldwide is about €1.6 trillion per year, a large part of which is attributable to distributed systems.

The widespread deployment of distributed embedded systems is due to them being able to support important system properties such as high reliability, scalability and high performance. A single processor failure in a distributed embedded system can be avoided by distributing the system computing workload among multiple processors. For critical applications such as spacecraft, control of nuclear reactors etc., using a distributed system could increase the system reliability significantly.

The advent of powerful multicore embedded processors and high-speed communication protocols offers new opportunities for design of advanced distributed embedded applications. Each additional core in a multicore processor provides extra computing resources, which can be utilised to improve both performance and reliability.

In this module you will look at key characteristics of distributed embedded systems, such as number of nodes, synchronisation, network topology, network protocol and data transfer. We will consider in detail Controller Area Network (CAN), which is a leading serial bus communication protocol.  Although intended for the automotive industry, CAN has become very popular in many other applications, including spacecraft systems. We will then explore how to apply a time-triggered shared clock scheduling technique in a multi-processor system. In this context we will also explore the benefits of multicore processor designs. You will build your knowledge through guided hands-on laboratory exercises. 

Topics covered

  • Introduction to multi-processor embedded systems, multicore and physically distributed designs
  • Controller Area Network (CAN) protocol
  • Synchronisation of nodes in multi-processor systems
  • Implementing a shared clock protocol on a CAN bus
  • Improving reliability in multi-processor systems
  • Reliable multicore systems

Learning

  • 12 hours of seminars
  • 25 hours of practical classes and workshops

Assessment

  • Lab exercises (40%)
  • Case study coursework (60%)