Beyond Profiling: Scaling Profiling Data Usage to Multiple Applications

11/05/2017
by   Chris Quackenbush, et al.
0

Profiling techniques are used extensively at different parts of the computing stack to achieve many goals. One major goal is to make a piece of software execute more efficiently on a specific hardware platform, where efficiency spans criteria such as power, performance, resource requirements, etc. Researchers, both in academia and industry, have introduced many techniques to gather, and make use of, profiling data. However, one thing remains unchanged: making application A run more efficiently on machine 1. In this paper, we extend this criteria by asking: can profiling information of application A on machine 1 be used to make application B run more efficiently on machine 1? If so, then this means as machine 1 continues to execute more applications, it becomes better and more efficient. We present a generalized method for using profiling information gathered from the execution of programs from a limited corpus of applications to improve the performance of software from outside our corpus. As a proof of concept, we apply our technique to the specific problem of selecting the most efficient last-level-cache with which to execute an application. We were able to turn off an average of 19 blocks for selected programs from PARSEC benchmark suite and only saw an average 2.8

READ FULL TEXT

page 5

page 13

page 14

page 15

research
05/25/2021

Execution of NVRAM Programs with Persistent Stack

Non-Volatile Random Access Memory (NVRAM) is a novel type of hardware th...
research
07/07/2019

Reproducible Execution of POSIX Programs with DiOS

In this paper, we describe DiOS, a lightweight model operating system wh...
research
03/27/2013

Evidential Reasoning in Parallel Hierarchical Vision Programs

This paper presents an efficient adaptation and application of the Demps...
research
12/17/2020

FantastIC4: A Hardware-Software Co-Design Approach for Efficiently Running 4bit-Compact Multilayer Perceptrons

With the growing demand for deploying deep learning models to the "edge"...
research
03/11/2021

Data Collection and Utilization Framework for Edge AI Applications

As data being produced by IoT applications continues to explode, there i...
research
06/02/2021

Controlled Update of Software Components using Concurrent Exection of Patched and Unpatched Versions

Software patching is a common method of removing vulnerabilities in soft...

Please sign up or login with your details

Forgot password? Click here to reset