Font Size: a A A

A Kind Of Parallel Programming Languages Based On Pi-calculus

Posted on:2016-07-16Degree:MasterType:Thesis
Country:ChinaCandidate:J Q WangFull Text:PDF
GTID:2298330467495726Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the increasingly improvement of chip integration technology, the physicallimitation of hardware and the fact that the size of chip component cannot be indefinitelyreduced, the current developing principle of computer chips has become incompatible withMoore’s Law. Before now, the fact that the cost of transistor keeps downsizing based onMoore’s Law, together with the excellent performance in engineering made by servercompanies make it possible to improve the performance of application by simply updatinghardware. If the parallel multi-core hardware sources couldn’t be fully explored in future, thecalculating performance will stop at slightly higher level than the current. Therefore, aprogramming paradigm which can effectively make use of multi-core calculating sources isneeded. This paper proposes a parallel programming language PCL.There are many theories about parallel like CSP, Actor and so on, but Pi-calculus theoryhas more advantage in studying mobile parallel. Besides, it is easier to use Pi-calculus tomake formal analysis. Pi-calculus theory, proposed by Turing Award winner Robin Milner in1992, is a calculus paradigm modeling and analyzing mobile parallel system. Pi-calculustheory has complete theoretical system and grand impressiveness, on which PCL is based.Therefore, PCL is feasible to solve the issue of parallel and to program concurrently.Considering the fact that the traditional programming language fails to use multicoreprocessors to calculate conveniently and effectively, this paper proposes a kind of parallelprogramming language PCL. In light of the concept of channel and process, PCL can be usedto program. When defining parallel process communication, PCL borrowed from thesynchronous communication semantics of Pi-calculus. The main task of this paper is to definePCL and its runtime environment.I. The contexts of PCL language model as follows.1. Defining the basic language component of PCL, in which Sequence calculatingcomponents derive from traditional programming language; as to parallel calculatingcomponents, they come from Pi-calculus including process and channel.2. Defining syntactic of process, that is expounding on how to construct a process.3. Describing the context of process and propose the calculating rules of context recursively.4. Defining the synchronous communication semantics of PCL processes, and listing the rules of processes executing.II. The contexts of PCL runtime environment as follows1. Proposing the main architecture of PCL runtime environment, and Using the core datastructure to describe the architecture.2. Defining schedule algorithm by way of synchronous communication semantics ofPi-calculus.3. Defining garbage collection algorithm is defined based on reference count, including thechannels and processes.After all that, the specific methods to realize them are discussed in detail. Regularexpression is used to define the unit of morphology in PCL and BNF paradigm is used todefine abstract syntax tree of process recursively. In the end, PCL program case is used toillustrate the whole analyzing process.In conclusion, the language model proposed in this paper is feasible and a further stepcloser to the practical application of parallel theory. But there remain some issues like theefficiency of synchronous semantics which is to be explored later on.
Keywords/Search Tags:Pi-calculus, Programming Language, Parallel Programming, Multicore Processors
PDF Full Text Request
Related items