Starfish
- 18 May 2015
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services
- p. 213-226
- https://doi.org/10.1145/2742647.2742663
Abstract
Emerging wearable devices promise a multitude of computer vision-based applications that serve users without active engagement. However, vision algorithms are known to be resource-hungry; and modern mobile systems do not support concurrent application use of the camera. Toward supporting efficient concurrency of vision applications, we report Starfish, a split-process execution system that supports concurrent vision applications by allowing them to share computation and memory objects in a secure and efficient manner. Starfish splits the vision library from an application into a separate process, called the Core, which centrally serves all vision applications. The Core shares library call results among applications, eliminating redundant computation and memory use. Starfish supports unmodified applications and unmodified libraries without needing their source code, and guarantees correctness to the applications. In doing so, Starfish improves both the performance and energy efficiency of concurrent vision applications. Using a prototype implementation on Google Glass, we experimentally demonstrate that Starfish reduces the time spent processing repeated vision library calls by 71% - 97%. When running two to ten concurrent face recognition applications at 0.3 frames per second, Starfish reduces CPU utilization by more than 42% - 80%. Notably, this keeps CPU utilization below 13%, even as the number of applications increases. This reduces system power consumption by 19% - 58%, as Starfish maintains a power consumption at approximately 1210 mW while running the concurrent application workloads.Keywords
Funding Information
- National Science Foundation (CNS #1054693, CNS #1218041, CNS #1422312)
This publication has 22 references indexed in Scilit:
- Towards wearable cognitive assistancePublished by Association for Computing Machinery (ACM) ,2014
- VISIONPublished by Association for Computing Machinery (ACM) ,2012
- Codejail: Application-Transparent Isolation of Libraries with Tight Program InteractionsLecture Notes in Computer Science, 2012
- Using automatic persistent memoization to facilitate data analysis scriptingPublished by Association for Computing Machinery (ACM) ,2011
- Face Recognition with Local Binary PatternsLecture Notes in Computer Science, 2004
- Timing attacks on Web privacyPublished by Association for Computing Machinery (ACM) ,2000
- Developing a tool for memoizing functions in C++ACM SIGPLAN Notices, 1998
- Lightweight remote procedure callACM Transactions on Computer Systems, 1990
- Concurrent control with “readers” and “writers”Communications of the ACM, 1971
- A fast storage allocatorCommunications of the ACM, 1965