Machine Learning for Embedded Systems : A Case Study. Haigh, K. Z., Mackay, A. M, Cook, M. R, & Lin, L. G
abstract   bibtex   
—We describe our application's need for Machine Learning on a General Purpose Processor of an embedded device. Existing ML toolkits tend to be slow and consume memory, making them incompatible with real-time systems, limited hardware resources, or the rapid timing requirements of most embedded systems. We present our ML application, and the suite of optimizations we performed to create a system that can operate effectively on an embeddded platform. We perform an ablation study to analyze the impact of each optimization, and demonstrate over 20x improvement in runtimes over the original implementation, over a suite of 19 benchmark datasets. We present our results on two embedded systems. I. INTRODUCTION Mobile ad hoc networks (MANETs) operate in highly dy-namic, potentially hostile environments. Current approaches to network configuration tend to be static, and therefore perform poorly. It is instead desirable to adaptively configure the radio and network stack to maintain consistent communications. A human is unable to perform this dynamic configuration partly because of the rapid timescales involved, and partly because there are an exponential number of configurations [7]. Machine Learning is a suite of techniques that learn from their experience, by analyzing their observations, updating models of how previous actions performed, and using those insights to make better decisions in the future. The system can then learn how current conditions affect communications quality, and automatically select a configuration to improve performance, even in highly-dynamic missions. The domain requires the ability for the decision maker to select a config-uration in real-time, within the decision-making loop of the radio and IP stack. This paper presents our effort to place Support Vector Ma-chines (SVMs) [21], [22] onto the general purpose processors of two communications networks. Existing SVM libraries are slow and memory intensive. This paper describes how we optimized an existing SVM library to obtain a 20x runtime improvement and controlled the memory footprint of the system. This paper describes the optimizations that either had the most effect on results, or were the most surprising to us as developers.
@article{haighMachineLearningEmbedded2012,
  title = {Machine {{Learning}} for {{Embedded Systems}} : {{A Case Study}}},
  url = {http://www.cs.cmu.edu/ khaigh/papers/2015-HaighTechReport-Embedded.pdf},
  abstract = {—We describe our application's need for Machine Learning on a General Purpose Processor of an embedded device. Existing ML toolkits tend to be slow and consume memory, making them incompatible with real-time systems, limited hardware resources, or the rapid timing requirements of most embedded systems. We present our ML application, and the suite of optimizations we performed to create a system that can operate effectively on an embeddded platform. We perform an ablation study to analyze the impact of each optimization, and demonstrate over 20x improvement in runtimes over the original implementation, over a suite of 19 benchmark datasets. We present our results on two embedded systems. I. INTRODUCTION Mobile ad hoc networks (MANETs) operate in highly dy-namic, potentially hostile environments. Current approaches to network configuration tend to be static, and therefore perform poorly. It is instead desirable to adaptively configure the radio and network stack to maintain consistent communications. A human is unable to perform this dynamic configuration partly because of the rapid timescales involved, and partly because there are an exponential number of configurations [7]. Machine Learning is a suite of techniques that learn from their experience, by analyzing their observations, updating models of how previous actions performed, and using those insights to make better decisions in the future. The system can then learn how current conditions affect communications quality, and automatically select a configuration to improve performance, even in highly-dynamic missions. The domain requires the ability for the decision maker to select a config-uration in real-time, within the decision-making loop of the radio and IP stack. This paper presents our effort to place Support Vector Ma-chines (SVMs) [21], [22] onto the general purpose processors of two communications networks. Existing SVM libraries are slow and memory intensive. This paper describes how we optimized an existing SVM library to obtain a 20x runtime improvement and controlled the memory footprint of the system. This paper describes the optimizations that either had the most effect on results, or were the most surprising to us as developers.},
  date = {2012},
  author = {Haigh, Karen Zita and Mackay, Allan M and Cook, Michael R and Lin, Li G},
  file = {/home/dimitri/Nextcloud/Zotero/storage/QSJ8NIDC/Haigh et al. - Unknown - Machine Learning for Embedded Systems A Case Study.pdf}
}
Downloads: 0