7 research outputs found

    Prolog, Mercury and the termination problem

    Get PDF
    This paper shortly introduces the two logic programming languages Prolog and Mercury. On this background we introduce the problem of analysing termination of programs. Then we present Mercury's termination analyser, that the authors of the language incorporated into its compiler. We will also discuss the proposition based on the same method analyser for Prolog's predicates

    Speculative execution plan for multiple query execution systems

    Get PDF
    There are different levels at which parallelism can be introduced to the database system. Starting from data partitioning (intra-operator parallelism) up to parallelism of operation (inter-operator parallelism) that depends on a query granularity. The paper presents the parallelisation method based on speculative execution for the database systems which are expected to give answers to complex queries coming from different sources as soon as possible. Taking under consideration W of upcoming queries waiting for execution, the execution plan for the first query should be developed. This plan should give the largest benefit also for W-1 of the consecutive queries. Thus, in parallel to the first query, some excessive computations can be executed, which in further steps would reduce the execution time of the consecutive queries. The paper presents possible risks and benefits are using this method and also analyses of possible execution time reduction for different models of speculative parallelization [1]

    POSIX threads parallelization for example of Particle-In-Cell density calculations in plasma computer simulations

    Get PDF
    The TRQR program [1-4] simulates trajectories of charged particles (electrons or ions) in the electromagnetic field. TRQR is based on the Particle-In-Cell method whose basic guideline is the use of computational particles (called macro particles) that represent a large number of real particles of the same kind moving in the same direction. The program calculates particles charge density distribution and potential distribution for chosen ion sources, analyses particles behaviour in the electromagnetic field, describes the process of beams from the source extraction. A number of factors influences simulation results. In order to improve efficiency the program has been parallelized. This paper presents the process of converting chosen parts of the TRQR program into the multi-thread version. In the first step the program was moved from Fortran 77 to C++. Then it was parallelized using the Pthread library with the standard API for C++ contained in the POSIX IEEE 1003.1c standard. Each of threads has its own stack, set of registers, program counter, individual data, local variables, state information. All threads of particular process share one address space, general signal operations, virtual memory, data, input and output. The Mutex functions were used as a synchronization mechanism. This paper presents the analysis of a particular piece of main program that implements computations of particles density distribution. The paper presents execution time dependencies for different simulation parameters such as: the number of macro particles, size of the simulation mesh and the number of used threads

    Parallelization methodology and analysis of benefits from the TRQR program with parallel computing

    Get PDF
    Benefits from parallelization of sequential TRQR application were analyzed and presented in this paper. The TRQR program based on the Particle-In-Cell method is used in simulations of particles trajectories in the electromagnetic field. To estimate the performance of parallelized program some formal and informal measures were provided. Analysis was based on three main issues. First - if and how parallel computing influenced program efficiency. Secondly, the way that system reliability increases and thirdly, how this solution improves the extent to which the available hardware computing power is used. The paper also presents the methodology that was used for code re-engineering in order to get a parallel version on the basis of its sequential version

    Speculative Query Execution in Relational Databases with Graph Modelling.

    No full text

    Speculative execution plan for multiple query execution systems

    No full text
    corecore