DeepAI AI Chat
Log In Sign Up

Towards a General Framework for Static Cost Analysis of Parallel Logic Programs

07/31/2019
by   Maximiliano Klemen, et al.
IMDEA Networks Institute
0

The estimation and control of resource usage is now an important challenge in an increasing number of computing systems. In particular, requirements on timing and energy arise in a wide variety of applications such as internet of things, cloud computing, health, transportation, and robots. At the same time, parallel computing, with (heterogeneous) multi-core platforms in particular, has become the dominant paradigm in computer architecture. Predicting resource usage on such platforms poses a difficult challenge. Most work on static resource analysis has focused on sequential programs, and relatively little progress has been made on the analysis of parallel programs, or more specifically on parallel logic programs. We propose a novel, general, and flexible framework for setting up cost equations/relations which can be instantiated for performing resource usage analysis of parallel logic programs for a wide range of resources, platforms and execution models. The analysis estimates both lower and upper bounds on the resource usage of a parallel program (without executing it) as functions on input data sizes. In addition, it also infers other meaningful information to better exploit and assess the potential and actual parallelism of a system. We develop a method for solving cost relations involving the max function that arise in the analysis of parallel programs. Finally, we instantiate our general framework for the analysis of logic programs with Independent And-Parallelism, report on an implementation within the CiaoPP system, and provide some experimental results. To our knowledge, this is the first approach to the cost analysis of parallel logic programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

07/25/2022

Parallelism Resource of Numerical Algorithms. Version 1

The paper is devoted to an approach to solving a problem of the efficien...
06/02/2017

Capri: A Control System for Approximate Programs

Approximate computing trades off accuracy of results for resources such ...
10/28/2020

Benchmarking Parallelism in FaaS Platforms

Serverless computing has seen a myriad of work exploring its potential. ...
09/13/2018

Do Your Cores Play Nicely? A Portable Framework for Multi-core Interference Tuning and Analysis

Multi-core architectures can be leveraged to allow independent processes...
09/09/2021

An Effective Parallel Program Debugging Approach Based on Timing Annotation

We propose an effective parallel program debugging approach based on the...
11/22/2021

Parallel Logic Programming: A Sequel

Multi-core and highly-connected architectures have become ubiquitous, an...