Abstract

Type systems as a technique to analyse or control programs have been extensively studied for functional programming languages. In particular some systems allow to extract from a typing derivation a complexity bound on the program. We explore how to extend such results to parallel complexity in the setting of the pi-calculus, considered as a communication-based model for parallel computation. Two notions of time complexity are given: the total computation time without parallelism (the work) and the computation time under maximal parallelism (the span). We define operational semantics to capture those two notions, and present two type systems from which one can extract a complexity bound on a process. The type systems are inspired both by size types and by input/output types, with additional temporal information about communications.

Highlights

  • The problem of certifying time complexity bounds for programs is a challenging question, related to the problem of statically inferring time complexity, and it has been extensively studied in the setting of sequential programming languages

  • This research area is related to implicit computational complexity, which aims at providing type systems or static criteria to characterize some complexity classes within a programming language, and which have sometimes in a second step inspired a complexity certification or inference procedure

  • Our goal is to provide an approach to analyse the time complexity of programs written in a rich language for communication-based parallel computation, allowing the representation of several synchronization features

Read more

Summary

Introduction

The problem of certifying time complexity bounds for programs is a challenging question, related to the problem of statically inferring time complexity, and it has been extensively studied in the setting of sequential programming languages. In the functional framework several rich type systems have been proposed, such that if a program can be assigned a type, one can extract from the type derivation a complexity bound for its execution on any input This research area is related to implicit computational complexity, which aims at providing type systems or static criteria to characterize some complexity classes within a programming language While the topic of complexity certification has been thoroughly investigated for sequential programs both for space and time bounds, there only c The Author(s) 2021 N.

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call