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
POST COMMENT

Comments

There are no comments yet.

Authors

page 5

page 13

page 14

page 15

05/25/2021

Execution of NVRAM Programs with Persistent Stack

Non-Volatile Random Access Memory (NVRAM) is a novel type of hardware th...
03/27/2013

Evidential Reasoning in Parallel Hierarchical Vision Programs

This paper presents an efficient adaptation and application of the Demps...
07/07/2019

Reproducible Execution of POSIX Programs with DiOS

In this paper, we describe DiOS, a lightweight model operating system wh...
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"...
11/06/2017

Enabling rootless Linux Containers in multi-user environments: the udocker tool

Containers are increasingly used as means to distribute and run Linux se...
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...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.