On the Mitigation of MultiCore-Induced Behavioral Deviations of an Autonomous Ground Vehicle
|Title||On the Mitigation of MultiCore-Induced Behavioral Deviations of an Autonomous Ground Vehicle|
|Publication Type||Conference Paper|
|Year of Publication||2011|
|Authors||Sprinkle, J, Eames, B|
|Conference Name||Proceedings of the 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems|
Complex systems such as autonomous vehicles frequently utilize a distributed network of computers for sensing, control, and supervisory tasks. A common way to abstract the deployment of the computational nodes that implement the system’s behavior is through the utilization of middleware, which treats each atomic processing element as a component. Multiple components may execute on a single node, and nodes are typically heterogeneous in their processing power. For component implementations that use an event-driven model of computation, however, significant behavioral deviations may occur when a single-core computational node is replaced with a multicore node, especially if that computational node is running more than one component. This paper discusses the observed behavioral deviations through a series of simulations with identical initial conditions, performed on various single core and multicore processing platforms. In addition to the empirical demonstration, the paper provides a technique to mitigate the behavioral deviations by inserting a time-triggered buffer between a key set of components, enforcing a loosely time-triggered execution even though the system is still defined through event-triggered components. This preserves existing legacy code, but provides a time-triggered execution.