Declarative Programming Languages (DPLs) apply a process model of Horn claun es such as PARLOG[8] or a reduction model of A-calculus such as SML[7] and are) in principle, well suited to multiprocessor implemelltation....Declarative Programming Languages (DPLs) apply a process model of Horn claun es such as PARLOG[8] or a reduction model of A-calculus such as SML[7] and are) in principle, well suited to multiprocessor implemelltation. However, the performance of a parallel declarative program can be impaired by a mismatch between the parallelism available in an application and the parallelism available in the architecture. A particularly attractive solution is to automatically match the parallelism of the program to the parallelism of the target hardware as a compilation step. In this paper) we present an optimizillg compilation technique called granularity analysis which identi fies and removes excess parallelism that would degrade performance. The main steps are: an analysis of the flow of data to form an attributed call graph between function (or predicate) arguments; and an asymptotic estimation of granularity of a function (or predicate) to generate approximate grain size. Compiled procedure calls can be annotated with grain size and a task scheduler can make scheduling decisions with the classilication scheme of grains to control parallelism at runtime. The resulting granularity analysis scheme is suitable for exploiting adaptive parallelism of declarative programming languages on multiprocessors.展开更多
In this paper,we focus on the compiling implementation of parallel logic language PARLOG and functional language ML on distributed memory multiprocessors.Under the graph rewriting framework, a Heterogeneous Parallel G...In this paper,we focus on the compiling implementation of parallel logic language PARLOG and functional language ML on distributed memory multiprocessors.Under the graph rewriting framework, a Heterogeneous Parallel Graph Rewriting Execution Model(HPGREM)is presented firstly.Then based on HPGREM,a parallel abstract machine PAM/TGR is described.Furthermore,several optimizing compilation schemes for executing declarative programs on transputer array are proposed. The performance statistics on a transputer array demonstrate the effectiveness of our model,parallel ab- stract machine,optimizing compilation strategies and compiler.展开更多
Starting with some simple representative quantum programming languages, this paper lays stress on quantum computation, language paradigm, program structure, input/output, exception facility, and especially the recent ...Starting with some simple representative quantum programming languages, this paper lays stress on quantum computation, language paradigm, program structure, input/output, exception facility, and especially the recent results of the quantum computation group at Nanjing University, namely the functional quantum programming language NDQFP. All primitive functions and combining forms in NDQFP are given in the appendix.展开更多
The paper discusses the need of a high-level query language to allow analysts,geographers and,in general,non-programmers to easily cross-analyze multi-source VGI created by means of apps,crowd-sourced data from social...The paper discusses the need of a high-level query language to allow analysts,geographers and,in general,non-programmers to easily cross-analyze multi-source VGI created by means of apps,crowd-sourced data from social networks and authoritative geo-referenced data,usually represented as JSON data sets(nowadays,the de facto standard for data exported by social networks).Since an easy to use high-level language for querying and manipulating collections of possibly geo-tagged JSON objects is still unavailable,we propose a truly declarative language,named J-CO-QL,that is based on a well-defined execution model.A plug-in for a GIS permits to visualize geo-tagged data sets stored in a NoSQL database such as MongoDB;furthermore,the same plug-in can be used to write and execute J-CO-QL queries on those databases.The paper introduces the language by exemplifying its operators within a real study case,the aim of which is to understand the mobility of people in the neighborhood of Bergamo city.Cross-analysis of data about transportation networks and VGI from travelers is performed,by means of J-CO-QL language,capable to manipulate and transform,combine and join possibly geo-tagged JSON objects,in order to produce new possibly geo-tagged JSON objects satisfying users’needs.展开更多
文摘Declarative Programming Languages (DPLs) apply a process model of Horn claun es such as PARLOG[8] or a reduction model of A-calculus such as SML[7] and are) in principle, well suited to multiprocessor implemelltation. However, the performance of a parallel declarative program can be impaired by a mismatch between the parallelism available in an application and the parallelism available in the architecture. A particularly attractive solution is to automatically match the parallelism of the program to the parallelism of the target hardware as a compilation step. In this paper) we present an optimizillg compilation technique called granularity analysis which identi fies and removes excess parallelism that would degrade performance. The main steps are: an analysis of the flow of data to form an attributed call graph between function (or predicate) arguments; and an asymptotic estimation of granularity of a function (or predicate) to generate approximate grain size. Compiled procedure calls can be annotated with grain size and a task scheduler can make scheduling decisions with the classilication scheme of grains to control parallelism at runtime. The resulting granularity analysis scheme is suitable for exploiting adaptive parallelism of declarative programming languages on multiprocessors.
基金This work was partially supported by the National 863 High Technical Grant 863-306-101the National Doctoral Subject Foundation Grant 0249136.
文摘In this paper,we focus on the compiling implementation of parallel logic language PARLOG and functional language ML on distributed memory multiprocessors.Under the graph rewriting framework, a Heterogeneous Parallel Graph Rewriting Execution Model(HPGREM)is presented firstly.Then based on HPGREM,a parallel abstract machine PAM/TGR is described.Furthermore,several optimizing compilation schemes for executing declarative programs on transputer array are proposed. The performance statistics on a transputer array demonstrate the effectiveness of our model,parallel ab- stract machine,optimizing compilation strategies and compiler.
基金the National Natural Science Foundation of China (Grant No. 60721002)
文摘Starting with some simple representative quantum programming languages, this paper lays stress on quantum computation, language paradigm, program structure, input/output, exception facility, and especially the recent results of the quantum computation group at Nanjing University, namely the functional quantum programming language NDQFP. All primitive functions and combining forms in NDQFP are given in the appendix.
文摘The paper discusses the need of a high-level query language to allow analysts,geographers and,in general,non-programmers to easily cross-analyze multi-source VGI created by means of apps,crowd-sourced data from social networks and authoritative geo-referenced data,usually represented as JSON data sets(nowadays,the de facto standard for data exported by social networks).Since an easy to use high-level language for querying and manipulating collections of possibly geo-tagged JSON objects is still unavailable,we propose a truly declarative language,named J-CO-QL,that is based on a well-defined execution model.A plug-in for a GIS permits to visualize geo-tagged data sets stored in a NoSQL database such as MongoDB;furthermore,the same plug-in can be used to write and execute J-CO-QL queries on those databases.The paper introduces the language by exemplifying its operators within a real study case,the aim of which is to understand the mobility of people in the neighborhood of Bergamo city.Cross-analysis of data about transportation networks and VGI from travelers is performed,by means of J-CO-QL language,capable to manipulate and transform,combine and join possibly geo-tagged JSON objects,in order to produce new possibly geo-tagged JSON objects satisfying users’needs.