Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Handong Ye

dblp:37/9083 · DBLP profile ↗
← Back
7ranked-venue papers
0as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4Applied, interdisciplinary, general and emerging computing · 2Computer networks · 1Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Energy-efficient computing · 71% Embedded and real-time systems · 29%
Software engineering, system software, and programming languages
2 papers
Runtime systems and virtual machines · 88% Operating systems · 12%

Topics — the 4 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Energy-efficient computing › power management
dynamic voltage and frequency scaling
0.722020
An Application-Specific Approach to Energy Optimization on Android Mobile Devices · IEEE Trans. Mob. Comput. 2020
Application-Specific Performance-Aware Energy Optimization on Android Mobile Devices · HPCA 2017
Embedded and real-time systems
mobile devices
0.422020
Application-Specific Performance-Aware Energy Optimization on Android Mobile Devices · HPCA 2017
An Application-Specific Approach to Energy Optimization on Android Mobile Devices · IEEE Trans. Mob. Comput. 2020
Runtime systems and virtual machines › dynamic compilation
just-in-time compilation
0.312018
ShareJIT: JIT code cache sharing across processes and its practical implementation · Proc. ACM Program. Lang. 2018
Energy-efficient computing
power management
0.312017
Application-Specific Performance-Aware Energy Optimization on Android Mobile Devices · HPCA 2017

Methods — techniques the papers use, named apart from their topics

