Zhong, Lin2016-01-252016-01-252014-122015-01-26December 2Reyes, Jose Eduardo. "Virtual Ring Buffer for Camera Application Concurrency." (2015) Master’s Thesis, Rice University. <a href="https://hdl.handle.net/1911/88109">https://hdl.handle.net/1911/88109</a>.https://hdl.handle.net/1911/88109Smartphones with integrated cameras have inspired a growing number of real- time, computer vision applications. Existing camera software architectures, however, do not support concurrency: only one application accesses the image stream at any time. A naive solution that makes a copy of every image for every application is inherently ine cient. Towards a computation- and power-e cient solution, this work presents a driver-level architecture, wherein a single, copy-on-write, shared-memory ring bu er delivers images to all applications via virtual interfaces. The architecture guarantees application isolation, minimizes data redundancy, and provides an illusion to applications that they are the sole consumers of the image stream. This work implements the architecture in Android 4.3.1 and characterizes its performance on a modern, multi-core smartphone. Measurements show the architecture increases CPU utilization at half the rate of the naive solution and reduces power consumption by several hundred milliwatts.application/pdfengCopyright is held by the author, unless otherwise indicated. Permission to reuse, publish, or reproduce the work beyond the bounds of fair use or other exemptions to copyright law must be obtained from the copyright holder.Camera Driver Application ConcurrencyVirtual Ring Buffer for Camera Application ConcurrencyThesis2016-01-25