@conference { c:sprinkle-multicore, title = {On the Mitigation of MultiCore-Induced Behavioral Deviations of an Autonomous Ground Vehicle}, booktitle = {Proceedings of the 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems}, year = {2011}, pages = {159-168}, publisher = {IEEE}, organization = {IEEE}, abstract = {
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{\textquoteright}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.
}, doi = {10.1109/ECBS.2011.29}, url = {http://dx.doi.org/10.1109/ECBS.2011.29}, author = {Jonathan Sprinkle and Brandon Eames} }