Phase-Based Profiling and Performance Prediction with Timing Approximate Simulators
0
Citation
66
Reference
10
Related Paper
Abstract:
Designing a system usually acquires lots of instincts and knowledge to harmonize the computing resources under the paradigm of application specific heterogeneous systems. This paper presents a phase-based profiling mechanism to speed up the process of learning how application behaviors perform on the hardware and vice versa. By analyzing program phases, performance information can be gathered in a way that highlights the performance of high-level tasks in an application running on different hardware settings. We evaluated our phase-based profiling framework using QEMU, employing approximate timing models and mechanisms to track functions/events in programs and operating systems of the guest system. Furthermore, by using timing simulations, it is possible to escape the confined boundaries of real-world machine based systems, and to rapidly explore the impact of hardware parameters on the system performance. In our experimental results, phase-based profiling yields useful information of the runtime behaviors and performance of a program, allowing developers to discover program bottlenecks, and predicts the performance of optimization ideas on the software and/or underlying hardware. Our results suggest that incorporating phase profiling with the timing approximate simulator helps to facilitate hardware and software co-design.Keywords:
Profiling (computer programming)
Profiling (computer programming)
User profile
Cite
Citations (10)
This report gives an overview of the most relevant organisational and
behavioural aspects regarding user profiling. It discusses not only the
most important aims of user profiling from both an organisation’s as
well as a user’s perspective, it will also discuss organisational motives
and barriers for user profiling and the most important conditions for
the success of user profiling. Finally recommendations are made and
suggestions for further research are given.
Profiling (computer programming)
Cite
Citations (6)
Profiling (computer programming)
Cite
Citations (4)
The aim in information filtering is to provide users with a personalised selection of information, based on a description of their interest profile. In some domains, users will want access to such profiles even if they are system generated. We have performed a study of the effects of combining automatic profiling with explicit user involvement. Firstly, we wanted to explore if a machine-learned profile would benefit from being based on an initial explicit user profile. Secondly, we tested if profiles that provided better filtering also were better liked by users. Finally, we tested if users could make improvements to machine-learned profiles. We found that the initial setup of a personal profile was effective, and yielded performance improvements even after feedback training. However, the study showed no correlation between users' ratings of profiles and their filtering performance, and neither did user modifications to learned profiles improve filtering performance.
Profiling (computer programming)
User profile
Cite
Citations (1)
We propose a learner profiling system that uses the multidimensional characteristic analysis of learners. For this purpose, a real-time monitoring system for learners was developed and then used to extract information of the characteristics of learners that appear in learning environments. The extracted information on the characteristics of learners is automatically constructed into personalized learner profiles through the learner profiling system. The contents of learner profiles consist of the cognitive ability of learners, the learning condition, and teacher assessment. To verify the effectiveness of the proposed study method, profiles of actual learners were constructed, with 210 elementary school students as subjects. As a result, the group that learned using the learner profiling showed a significant level of satisfaction in comparison to the group that did not use learner profiling. From this, it was demonstrated that the learner profiling system proposed in this paper could enhance learning effectiveness.
Profiling (computer programming)
Cite
Citations (10)
Application profiling is an important step in the design and optimization of embedded systems. Accurately identifying and analyzing the execution of frequently executed computational kernels is needed to effectively optimize the system implementation, at both design time and runtime. Most previous profiling approaches are software based, which can incur significant overhead and may be prohibitive or impractical for profiling embedded systems at runtime. In addition, profiling methods typically focus on profiling the execution of specific tasks executing on a single core, but do not consider accurate and holistic profiling across multiple processor cores. Directly utilizing and naively combining isolated profiles from multiple processor cores can lead to significant profile inaccuracy. In this paper, we present a hardware-based dynamic application profiler for non-intrusively and accurately profiling software applications in multicore embedded systems. The profiler provides a detailed execution profile for computational kernels and maintains profile accuracy across multiple processor cores. The hardware-based profiler achieves an average error of less than 0.5% for the percentage execution time of profiled applications.
Profiling (computer programming)
Multi-core processor
Embedded software
Cite
Citations (0)
Designing a system usually acquires lots of instincts and knowledge to harmonize the computing resources under the paradigm of application specific heterogeneous systems. This paper presents a phase-based profiling mechanism to speed up the process of learning how application behaviors perform on the hardware and vice versa. By analyzing program phases, performance information can be gathered in a way that highlights the performance of high-level tasks in an application running on different hardware settings. We evaluated our phase-based profiling framework using QEMU, employing approximate timing models and mechanisms to track functions/events in programs and operating systems of the guest system. Furthermore, by using timing simulations, it is possible to escape the confined boundaries of real-world machine based systems, and to rapidly explore the impact of hardware parameters on the system performance. In our experimental results, phase-based profiling yields useful information of the runtime behaviors and performance of a program, allowing developers to discover program bottlenecks, and predicts the performance of optimization ideas on the software and/or underlying hardware. Our results suggest that incorporating phase profiling with the timing approximate simulator helps to facilitate hardware and software co-design.
Profiling (computer programming)
Cite
Citations (0)
We advocate that simulation based on offline profiling is a promising approach to better understand and improve the complex ML systems. Our approach uses operation-level profiling and dataflow based simulation to ensure it offers a unified and automated solution for all frameworks and ML models, and is also accurate by considering the various parallelization strategies in a real system.
Profiling (computer programming)
Cite
Citations (0)
We advocate that simulation based on offline profiling is a promising approach to better understand and improve the complex ML systems. Our approach uses operation-level profiling and dataflow based simulation to ensure it offers a unified and automated solution for all frameworks and ML models, and is also accurate by considering the various parallelization strategies in a real system.
Profiling (computer programming)
Cite
Citations (0)