Starfish

Efficient concurrency support for computer vision applications

Robert LiKamWa, Lin Zhong

Research output: Chapter in Book/Report/Conference proceedingConference contribution

22 Citations (Scopus)

Abstract

Emerging wearable devices promise a multitude of computer visionbased 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.

Original languageEnglish (US)
Title of host publicationMobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services
PublisherAssociation for Computing Machinery, Inc
Pages213-226
Number of pages14
ISBN (Electronic)9781450334945
DOIs
StatePublished - May 18 2015
Externally publishedYes
Event13th Annual International Conference on Mobile Systems, Applications, and Services, MobiSys 2015 - Florence, Italy
Duration: May 18 2015May 22 2015

Other

Other13th Annual International Conference on Mobile Systems, Applications, and Services, MobiSys 2015
CountryItaly
CityFlorence
Period5/18/155/22/15

Fingerprint

Computer vision
Program processors
Electric power utilization
Data storage equipment
Computer applications
Face recognition
Energy efficiency
Cameras
Glass

Keywords

  • Computer vision
  • Memoization
  • Mobile computing
  • Vision library

ASJC Scopus subject areas

  • Electrical and Electronic Engineering
  • Computer Networks and Communications
  • Computer Science Applications

Cite this

LiKamWa, R., & Zhong, L. (2015). Starfish: Efficient concurrency support for computer vision applications. In MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services (pp. 213-226). Association for Computing Machinery, Inc. https://doi.org/10.1145/2742647.2742663

Starfish : Efficient concurrency support for computer vision applications. / LiKamWa, Robert; Zhong, Lin.

MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. Association for Computing Machinery, Inc, 2015. p. 213-226.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

LiKamWa, R & Zhong, L 2015, Starfish: Efficient concurrency support for computer vision applications. in MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. Association for Computing Machinery, Inc, pp. 213-226, 13th Annual International Conference on Mobile Systems, Applications, and Services, MobiSys 2015, Florence, Italy, 5/18/15. https://doi.org/10.1145/2742647.2742663
LiKamWa R, Zhong L. Starfish: Efficient concurrency support for computer vision applications. In MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. Association for Computing Machinery, Inc. 2015. p. 213-226 https://doi.org/10.1145/2742647.2742663
LiKamWa, Robert ; Zhong, Lin. / Starfish : Efficient concurrency support for computer vision applications. MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services. Association for Computing Machinery, Inc, 2015. pp. 213-226
@inproceedings{53f1c6567ddf409fa89968075bb6a882,
title = "Starfish: Efficient concurrency support for computer vision applications",
abstract = "Emerging wearable devices promise a multitude of computer visionbased 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 = "Computer vision, Memoization, Mobile computing, Vision library",
author = "Robert LiKamWa and Lin Zhong",
year = "2015",
month = "5",
day = "18",
doi = "10.1145/2742647.2742663",
language = "English (US)",
pages = "213--226",
booktitle = "MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services",
publisher = "Association for Computing Machinery, Inc",

}

TY - GEN

T1 - Starfish

T2 - Efficient concurrency support for computer vision applications

AU - LiKamWa, Robert

AU - Zhong, Lin

PY - 2015/5/18

Y1 - 2015/5/18

N2 - Emerging wearable devices promise a multitude of computer visionbased 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.

AB - Emerging wearable devices promise a multitude of computer visionbased 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.

KW - Computer vision

KW - Memoization

KW - Mobile computing

KW - Vision library

UR - http://www.scopus.com/inward/record.url?scp=84958580866&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84958580866&partnerID=8YFLogxK

U2 - 10.1145/2742647.2742663

DO - 10.1145/2742647.2742663

M3 - Conference contribution

SP - 213

EP - 226

BT - MobiSys 2015 - Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services

PB - Association for Computing Machinery, Inc

ER -