没有合适的资源?快使用搜索试试~ 我知道了~
智慧城市1:ORBIT:a smartphone-based platform for data-intensive embed
需积分: 0 0 下载量 161 浏览量
2022-08-03
19:40:48
上传
评论
收藏 2.89MB PDF 举报
温馨提示
【智慧城市与ORBIT平台】 智慧城市是现代城市发展的新趋势,旨在通过信息技术的深度融合,提高城市管理效率,提升居民生活质量。在这一背景下,智能手机作为数据密集型嵌入式传感应用的重要工具,发挥着越来越重要的作用。"ORBIT:智能手机为基础的数据密集型嵌入式感知平台"是一个创新的解决方案,它旨在克服现有智能手机在执行此类任务时所面临的挑战。 ORBIT平台由三层架构构成,分别是智能手机、节能外围板和云端服务。这种分层设计使得智能手机能够连接到能效高的外设板,或利用云端资源,以弥补其在实时处理、能耗以及用户友好型嵌入式编程支持方面的不足。通过这种架构,ORBIT能够智能地将任务分配到不同层次,以最小化系统的功耗,实现资源的优化利用。 ORBIT的核心特性之一是基于配置的任务分割。这允许系统根据任务特性和资源需求,动态调整处理任务的分配,从而实现最佳的性能和能效平衡。此外,平台提供了一个数据处理库,内含自适应延迟/质量权衡机制和多线程数据分区策略,进一步优化了资源使用。 为了简化开发者的工作并增强编程灵活性,ORBIT引入了基于注释的编程API。这种API使得应用程序开发更为简便,同时允许开发者根据需要调整和定制功能。通过广泛的微基准评估和两个实际案例——地震传感和多摄像头3D重建——ORBIT的通用设计得到了验证,证明其在各种数据密集型应用中的适用性和有效性。 总结起来,ORBIT平台是智慧城市框架下,解决智能手机在数据密集型嵌入式传感应用中问题的有效工具。它通过创新的架构设计、任务调度策略和友好的开发环境,推动了智能手机在智慧城市领域的应用,为未来智慧城市的建设提供了新的思路和技术支撑。
资源详情
资源评论
资源推荐
ORBIT: A Smartphone-Based Platform for Data-Intensive
Embedded Sensing Applications
Mohammad-Mahdi Moazzami
∗
Dennis E. Phillips
∗
Rui Tan
†
Guoliang Xing
∗
Department of Computer Science and Engineering, Michigan State University, East Lansing, MI, USA
Advanced Digital Sciences Center, Illinois at Singapore
ABSTRACT
Owing to the rich processing, multi-modal sensing, and versatile
networking capabilities, smartphones are increasingly used to build
data-intensive embedded sensing applications. Howev er, various
challenges must be systematically addressed before smartphones
can be used as a generic embedded sensing platform, including
high power consumption, lack of real-time functionality and user-
friendly embedded programming support. This paper presents OR-
BIT, a smartphone-based platform for data-intensive embedded se-
nsing applications. ORBIT features a tiered architecture, in which
a smartphone can interface to an energy-efficient peripheral board
and/or a cloud service. ORBIT as a platform addresses the short-
comings of current smartphones while utilizing their strengths. OR-
BIT provides a profile-based task partitioning allowing it to intel-
ligently dispatch the processing tasks among the tiers to minimize
the system power consumption. ORBIT also provides a data pro-
cessing library that includes two mechanisms namely adaptive de-
lay/quality trade-off and data partitioning via multi-threading to op-
timize resource usage. Moreover, ORBIT supplies an annotation
based programming API for developers that significantly simplifies
the application development and provides programming flexibility.
Extensive microbenchmark evaluation and two case studies includ-
ing seismic sensing and multi-camera 3D reconstruction, validate
the generic design of ORBIT.
Categories and Subject Descriptors
C.3 [Special-Purpose and Application-Based Systems]: Real-
time and embedded systems, signal processing systems
Keywords
Smartphone, embedded sensing, data processing, data-intensive ap-
plications
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies
are not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. Copyrights
for components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To cop y otherwise, or republish, to
post on servers or to redistribute to lists, requires prior specific permission
and/or a fee. Request permissions from Permissions@acm.org.
IPSN’15, April 14-16, 2015, Seattle, WA, USA
Copyright 2015 ACM 978-1-4503-3475-4/15/04$15.00
http://dx.doi.org/10.1145/2737095.2737098.
1. INTRODUCTION
The ubiquity of smartphones and their multi-modal sensing ca-
pabilities have enabled a wide spectrum of mobile sensing appli-
cations. These applications are usually human-centric in that the
smartphone utilizes on-board sensors to sense people and character-
istics of their contexts. Different from these human-centric sensing
applications, this paper considers an emerging class of smartphone-
based data-intensive embedded sensing applications. In contrast to
the people-centric nature of participatory sensing, smartphones in
these applications are embedded into environments to sense and
interact with the physical world autonomously over long periods
of time. For instance, in the Floating Sensor Network project [9],
smartphone-equipped drifters are rapidly deployed to collect real-
time data about the flow of water through a river. The smartphone’s
GPS allows the drifter to measure volume and direction of wa-
ter flow based on its real-time l ocation and transmit the data back
to the server through cellular networks. Smartphones have also
been employed for monitoring earthquakes [7], volcanoes [13], and
even operating miniature satellites [22]. Another important class of
smartphone-based embedded systems is cloud robots [11] [4].By
integrating smartphones, these robots can lev erage a plethora of
phone sensors to realize complex sensing and navigation capabil-
ities and offload compute-intensive cognitive tasks like image and
voice recognition to the cloud.
Compared with the traditional mote-class sensing platforms, sm-
artphones have several salient advantages that make them promis-
ing system platforms for the aforementioned embedded applica-
tions. These features include high-speed multi-core processors that
are capable of e xecuting advanced data processing algorithms, mul-
tiple network interfaces, various integrated sensors, friendly user
interfaces and advanced programming languages. Moreover, the
price of smartphones has been dropping significantly in the last
decade. Many Android phones with reasonable configurations (up
to 800 MHz CPU and 2 GB memory) cost less than US$50 [18].
However, several challenges must be addressed before smart-
phones can be used as a system platform for embedded sensing
applications. First, the smartphones, which are designed to provide
several days of battery life, are ill-suited for many embedded sens-
ing applications that must operate unattended for long periods of
time. Many of today’s embedded applications are inherently data-
intensive in that sensors must sample at high rates (e.g., 100 Hz
in seismic sensing [29]). The continuous sensor sampling can pre-
vent the smartphone from entering sleep state, leading to battery
depletion in a few hours. Moreover, the current major smartphone
operating systems (OSes) do not provide real-time functionalities,
such as constant sampling rate, precise timestamping, and program-
ming interfaces for expressing timing requirements, which are cru-
cial to many embedded sensing applications. For instance, our
83
measurements show that the USB hardware interrupt of Android
phones suffers an unpredictable delay of up to 5 ms, which makes
it impossible to achieve a high constant sampling rate. Lastly, the
smartphone programming environment, although simplifying many
programming tasks in the life cycle of embedded systems such as
debugging, remote data logging, visualization, and software main-
tenance, lacks important embedded programming support such as
resource-efficient signal processing libraries and communication/-
control primitives for peripheral sensors.
In this paper, we take the first step toward addressing these chal-
lenges collectively. We present ORBIT, a smartpho
ne-based plat-
for
m for embedded sensing systems. In particular, ORBIT lever-
ages off-the-shelf smartphones to meet the energy-efficiency and
timeliness requirements of data-intensive embedded sensing appli-
cations. ORBIT is based on a tiered architecture that comprises up
to three tiers: the cloud, the smartphone, and one or more energy-
efficient peripheral boards (referred to as extBoard) that are inter-
faced with the smartphone. A number of extBoard platforms are
currently available, such as Arduino [1] and IOIO [14]. There-
fore, if the built-in sensors on the smartphones are not suitable
for sensing applications, these boards can readily integrate vari-
ous accessories, such as external sensors, to an Android phone via
USB or bluetooth interface. We conduct a measurement study on
the latency and power consumption of Android smartphones and
extBoard platforms. Our results show that the two platforms have
highly heterogeneous but complementary power/latency profiles:
smartphone features higher energy efficiency due to its faster pro-
cessing capability while yielding poor timing accuracy due to the
overhead of OS. These results have important implication f or ef-
ficient task partitioning. In particular, while the smartphone and
cloud should handle long-running compute-intensive tasks, time-
critical functions such as high-rate sensor sampling and precise
event timestamping must be shifted to the extBoard owing to its
hardware timers and efficient interrupt handling.
Motivated by the above observations, we propose a task par-
titioning framework that assigns tasks to different tiers based on
their time-criticality, compute-intensity, and heterogenous laten-
cy/power consumption profiles. Furthermore, to take advantage
of the increasing availability of multiple cores on smartphones,
ORBIT implements a data partitioning scheme that decomposes
matrix-based computation into multiple threads. ORBIT also in-
tegrates a data processing library that supports high-level Java an-
notated application programming. The design of this library fa-
cilitates the resource management of the embedded applications by
promoting a delay/quality trade-off mechanism. To enable dynamic
task dispatch and runtime task profiling, we develop an ORBIT
runtime environment consisting of task controllers running on each
tier. These controllers coordinate task execution through a unified
messaging protocol. Owing to these features, ORBIT is a powerful
system toolkit to build a wide spectrum of data-intensive embedded
sensing applications.
This paper makes the following contributions. First, we con-
duct systematic measurement and modeling to understand the op-
portunities as well as the challenges for using smartphones for data-
intensive embedded sensing applications. Our measurement results
are also useful for the design of a broad class of smartphone-based
sensing systems. Second, we provide an implementation of several
data processing algorithms as a library as well as several mecha-
nisms that improve the efficiency of data processing algorithms for
both the smartphone and the extension board. Several components
of ORBIT bear some similarity with existing embedded system
platforms [5, 10, 23, 28]. However, to our best kno wledge, OR-
BIT is the first general-purpose, e x tensible, application-aware, and
end-to-end sensing and processing platform for smartphones-based
data-intensive embedded applications
1
. Lastly, we demonstrate
the generality and flexibility of ORBIT as a platform by presenting
our experience in prototyping two applications upon ORBIT: seis-
mic sensing and multi-camera 3D reconstruction. The fl exible task
partitioning and dispatching framework allows ORBIT to adapt to
different task structures, application deadlines, and communication
delays. The experiments show ORBIT reduces energy consump-
tionbyupto50% compared to baseline approaches.
2. RELATED WORK
Mobile sensing based on smartphones has recently received sig-
nificant interests. Most studies focus on the issues related to human-
centric context, including coordination among multiple concurrent
sensing applications [16, 17, 15] and sensing algorithms such as
context classifiers [3]. Recently, smartphones have been used in
a number of embedded sensing applications. In [7], smartphones
are used to build an earthquake early warning system using an on-
board accelerometer. In the Floating Sensor Network project [9],
smartphone-equipped drifters are deployed to monitor waterways
and collect real-time volume and direction of water flow based on
the phone’ s GPS. The NASA PhoneSat project [22] has launched
low-cost satellites equipped with Android smartphones. Controlled
by a smartphone, such small satellites could perform various tasks
such as earth observation and space debris tracking. Several re-
cent efforts focus on building cloud robots [11] that integrate smart-
phones with robots. The phone’s built-in sensors are used for sens-
ing and navigation, while compute-intensive tasks like image and
voice recognition are offloaded to the cloud.
Various task offloading schemes for smartphones have been de-
veloped recently. Spectra [8] allows programmers to specify task
partitioning plans given application-specific service requirements.
Chroma [2] aims to reduce the burden on manually defining the
detailed partitioning plans. Medusa [25] features a distributed run-
time system to coordinate the execution of tasks between smart-
phones and cloud. Turducken [28] adopts a hierarchical po wer
management architecture, in which a laptop can offload lightweight
tasks to tethered PDAs and sensors. While Turducken provides a
tiered hardware architecture for partitioning, it relies on the appli-
cation developer to design a partitioned application across the tiers
to achieve energy efficiency.
Different from these task partitioning schemes, ORBIT dispatches
the execution of sensing and processing tasks in a smartphone-
based multi-tier architecture to achieve data-intensive applications
requirements. ORBIT maximizes the battery lifetime subject to
the application-specific latency constraints. Moreover, in order to
support fine-grained task partitioning across the tiers, the devel-
oper specifies the application’s task structure as well as real-time
requirements via either Java annotations or an XML-based applica-
tion model provided by ORBIT. ORBIT also provides a messaging
interface to support unified data passing mechanism between het-
erogenous tiers and between different application components.
The MAUI system [5] enables a fine-grained offloading mecha-
nism to prolong the smartphone’s battery lifetime. Ho wev er, MAUI
relies on the properties of the Microsoft .NET managed code envi-
ronment to identify the functions that can be executed remotely.
When a function is executed remotely, MAUI assumes the energy
associated with its local execution is saved. I n contrast, ORBIT
does not rely on any language specific environment and its measure-
ment-based power profiles account for many realistic po wer char-
acteristics such as CPU sleep, wake up and tail time.
1
The source code of ORBIT is available at https://github.com/msu-sensing/ORBIT
84
The Wishbone system [23] also features a task dispatch scheme.
Unlike Turducken, Wishbone uses a profile-based approach to find
the optimal partition. It only considers two tiers: in-network and
on-server. Unlike MAUI, Wishbone relies on the timing profile
only and does not account for the power consumption. ORBIT
differs from Wishbone in several ways. Wishbone uses the CPU
and network timing profiles only to fi nd the optimal task partition,
while ORBIT considers the measured latency and power consump-
tion, which leads to more energy-efficient task partitions. More-
ov er, W ishbone depends on the timing profiles based on sample
data under the assumption that the sample data can represent actual
runtime data. However, our measurement study shows that the sig-
nal processing timing profiles can exhibit significantly variations
in real scenarios. To address this, ORBIT measures the statistical
timing profiles at runtime, and periodically refines the partitioning
results. Moreover, Wishbone formulates the partitioning problem
as a 0/1 integer linear programming problem and thus supports two
tiers only. In contrast, ORBIT formulates the problem as a non-
linear optimization problem and supports three or more tiers.
RTDroid [30] tackles the lack of hard real-time capability of An-
droid system and addresses the problem by redesigning and replac-
ing several Android components in Dalvik, e.g., Looper-Handler
and Alarm-Manager. In contrast, ORBIT requires no changes to the
Android system. ORBIT accounts for statistical properties of task
execution, and finds the best execution assignment by its task parti-
tioning mechanism. Hence, although RTDroid and ORBIT address
different sets of issues, they are complementary. In fact, ORBIT
can run on RTDroid and the ORBIT-based sensing applications can
benefit from both.
Similar to ORBIT, EmStar [10] provides an environment to im-
plement distributed embedded systems for sensing applications based
on Linux-class Microservers. However ORBIT takes one major
step further and proposes a design based on smartphones for the
purpose they are not originally designed for, which is embedded
systems. This difference in underlying technology leads to totally
different design and implementation. Although EmStar and ORBIT
have similar modular designs, unlike ORBIT, EmStar does not have
any partitioning mechanism and it is not strictly tiered. More im-
portantly, ORBIT provides a library of data processing algorithms
that are ef ficient on the resource-constrained smartphone and ex-
tension board. This is not a design goal of EmStar.
3. MOTIVATION AND SYSTEM OVERVIEW
In this section, we discuss the motivation of using smartphone
as a system platform for data-intensive embedded sensing applica-
tions and the design objectives of ORBIT.
3.1 Motivation and Challenges
Mote-class sensing platforms such as TelosB have been widely
adopted by embedded sensing applications in the past decade. How-
ever, due to the limited processing and storage capabilities, they
are ill-suited for high-sampling-rate sensing applications. Recently,
several single-board computers such as Gumstix [12], SheevaPlug
[20], and Raspberry Pi [26], which are equipped with rich process-
ing and storage capabilities, have been increasingly used in embed-
ded applications. However, their designs are not particularly opti-
mized for lo w-power sensing. Moreover, without on-board sensors
and wireless interfaces, they need to be equipped with various pe-
ripherals for different applications.
Different from the above platforms, commercial off-the-shelf sm-
artphones offer several salient advantages that make them a promis-
ing system platform for data-intensive embedded sensing applica-
tions. The advantages include rich computation and storage re-
(a) Seismic ORBIT node (b) Robotic ORBIT node
Figure 1: ORBIT nodes for seismic sensing and robots.
sources, multiple network interfaces and sensing modalities, in-
creasing available multi-core architecture and low cost. Moreover,
smartphones come with advanced programming languages and frie-
ndly user interfaces, such as touch screen to enable rich and inter-
active display, unlike the limited user interfaces of motes and em-
bedded computers (e.g., LED and buttons).
However, we still face the following major challenges in building
an embedded sensing platform based on COTS smartphones:
(1) High power consumption: The smartphone power manage-
ment schemes are designed to adapt to user activities to extend bat-
tery time. However, they are not suitable for untethered embedded
sensing systems. If the smartphone samples sensors continually, its
CPU cannot enter a deep sleep state to save energy. Low-power co-
processors (e.g., M7 in iPhone5s) can handle continuous sampling,
but are available on a few high-end models only.
(2) Lack of real-time functionalities: Many sensing applications
have stringent real-time requirements, such as constant sampling
rate and precise timestamping. However, modern smartphone OSes
are not designed for meeting these real-time requirements. For in-
stance, sensor sampling can be delayed by high-priority CPU tasks
such as Android system services or user interface drawing. Our
measurements show that the software timer provided by Android
may be blocked by Android core system services by up to 110 mil-
liseconds. Moreover, Android programming library does not pro-
vide the native interfaces that allow developers to express timing
requirements.
(3) Lack of embedded programming support: The program-
ming environment of smartphone is designed to facilitate the devel-
opment of networked, human-centric mobile applications. How-
ever, it lacks important embedded programming support such as
resource-efficient signal processing libraries and unified primitives
for controlling and communicating w ith peripheral accessories such
as external sensors.
3.2 System Overview
In this paper, we present ORBIT, which is designed to address
the above three major challenges. An ORBIT node comprises an
Android smartphone, an extBoard (e.g., IOIO [14] and Arduino
[1]), and possibly a runtime system on the cloud. The extBoard
is connected to the smartphone through a USB cable or bluetooth
for communication. It is equipped with a low-power MCU, e.g.,
ATmega2560 with 16 MHz frequency, 8 KB RAM, and an analog-
to-digital (A/D) convertor that can integrate various analog sensors.
Fig. 1 shows two ORBIT prototypes, a seismic monitoring node
and a robot sensing node that are used in the ev aluation (cf. Section
85
剩余11页未读,继续阅读
章满莫
- 粉丝: 35
- 资源: 316
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0