Course Description
This course examines the high-level design of embedded systems and software for distributed and multicore processing environments.
It begins with a discussion of the basic concepts of distributed systems and multi-core systems-on-a-chip ("SoC's"). This is followed by an in-depth study of distributed control systems design, including examples from automotive applications and home automation. Guidelines are given for the design of large and complex distributed systems, with
examples from the worlds of transportation and high-performance communication systems. The course then shifts focus to the use of multi-core SoC's in embedded systems designs. This includes detailed study of both symmetric and asymmetric multiprocessing -- from the perspectives of hardware, software and operating systems support. It delves deeply into operating systems for multi-core SoC's, multi-core software architectural design, and special memory issues in multi-core software.
This course is far from a general course about system or software design theory, but rather it is highly focused on the practical design of multi-processor embedded systems and software that will operate in distributed and multicore processing configurations.
Prerequisites
Course participants are expected to have background in embedded and real-time software design like our course "Architectural Design of Real-Time Software"
Target Group
real-time and embedded systems software system architects, project managers and technical consultants who will have responsibility for designing, structuring and implementing the RTOS/embedded software.