1,548 research outputs found
Anticipatory Buffer Control and Quality Selection for Wireless Video Streaming
Video streaming is in high demand by mobile users, as recent studies
indicate. In cellular networks, however, the unreliable wireless channel leads
to two major problems. Poor channel states degrade video quality and interrupt
the playback when a user cannot sufficiently fill its local playout buffer:
buffer underruns occur. In contrast to that, good channel conditions cause
common greedy buffering schemes to pile up very long buffers. Such
over-buffering wastes expensive wireless channel capacity.
To keep buffering in balance, we employ a novel approach. Assuming that we
can predict data rates, we plan the quality and download time of the video
segments ahead. This anticipatory scheduling avoids buffer underruns by
downloading a large number of segments before a channel outage occurs, without
wasting wireless capacity by excessive buffering. We formalize this approach as
an optimization problem and derive practical heuristics for segmented video
streaming protocols (e.g., HLS or MPEG DASH). Simulation results and testbed
measurements show that our solution essentially eliminates playback
interruptions without significantly decreasing video quality
Evaluating Android OS for embedded real-time systems
Since its official public release, Android has captured
the interest from companies, developers and the general
audience. From that time up to now, this software platform
has been constantly improved either in terms of features or
supported hardware and, at the same time, extended to new
types of devices different from the originally intended mobile
ones. However, there is a feature that has not been explored
yet - its real-time capabilities.
This paper intends to explore this gap and provide a basis
for discussion on the suitability of Android in order to be used
in Open Real-Time environments. By analysing the software
platform, with the main focus on the virtual machine and its
underlying operating system environments, we are able to point
out its current limitations and, therefore, provide a hint on
different perspectives of directions in order to make Android
suitable for these environments.
It is our position that Android may provide a suitable
architecture for real-time embedded systems, but the real-time
community should address its limitations in a joint effort at
all of the platform layers
Resource reservation and power management in Android
Saving battery time for mobile devices has been a goal for the industry for many years. With the advent of smartphones, reduction of energy consumption is even more important since they consume a lot more energy than the generation of mobile phones before them. Consumers are demanding longer battery life and greener electronics. One way to meet these demands is to reduce energy consumption. In order to make the mobile operating system utilize the Central Processing Unit (CPU) more efficiently, applications should have different reservations based on how much they need to use the CPU. A challenge the industry is facing is its lack of knowledge of the behavior of third party applications. Especially since they are an increasing portion of the applications run on smartphones. Without knowledge of how third party applications behave, it is hard to make good reservations for them. If there was a way to dynamically make reservations for the applications with adequate performance while they are running, the system could use this information to reduce battery consumption by e.g. clocking down the CPU when a high clock frequency is not needed. In this master thesis project, an open source resource manager called ACTORS Resource Manager (ACTORS RM) [5][6] for desktop Linux [57] is ported to the Android [37] operating system. The resource manager is also optimized for the applications being run there. A power management patch to the Linux kernel was also used to get greater control over the CPU's frequency changes
Reducing Power Consumption and Latency in Mobile Devices using a Push Event Stream Model, Kernel Display Server, and GUI Scheduler
The power consumed by mobile devices can be dramatically reduced by improving how mobile operating systems handle events and display management. Currently, mobile operating systems use a pull model that employs a polling loop to constantly ask the operating system if an event exists. This constant querying prevents the CPU from entering a deep sleep, which unnecessarily consumes power.
We’ve improved this process by switching to a push model which we refer to as the event stream model (ESM). This model leverages modern device interrupt controllers which automatically notify an application when events occur, thus removing the need to constantly rouse the CPU in order to poll for events. Since the CPU rests while no events are occurring, power consumption is reduced. Furthermore, an application is immediately notified when an event occurs, as opposed to waiting for a polling loop to recognize when an event has occurred. This immediate notification reduces latency, which is the elapsed time between the occurrence of an event and the beginning of its processing by an application.
We further improved the benefits of the ESM by moving the display server, a central piece of the graphical user interface (GUI), into the kernel. Existing display servers duplicate some of the kernel code. They contain important information about an application that can assist the kernel with scheduling, such as whether the application is visible and able to receive events. However, they do not share such information with the kernel. Our new kernel-level display server (KDS) interacts directly with the process scheduler to determine when applications are allowed to use the CPU. For example, when an application is idle and not visible on the screen, the KDS prevents that application from using the CPU, thus conserving power. These combined improvements have reduced power consumption by up to 31.2% and latency by up to 17.1 milliseconds in our experimental applications. This improvement in power consumption roughly increases battery life by one to four hours when the device is being actively used or fifty to three-hundred hours when the device is idle
On Optimal and Fair Service Allocation in Mobile Cloud Computing
This paper studies the optimal and fair service allocation for a variety of
mobile applications (single or group and collaborative mobile applications) in
mobile cloud computing. We exploit the observation that using tiered clouds,
i.e. clouds at multiple levels (local and public) can increase the performance
and scalability of mobile applications. We proposed a novel framework to model
mobile applications as a location-time workflows (LTW) of tasks; here users
mobility patterns are translated to mobile service usage patterns. We show that
an optimal mapping of LTWs to tiered cloud resources considering multiple QoS
goals such application delay, device power consumption and user cost/price is
an NP-hard problem for both single and group-based applications. We propose an
efficient heuristic algorithm called MuSIC that is able to perform well (73% of
optimal, 30% better than simple strategies), and scale well to a large number
of users while ensuring high mobile application QoS. We evaluate MuSIC and the
2-tier mobile cloud approach via implementation (on real world clouds) and
extensive simulations using rich mobile applications like intensive signal
processing, video streaming and multimedia file sharing applications. Our
experimental and simulation results indicate that MuSIC supports scalable
operation (100+ concurrent users executing complex workflows) while improving
QoS. We observe about 25% lower delays and power (under fixed price
constraints) and about 35% decrease in price (considering fixed delay) in
comparison to only using the public cloud. Our studies also show that MuSIC
performs quite well under different mobility patterns, e.g. random waypoint and
Manhattan models
Distributed Computing in a Cloud of Mobile Phones
For the past few years we have seen an exponential growth in the number of mobile
devices and in their computation, storage and communication capabilities. We also have seen an increase in the amount of data generated by mobile devices while performing common tasks. Additionally, the ubiquity associated with these mobile devices, makes it more reasonable to start thinking in a different use for them, where they will begin to act as an important part in the computation of more demanding applications, rather than relying exclusively on external servers to do it.
It is also possible to observe an increase in the number of resource demanding applications, whereas these resort to the use of services, offered by infrastructure Clouds.
However, with the use of these Cloud services, many problems arise, such as: the considerable use of energy and bandwidth, high latency values, unavailability of connectivity infrastructures, due to the congestion or the non existence of it. Considering all the above, for some applications it starts to make sense to do part or all the computation locally in the mobile devices themselves.
We propose a distributed computing framework, able to process a batch or a stream
of data, which is being generated by a cloud composed of mobile devices, that does
not require Internet services. Differently from the current state-of-the-art, where both
computation and data are offloaded to mobile devices, our system intends to move the
computation to where the data is, reducing significantly the amount of data exchanged
between mobile devices.
Based on the evaluation performed, both on a real and simulated environment, our
framework has proved to support scalability, by benefiting significantly from the usage
of several devices to handle computation, and by supporting multiple devices submitting computation requests while not having a significant increase in the latency of a request. It also proved that is able to deal with churn without being highly penalized by it
Systems and Methods for Measuring and Improving End-User Application Performance on Mobile Devices
In today's rapidly growing smartphone society, the time users are spending on their smartphones is continuing to grow and mobile applications are becoming the primary medium for providing services and content to users. With such fast paced growth in smart-phone usage, cellular carriers and internet service providers continuously upgrade their infrastructure to the latest technologies and expand their capacities to improve the performance and reliability of their network and to satisfy exploding user demand for mobile data. On the other side of the spectrum, content providers and e-commerce companies adopt the latest protocols and techniques to provide smooth and feature-rich user experiences on their applications.
To ensure a good quality of experience, monitoring how applications perform on users' devices is necessary. Often, network and content providers lack such visibility into the end-user application performance. In this dissertation, we demonstrate that having visibility into the end-user perceived performance, through system design for efficient and coordinated active and passive measurements of end-user application and network performance, is crucial for detecting, diagnosing, and addressing performance problems on mobile devices. My dissertation consists of three projects to support this statement. First, to provide such continuous monitoring on smartphones with constrained resources that operate in such a highly dynamic mobile environment, we devise efficient, adaptive, and coordinated systems, as a platform, for active and passive measurements of end-user performance. Second, using this platform and other passive data collection techniques, we conduct an in-depth user trial of mobile multipath to understand how Multipath TCP (MPTCP) performs in practice. Our measurement study reveals several limitations of MPTCP. Based on the insights gained from our measurement study, we propose two different schemes to address the identified limitations of MPTCP. Last, we show how to provide visibility into the end- user application performance for internet providers and in particular home WiFi routers by passively monitoring users' traffic and utilizing per-app models mapping various network quality of service (QoS) metrics to the application performance.PHDComputer Science & EngineeringUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttps://deepblue.lib.umich.edu/bitstream/2027.42/146014/1/ashnik_1.pd
Recommended from our members
Characterization of smartphone governor strategies and making of a workload aware governor
This thesis presents the importance of workload characterization towards governing the operational voltage and frequency of a smartphone processor by running a series of workload on an ARM v8 processor. The idea of finishing a task as fast as possible to return to idle state(race-to-idle) versus the idea of choosing the correct frequency for time deltas(pace-to-idle) is studied in detail. Android governors either statically use a single frequency for the entire active time or determines the voltage and frequency dynamically based on the load average on the processor. Similar load averaging strategies are used for other blocks in SoC (System on Chip) like the GPU or the media processor. However, the different blocks of a SoC draw power from the same current source. Owing to lack of fine-grained workload characterization, the power is redirected to the not-so-important unit providing poor performance and energy efficiency. The behavior of different existing governors is explored by running on a variety of workload and analyze the optimal strategy for energy efficiency satisfying an acceptable user performance. Crucial traits of active user applications are inferred from scheduler to fine tune the optimal voltage and frequency across different blocks under constrained power source to build a system-wide governor.Electrical and Computer Engineerin
- …