As high-end computer systems present users with rapidly increasing numbers of processors, possibly also incorporating attached co-processors, programmers are increasingly challenged to express the necessary levels of ...
详细信息
ISBN:
(纸本)9781424416936
As high-end computer systems present users with rapidly increasing numbers of processors, possibly also incorporating attached co-processors, programmers are increasingly challenged to express the necessary levels of concurrency withthe dominant parallel programming model, Fortran+MPI+OpenMP (or minor variations). In this paper, we examine the languages developed under the DARPA High-Productivity Computing Systems (HPCS) program (Chapel, Fortress, and X10) as representatives of a different parallel programming model which might be more effective on emerging high-performance systems. the application used in this study is the Hartree-Fock method from quantum chemistry, which combines access to distributed data with a task-parallel algorithm and is characterized by significant irregularity in the computational tasks. We present several different implementation strategies for load balancing of the task-parallel computation, as well as distributed array operations, in each of the three languages. We conclude that the HPCS languages provide a wide variety of mechanisms for expressing parallelism, which can be combined at multiple levels, making them quite expressive for this problem.
In this paper, we present an implementation of a modular synthesizer in Haskell using Yampa. A synthesizer, be it a hardware instrument or a pure software implementation, as here, is said to be modular if it provides ...
详细信息
ISBN:
(纸本)9783540774419
In this paper, we present an implementation of a modular synthesizer in Haskell using Yampa. A synthesizer, be it a hardware instrument or a pure software implementation, as here, is said to be modular if it provides sound-generating and sound-shaping components that can be interconnected in arbitrary ways. Yampa, a Haskell-embedded implementation of Functional Reactive programming, supports flexible, purely declarative construction of hybrid systems. Since music is a hybrid continuous-time and discrete-time phenomenon, Yampa is a good fit for such applications, offering some unique possibilities compared to most languages targeting music or audio applications. through the presentation of our synthesizer application, we demonstrate this point and provide insight into the Yampa approach to programming reactive, hybrid systems. We develop the synthesizer gradually, starting with fundamental synthesizer components and ending with an application that is capable of rendering a standard MIDI file as audio with respectable performance.
Nonlinear constraint satisfaction or optimisation models need to be reduced to equivalent linear forms before they can be solved by (Integer) Linear programming solvers. A choice of linearisation methods exist. there ...
详细信息
ISBN:
(纸本)9783540774419
Nonlinear constraint satisfaction or optimisation models need to be reduced to equivalent linear forms before they can be solved by (Integer) Linear programming solvers. A choice of linearisation methods exist. there are generic linearisations and constraint-specific, user-defined linearisations. Hence a model reformulation system needs to be flexible and open to allow complex and novel linearisations to be specified. In this paper we show how the declarative model reformulation system CADMIUM can be used to effectively transform constraint problems to different linearisations, allowing easy exploration of linearisation possibilities.
Logtalk, an object oriented logic programming language, provides experimental support for multi-threading programming with selected back-end Prolog compilers. By making use of core, low-level Prolog predicates that in...
详细信息
ISBN:
(纸本)9783540774419
Logtalk, an object oriented logic programming language, provides experimental support for multi-threading programming with selected back-end Prolog compilers. By making use of core, low-level Prolog predicates that interface with operating-system native threads, Logtalk provides a high-level set of directives and predicates that allows programmers to easily take advantage of modern multi-processor and multi-core computers without worrying about the details of creating, synchronizing, or communicating withthreads. Logtalk multi-threading programming features include support for concurrent calls akin to and-parallelism and or-parallelism, non- deterministic thread goals, asynchronous calls, and predicate synchronization. the integration withthe Logtalk object-oriented features allows objects to send and receive both synchronous and asynchronous messages and to call local predicates concurrently. Logtalk multi-threading features are orthogonal to object-oriented concepts and can be useful even in the context of plain Prolog.
Towards combining rules and ontologies for the Semantic Web, nonmonotonic Description Logic Programs (dl-programs) have been proposed as a powerful formalism to couple nonmonotonic logic programming and Description Lo...
详细信息
Towards combining rules and ontologies for the Semantic Web, nonmonotonic Description Logic Programs (dl-programs) have been proposed as a powerful formalism to couple nonmonotonic logic programming and Description Logic reasoning on a clear semantic basis. In this paper, we present cq-programs, which enhance dl-programs with conjunctive queries (CQ) and union of conjunctive queries (UCQ) over Description Logics knowledge bases, as well as with disjunctive rules. the novel formalism has two advantages. First, it offers increased expressivity because it allows for (U)CQs in the bodies of the rules. the (U)CQs allow one to access unnamed individuals in the rules and they increase the expressivity of the formalism, as evident from the increase in complexity from NEXP to 2-EXP. And second, when implemented as a combination between a logic programming system and a DL-reasoner, this integration of rules and ontologies gives rise to strategies for optimizing calls to the DL-reasoner, by exploiting specific support for (U)CQs. To this end, we present equivalence preserving transformations which can be used for program rewriting, and we present respective generic rewriting algorithms. Experimental results for a cq-program prototype show that this can lead to significant performance improvements, and suggest that cq-programs and program rewriting provide a useful basis for dl- and cq-program optimization.
Abstract machines provide a certain separation between platform-dependent and platform-independent concerns in compilation. Many of the differences between architectures are encapsulated in the specific abstract machi...
详细信息
Parser combinators are higher-order functions used to build parsers as executable specifications of grammars. Some existing implementations are only able to handle limited ambiguity, some have exponential time and/or ...
详细信息
ISBN:
(纸本)9783540774419
Parser combinators are higher-order functions used to build parsers as executable specifications of grammars. Some existing implementations are only able to handle limited ambiguity, some have exponential time and/or space complexity for ambiguous input, most cannot accommodate left-recursive grammars. this paper describes combinators, implemented in Haskell, which overcome all of these limitations.
We address the tension between software generality and performance in the domain of simulations based on Monte-Carlo methods. We simultaneously achieve generality and high performance by a novel development methodolog...
详细信息
ISBN:
(纸本)9783540774419
We address the tension between software generality and performance in the domain of simulations based on Monte-Carlo methods. We simultaneously achieve generality and high performance by a novel development methodology and software architecture centred around the concept of a specialising simulator generator. Our approach combines and extends methods from functional programming, generative programming, partial evaluation, and runtime code generation. We also show how to generate parallelised simulators. We evaluated our approach by implementing a simulator for advanced forms of polymerisation kinetics. We achieved unprecedented performance, making Monte-Carlo methods practically useful in an area that was previously dominated by deterministic PDE solvers. this is of high practical relevance, as Monte-Carlo simulations can provide detailed microscopic information that cannot be obtained with deterministic solvers.
the paper presents the implementation of query execution system Qios. It serves as a lightware system for the manipulation of XML data. Qios employs the relational technology for query processing. the main aim in the ...
详细信息
ISBN:
(纸本)9789898111364
the paper presents the implementation of query execution system Qios. It serves as a lightware system for the manipulation of XML data. Qios employs the relational technology for query processing. the main aim in the implementation is to provide a querying system that is easy to use and does not require any additional knowledge about the internal representation of data. the system provides robust and simple solutions for many design problems. We aimed to simplify the internal structures of query processors rooted in the design of relational and object-relational query processors. We propose efficient internal data structures for the representation of queries during all phases of query execution. the query optimization is based on dynamic programming and uses beam search to reduce the time complexity. the data structure for storing queries provides efficient representation of queries during the optimization process and the simple means to explore plan caching. Finally, main memory indices can be created on-the-fly to support the evaluation of queries.
暂无评论