Supporting flexible real-time communication on distributed systems - Pedreiras, Paulo Bacelar Reis (2014)
Distributed computer-control systems (DCCS) are widely disseminated, appearing in applications ranging from automated process and manufacturing control to automotive, avionics and robotics. Many of these applications comprise real-time activities, that is, activities that must be performed within strict time bounds. Due to its distributed nature, these systems comprise multiple autonomous processing units that, despite being autonomous, need to exchange data in order to achieve control over the environment. For this reason the data exchange among different nodes is also subject to real-time constraints, and thus the communication subsystem must be able to deliver data within specific time bounds. Many DCCS applications are complex and heterogeneous, comprising different sets of activities with different properties and requirements. For instance, they commonly include periodic activities, e.g. resulting from closed loop control, and sporadic activities resulting from events that occur at unpredictable instants in time in the environment under control. These types of activities can have distinct levels of criticalness and timeliness requirements, independently of their activation nature. On the other hand, flexibility is becoming increasingly important in DCCS, due both to the need of reducing the costs of set-up, configuration changes and maintenance, and also to the recent use of DCCS in new types of applications, such as agile manufacturing, real-time databases with variable number of clients, automotive, mobile robotics in unstructured environments and automatic traffic control systems, that must deal with environments that are inherently dynamic. To cope with such high degree of complexity and dynamism, distributed real-time systems must support both time and event-triggered communication services under timing constraints and, at the same time, they must be operationally flexible, supporting on-the-flv changes to the computational activities they execute. Concerning specifically the communication subsystem, existing real-time protocols do not generally fulfill these requirements. In systems eminently time-triggered, event-triggered services are either non-existing or handled inefficiently, while in systems eminently event-triggered, interesting properties of time-triggered services are normally lost. On the other hand, flexibility and timeliness are often considered as conflicting: systems that provide timeliness guarantees are based on a static configuration of the communication activities while systems that support dynamic changes to the communication activities do not provide timeliness guarantees. The communication paradigm herein presented, the Flexible Time-Triggered communication (FTT) paradigm, centralizes the communication requirements and scheduling of synchronous traffic in a single node and uses a master/multi-slave schedule distribution technique that requires low overhead and is independent of the particular scheduling algorithm employed. This architecture facilitates the implementation of on-line scheduling, which supports dynamic changes to the message set properties, and the implementation of on-line admission control, which permits to ensure that changes to the message set are only accepted if the timeliness requirements are all met. In some application domains DCCS are also facing a trend towards higher flexibility in order to support on-line Qualitv-of-Service (QoS) management. This feature is generally useful to increase the efficiency in the utilization of system resources since typically there is a direct relationship between resource utilization and delivered QoS. On-line QoS management requires a high level of flexibility, and thus this dissertation also describes how the FTT communication paradigm can support such type of services. This dissertation presents the FTT paradigm and argues that this paradigm allows to combine in the same communication system different types of traffic, with the ability to change their properties and the respective scheduling policy at run-time, without relinquishing predictability guarantees and achieving efficient use of network bandwidth. The FTT paradigm presented in this thesis has its roots in the FTT-CAN protocol. After some work performed over the FTT-CAN protocol, it was realized that the main concepts could be abstracted and used to build a generic communication paradigm, which could be implemented in distinct communication networks. To assess the performance of the FTT paradigm, this dissertation includes some contributions to the FTT-CAN protocol, mainly in what concerns scheduling and response-time analysis. Moreover, it also presents an implementation over Ethernet (FTT-Ethernet), which aims at more resource demanding applications, supporting for instance multimedia activities. For this reason, in the scope of the FTT-Ethernet protocol most of the work presented is related to on-line QoS management.