An important issue in end-to-end scheduling of distributed real-time and embedded (DRE) systems is that no one middleware communication model completely solves the problem of ensuring schedulability of all tasks in every DRE system. For example, when distributed method invocations largely form serial chains, a thread-like scheduling abstraction may be more suitable, whereas with significant branching in the distributed call graph an event-like scheduling abstraction may be more appropriate. However, there have been few studies to date of the trade-offs between alternative middleware communication models for ensuring schedulability under different application scenarios. In this paper we focus specifically on the distributable thread and event channel middleware communication models, which have received significant attention for end-to-end scheduling of DRE systems using the OMG’s Common Object Request Broker Architecture (CORBA).
This paper makes three contributions to the state of the art in middleware for distributed real-time and embedded systems. First, it describes what is to our knowledge the first example of integrating release guards directly with CORBA distributable threads to ensure appropriate release times for sub-tasks along an end-to-end computation. Second, it presents an illustrative task model and empirical results in which release guards improve schedulability of distributable threads compared to a greedy protocol in which arriving tasks simply begin to run as soon as they can. Third, we offer the first empirical comparisons of the distributable thread and event channel models under three different communication scenarios and then using a randomized workload.