We describe the mechanization of recent examples of compositional reasoning, due to Charpentier and Chandy [4]. The examples illustrate a new theory for composition proposed by Chandy and Sanders [2, 3], based on the ...
详细信息
One of the main discoveries in the seventies was that the concept of a generating extension covers a very wide class of apparently different program generators. program specialization, or partial evaluation, is powerf...
详细信息
One of the main discoveries in the seventies was that the concept of a generating extension covers a very wide class of apparently different program generators. program specialization, or partial evaluation, is powerful because it provides uniform techniques for the automatic implementation of generating extensions from ordinary programs. The Futamura projections stand as the cornerstone of the development of program specialization. This paper takes the idea of the Futamura projections further. Three degeneration projections are formulated which tell us how to achieve the reverse goal by program composition, namely turning a generating extension into an ordinary program. The fact that program composition can invert the effect of program specialization shows that these projections are dual in a sense. The degeneration projections complete a missing link between programs and generating extensions and allow for novel applications of program transformation.
The importance of large-scale data analysis has shown a recent increase in a wide variety of areas, such as natural language processing, sensor data analysis, and scientific computing. Such an analysis application typ...
详细信息
ISBN:
(纸本)9781509024537
The importance of large-scale data analysis has shown a recent increase in a wide variety of areas, such as natural language processing, sensor data analysis, and scientific computing. Such an analysis application typically reuses existing programs as components and is often required to continuously process new data with low latency while processing large-scale data on distributed computation nodes. However, existing frameworks for combining programs into a parallel data analysis pipeline (e.g., workflow) are plagued by the following issues: (1) Most frameworks are oriented toward high-throughput batch processing, which leads to high latency. (2) A specific language is often imposed for the composition and/or such a specific structure as a simple unidirectional dataflow among constituting tasks. (3) A program used as a component often takes a long time to start up due to the heavy load at initialization, which is referred to as the startup overhead. Our solution to these problems is a remote procedure call (RPC)-based composition, which is achieved by our middleware Rapid Service Connector (RaSC). RaSC can easily wrap an ordinary program and make it accessible as an RPC service, called a RaSC service. Using such component programs as RaSC services enables us to integrate them into one program with low latency without being restricted to a specific workflow language or dataflow structure. In addition, a RaSC service masks the startup overhead of a component program by keeping the processes of the component program alive across RPC requests. We also proposed architecture that automatically manages the number of processes to maximize the throughput. The experimental results showed that our approach excels in overall throughput as well as latency, despite its RPC overhead. We also showed that our approach can adapt to runtime changes in the throughput requirements.
Languages and tools currently available for the development of parallel applications are difficult to learn and use. The Standard Template Adaptive Parallel Library (STAPL) is being developed to make it easier for pro...
详细信息
Languages and tools currently available for the development of parallel applications are difficult to learn and use. The Standard Template Adaptive Parallel Library (STAPL) is being developed to make it easier for programmers to implement a parallel
application.
STAPL is a parallel programming library for C++ that adopts the
generic programming philosophy of the C++ Standard Template Library. STAPL provides collections of parallel algorithms (pAlgorithms) and containers (pContainers) that allow a developer to write their application without reimplementing the algorithms and data structures commonly used in parallel computing. pViews in STAPL are abstract data types that provide generic data access operations independently of the type of pContainer used to store the data.
Algorithms and applications have a formal, high level representation
in STAPL. A computation in STAPL is represented as a parallel task graph, which we call a PARAGRAPH. A PARAGRAPH contains a representation of the algorithm’s input data, the operations that are used to transform individual data elements, and the ordering between the application of operations that transform the same data element. Just as programs are the result of a composition of algorithms, STAPL programs are the result of a composition of PARAGRAPHs.
This dissertation develops the PARAGRAPH program representation and its compositional methods. PARAGRAPHs improve the developer’s difficult situation by simplifying what she must specify when writing a parallel algorithm.
The performance of the PARAGRAPH is evaluated using parallel generic
algorithms, benchmarks from the NAS suite, and a nuclear particle transport application that has been written using STAPL. Our experiments were performed on Cray XT4 and Cray XE6 massively parallel
systems and an IBM Power5 cluster, and show that scalable performance
beyond 16,000 processors is possible using the PARAGRAPH.
Purpose of ReviewRecent scholarship has advocated the need for more detailed analysis of key components within sexual offender treatment programs that contribute to successful outcomes;and importantly to delineate ...
详细信息
Purpose of ReviewRecent scholarship has advocated the need for more detailed analysis of key components within sexual offender treatment programs that contribute to successful outcomes;and importantly to delineate 'what works best, for whom.' The present review interrogates recent scholarship on treatment duration and dosage, program composition and sequencing, to advance critical discussion on 'for whom' treatment works *** FindingsAlthough we now know more about what key program components are associated with better outcomes overall, observed differences at an individual level reemphasize the importance of attending to specific responsivity factors in *** the specific responsivity principle demands more tailored methods to program design and implementation. However, implementing nuanced programming within 'real-world' correctional settings poses significant challenges. Therefore, we call to action the adoption of an implementation science lens in future research, to optimize translation of research knowledge on 'what works, and for whom' into practice.
A regeneration scheme is presented which shows how to change the computation staging of a generating extension by a two-level metasystem structure using program specialization and program composition. From the results...
详细信息
A regeneration scheme is presented which shows how to change the computation staging of a generating extension by a two-level metasystem structure using program specialization and program composition. From the results described in this paper we can see that program generation and program degeneration are two extremes of the same transformation dimension;this relates several well-known program transformations under a general scheme. (C) 1997 Elsevier Science B.V.
An adaptive program is one that changes its behavior based on the current state of its environment. This notion of adaptivity is formalized and a logic for reasoning about adaptive programs is presented. The logic inc...
详细信息
An adaptive program is one that changes its behavior based on the current state of its environment. This notion of adaptivity is formalized and a logic for reasoning about adaptive programs is presented. The logic includes several composition operators that can be used to define an adaptive program in terms of given constituent programs;programs resulting from these compositions retain the adaptive properties of their constituent programs.
The program composition approach can be fruitfully applied to combine general logic programs, that is, logic programs possibly containing negative premises. We show how the introduction of a basic set of (meta-level) ...
详细信息
The program composition approach can be fruitfully applied to combine general logic programs, that is, logic programs possibly containing negative premises. We show how the introduction of a basic set of (meta-level) composition operations over general programs increases the knowledge representation capabilities of logic programming for non-monotonic reasoning. Examples of modular programming, hierarchical reasoning, constraints and rules with exceptions will be illustrated. The semantics of programs and program compositions is defined in terms of three-valued logic by extending the three-valued semantics for logic programs proposed by Fitting. A computational interpretation of program compositions is formalised by means of an equivalence preserving syntactic transformation of arbitrary program compositions into standard general programs.
We present a logic-based programming language that features meta-level composition operations over programs. Object programs are parameterised named collections of definite clauses which may contain formulae of the fo...
详细信息
We present a logic-based programming language that features meta-level composition operations over programs. Object programs are parameterised named collections of definite clauses which may contain formulae of the form A in Pexp, where A is a standard atomic formula and Pex p is a program expression obtained by applying composition operations over named object programs. The semantics of the language is presented in two different equivalent styles. An operational, top-down semantics is given by means of inference rules, while a denotational, bottom-up semantics is given via an immediate consequence operator associated with program expressions. A meta-programming implementation of the language is also presented by transforming the operational inference rules into meta-level axioms. Several programming examples are discussed to illustrate the expressive power of the language. (C) 2001 Elsevier Science Ltd. All rights reserved.
作者:
JONES, ND1. DIKU
University of Copenhagen Universitetsparken 1 DK-2100 Copenhagen ? Denmark
This paper collects together a variety of problems in partial evaluation and mixed computation that appear to be worth solving but as yet lack solutions or (in some cases) precise formulations. The problems come large...
详细信息
This paper collects together a variety of problems in partial evaluation and mixed computation that appear to be worth solving but as yet lack solutions or (in some cases) precise formulations. The problems come largely from discussions with and notes by participants in the 1987 workshop on Partial Evaluation and Mixed Computation.
暂无评论