offline profiling · 1.0control theory · 0.6feedback control · 0.4profiling data sharing · 0.3optimization restriction for shareability · 0.3
YearPublicationVenuePosition
2020 An Application-Specific Approach to Energy Optimization on Android Mobile Devices
abstract
On current Android mobile devices, DVFS is a key power management technique. Besides CPU, memory and GPU support DVFS as well. OS modules known as governors implement algorithms that dynamically adjust operating frequency for their respective hardware components to balance performance and power. However, the stock governors do not consider application characteristics, manager power instead of energy, and operate independently of each other, thus leading to energy inefficiency. In this paper, we present an application-specific approach to energy optimization targeting Android mobile devices. In this two-step approach, we first perform offline profiling of the target app to obtain its performance and power measurements under different DVFS settings. The profiling data are then used by a feedback loop based online controller to dynamically select energy-optimal DVFS settings for the app while trying to meet a performance target. In contrast with the default governors, our approach is application-specific, manages energy, and controls both CPU and memory in unison. Tested on a few mainstream applications, our solution achieves considerable energy savings with minimal performance loss. This paper describes the design and evaluation of the system in detail with a particular focus on problems related to the robustness of the approach.
Jun Wang 0077, Karthik Rao, Handong Ye
IEEE Trans. Mob. Comput.3
2018 ShareJIT: JIT code cache sharing across processes and its practical implementation
abstract
Just-in-time (JIT) compilation coupled with code caching are widely used to improve performance in dynamic programming language implementations. These code caches, along with the associated profiling data for the hot code, however, consume significant amounts of memory. Furthermore, they incur extra JIT compilation time for their creation. On Android, the current standard JIT compiler and its code caches are not shared among processes—that is, the runtime system maintains a private code cache, and its associated data, for each runtime process. However, applications running on the same platform tend to share multiple libraries in common. Sharing cached code across multiple applications and multiple processes can lead to a reduction in memory use. It can directly reduce compile time. It can also reduce the cumulative amount of time spent interpreting code. All three of these effects can improve actual runtime performance. In this paper, we describe ShareJIT, a global code cache for JITs that can share code across multiple applications and multiple processes. We implemented ShareJIT in the context of the Android Runtime (ART), a widely used, state-of-the-art system. To increase sharing, our implementation constrains the amount of context that the JIT compiler can use to optimize the code. This exposes a fundamental tradeoff: increased specialization to a single process’ context decreases the extent to which the compiled code can be shared. In ShareJIT, we limit some optimization to increase shareability. To evaluate the ShareJIT, we tested 8 popular Android apps in a total of 30 experiments. ShareJIT improved overall performance by 9% on average, while decreasing memory consumption by 16% on average and JIT compilation time by 37% on average.
Keith D. Cooper, Jacob Brock, Handong Ye
Proc. ACM Program. Lang.5
2017 Application-Specific Performance-Aware Energy Optimization on Android Mobile Devices
abstract
Energy management is a key issue for mobile devices. On current Android devices, power management relies heavily on OS modules known as governors. These modules are created for various hardware components, including the CPU, to support DVFS. They implement algorithms that attempt to balance performance and power consumption. In this paper we make the observation that the existing governors are (1) general-purpose by nature (2) focused on power reduction and (3) are not energy-optimal for many applications. We thus establish the need for an application-specific approach that could overcome these drawbacks and provide higher energy efficiency for suitable applications. We also show that existing methods manage power and performance in an independent and isolated fashion and that co-ordinated control of multiple components can save more energy. In addition, we note that on mobile devices, energy savings cannot be achieved at the expense of performance. Consequently, we propose a solution that minimizes energy consumption of specific applications while maintaining a user-specified performance target. Our solution consists of two stages: (1) offline profiling and (2) online controlling. Utilizing the offline profiling data of the target application, our control theory based online controller dynamically selects the optimal system configuration (in this paper, combination of CPU frequency and memory bandwidth) for the application, while it is running. Our energy management solution is tested on a Nexus 6 smartphone with 6 real-world applications. We achieve 4 - 31% better energy than default governors with a worst case performance loss of <; 1%.
Karthik Rao, Jun Wang 0077, Sudhakar Yalamanchili, Yorai Wardi, Handong Ye
HPCA5
2017 SceneMan: Bridging mobile apps with system energy manager via scenario notification
abstract
Power management on current mobile devices relies on OS modules known as DVFS governors. However, existing governors determine system configuration only based on low-level information such as CPU load without any input about application-level behaviors. In particular, there exists no communication from mobile apps to energy managers. We find that information about app usage scenarios (e.g., gaming, video chatting) can usually help energy manager perform a better job and achieve more energy savings. Although app-level energy optimizations have been proposed, they generally focus on single usage scenarios and do not address optimization across multiple scenarios. In this paper, we propose SceneMan, an energy optimization framework for mobile apps based on usage scenario notification. SceneMan has three components: an API, a scenario notifier, and an energy manager. The key idea is to make energy managers aware of app-level scenarios. At runtime, apps notify the energy manager about their usage scenarios with provided APIs used by developers. The energy manager then takes appropriate actions to minimize energy consumption of the running scenario while meeting performance requirements. Energy optimization across scenarios can thus be easily achieved. The framework requires little extra programming effort and can help apps achieve better energy efficiency in a transparent way. We implement our system on a Nexus 6 smartphone and test it with 13 real-world apps under 2 usage scenarios, namely, gaming and video chatting. We achieve up to 33.2% energy savings with a worst-case performance loss of 5.1%.
Li Li 0064, Jun Wang 0077, Handong Ye, Ziang Hu
ISLPED4
2014 Code Layout Optimization for Defensiveness and Politeness in Shared Cache
abstract
Code layout optimization seeks to reorganize the instructions of a program to better utilize the cache. On multicore, parallel executions improve the throughput but may significantly increase the cache contention, because the co-run programs share the cache and in the case of hyper-threading, the instruction cache. In this paper, we extend the reference affinity model for use in whole-program code layout optimization. We also implement the temporal relation graph (TRG) model used in prior work for comparison. For code reorganization, we have developed both function reordering and inter-procedural basic-block reordering. We implement the two models and the two transformations in the LLVM compiler. Experimental results on a set of benchmarks show frequently 20% to 50% reduction in instruction cache misses. By better utilizing the shared cache, the new techniques magnify the throughput improvement of hyper-threading by 8%.
Pengcheng Li 0001, Hao Luo 0007, Chen Ding 0001, Ziang Hu, Handong Ye
ICPP5
2014 OpenMDSP: Extending OpenMP to Program Multi-Core DSPs
Jiangzhou He, Wen-Guang Chen, Guangri Chen, Zhizhong Tang, Handong Ye
J. Comput. Sci. Technol.6
2011 OpenMDSP: Extending OpenMP to Program Multi-Core DSP
abstract
Multi-core Digital Signal Processors (DSP) are widely used in wireless telecommunication, core network transcoding, industrial control, and audio/video processing etc. Comparing with general purpose multi-processors, the multi-core DSPs normally have more complex memory hierarchy, such as on-chip core-local memory and non-cache-coherent shared memory. As a result, it is very challenging to write efficient multi-core DSP applications. The current approach to program multi-core DSPs is based on proprietary vendor SDKs, which only provides low-level, non-portable primitives. While it is acceptable to write coarse-grained task level parallel code with these SDKs, it is very tedious and error prone to write fine-grained data parallel code with them. We believe it is desired to have a high-level and portable parallel programming model for multi-core DSPs. In this paper, we propose Open MDSP, an extension of Open MP designed for multi-core DSPs. The goal of Open MDSP is to fill the gap between Open MP memory model and the memory hierarchy of multi-core DSPs. We propose three class of directives in Open MDSP: (1) data placement directives allow programmers to control the placement of global variables conveniently, (2) distributed array directives divide whole array into sections and promote them into core-local memory to improve performance, and (3) stream access directives promote big array into core-local memory section by section during a parallel loop's processing. We implement the compiler and runtime system for Open MDSP on Free Scale MSC8156. Benchmarking result shows that seven out of nine benchmarks achieve a speedup of more than 5 with 6 threads.
Jiangzhou He, Guangri Chen, Zhizhong Tang, Handong Ye
PACT6