35 research outputs found

    Relating data—parallelism and (and—) parallelism in logic programs

    Get PDF
    Much work has been done in the ĂĄreas of and-parallelism and data parallelism in Logic Programs. Such work has proceeded to a certain extent in an independent fashion. Both types of parallelism offer advantages and disadvantages. Traditional (and-) parallel models offer generality, being able to exploit parallelism in a large class of programs (including that exploited by data parallelism techniques). Data parallelism techniques on the other hand offer increased performance for a restricted class of programs. The thesis of this paper is that these two forms of parallelism are not fundamentally different and that relating them opens the possibility of obtaining the advantages of both within the same system. Some relevant issues are discussed and solutions proposed. The discussion is illustrated through visualizations of actual parallel executions implementing the ideas proposed

    Automatic parallelization of irregular and pointer-based computations: perspectives from logic and constraint programming

    Get PDF
    Irregular computations pose some of the most interesting and challenging problems in automatic parallelization. Irregularity appears in certain kinds of numerical problems and is pervasive in symbolic applications. Such computations often use dynamic data structures which make heavy use of pointers. This complicates all the steps of a parallelizing compiler, from independence detection to task partitioning and placement. In the past decade there has been significant progress in the development of parallelizing compilers for logic programming and, more recently, constraint programming. The typical applications of these paradigms frequently involve irregular computations, which arguably makes the techniques used in these compilers potentially interesting. In this paper we introduce in a tutorial way some of the problems faced by parallelizing compilers for logic and constraint programs. These include the need for inter-procedural pointer aliasing analysis for independence detection and having to manage speculative and irregular computations through task granularity control and dynamic task allocation. We also provide pointers to some of the progress made in these ĂĄreas. In the associated talk we demĂłnstrate representatives of several generations of these parallelizing compilers

    ”Jag forskar om Kapybaran”En studie kring elevers tillvĂ€gagĂ„ngssĂ€tt och Ă€mnesval vid fri forskning i en Ă„ldersintegrerad klass i grundskolan

    No full text
    Uppsatsen tar upp frĂ„gor kring arbetet med ”forskning” som bedrivs av elever i grundskolan. Det som Ă€r fokus i denna studie Ă€r frĂ„gan hur eleverna i sin fria forskning vĂ€ljer Ă€mne och tillvĂ€gagĂ„ngssĂ€tt i sitt forskningsarbete. I studien anlĂ€ggs ett sociokulturellt perspektiv pĂ„ lĂ€rande och de resultat som framkommer analyseras framförallt genom teorier kring lĂ€rande i praktikgemenskaper. Den empiriska delen av studien har genomförts i en Ă„ldersintegrerad klass i grundskolans Ă„r F-5. Metodologiska utgĂ„ngspunkter vid fĂ€ltarbetet har i huvudsak sin grund inom etnografisk metodteori och sĂ„vĂ€l deltagande observation som olika typer av intervjuer har varit viktiga inslag i det empiriska fĂ€ltarbetet. Det övergripande resultatet i studien tyder pĂ„ att elevernas val av sĂ„ vĂ€l forskningsĂ€mne som av tillvĂ€gagĂ„ngssĂ€tt i sitt forskningsarbete Ă€r mycket rutinbetonat och variationen mycket liten. Genom det teoretiska analysrastret kan klassen ses som en praktikgemenskap dĂ€r lĂ€randet och handlandet konstitueras och bibehĂ„lls. Praktikgemenskapen socialiserar sĂ„ att sĂ€ga till likriktighet

    Data-parallel Implementation of Prolog

    No full text
    Parallel computers are rarely used to make individual programs execute faster, they are mostly used to increase throughput by running separate programs in parallel. The reason is that parallel computers are hard to program, and automatic parallelisation have proven difficult. The commercially most successful technique is loop parallelisation in Fortran. Its success builds on an elegant model for parallel execution, data-parallelism, combined with some restrictions which guarantee high performance. We have investigated how Prolog, a symbolic language based on predicate calculus, can be parallelised using the same principles: a simple model for parallel execution suitably restricted to guarantee efficient parallel execution. Two models for expressing the parallelism have been investigated: parallel recursion, based on Millroth's work on..

    Replicating data stored in NSO to an external database for offline analysis : Methods for replicating varied data sets, synchronisation, and database backend

    No full text
    There is no specific tool to copy data from NSO to an external database continuously. NSO is a system which is used to handle settings on multiple devices using one interface. By providing the option to mirror NSO to an external database, information becomes more accessible and opens ups for the possibility of analyzing historical data. This research investigates how an extension to NSO that exports data can be designed and implemented. The research was done by exploring, and comparing, different techniques to find the most suitable technology. NSO is a tool sold by Cisco, used to configure network devices. This thesis/report tests the following three different technologies: are Kicker, Subscriber, and YANG-Push. To test the hypothesis that the Kicker technology is the fastest alternative, different packages were created and tested for test instances with a different number of transactions ranging from 600 to 3000. The packages were tested with two different external databases, one simple, and one heavy alternative. The results showed that the Kicker technology was the fastest alternative out of the packages that could be fully tested. However, YANG-push was fastest for the two most minor instances but hung for all others. It was also clear that the different external databases had significant impact on the speed. The results suggest that it is possible to create a package to export data to an external database and that the Kicker technology would be the best option. The best option for the database depends on the intended use case

    Replicating data stored in NSO to an external database for offline analysis : Methods for replicating varied data sets, synchronisation, and database backend

    No full text
    There is no specific tool to copy data from NSO to an external database continuously. NSO is a system which is used to handle settings on multiple devices using one interface. By providing the option to mirror NSO to an external database, information becomes more accessible and opens ups for the possibility of analyzing historical data. This research investigates how an extension to NSO that exports data can be designed and implemented. The research was done by exploring, and comparing, different techniques to find the most suitable technology. NSO is a tool sold by Cisco, used to configure network devices. This thesis/report tests the following three different technologies: are Kicker, Subscriber, and YANG-Push. To test the hypothesis that the Kicker technology is the fastest alternative, different packages were created and tested for test instances with a different number of transactions ranging from 600 to 3000. The packages were tested with two different external databases, one simple, and one heavy alternative. The results showed that the Kicker technology was the fastest alternative out of the packages that could be fully tested. However, YANG-push was fastest for the two most minor instances but hung for all others. It was also clear that the different external databases had significant impact on the speed. The results suggest that it is possible to create a package to export data to an external database and that the Kicker technology would be the best option. The best option for the database depends on the intended use case

    A Recursion Parallel Prolog Engine

    No full text
    We present the design and implementation of a recursion parallel Prolog engine based on the Reform execution model. This is a data-parallel approach to parallelizing Prolog on MIMD machines. The implementation is based on a conventional Prolog engine, WAM. The engine has been extended to handle recursion parallel execution on a shared memory architecture. List and integer recursive predicates that are binding deterministic with respect to variables shared between recursion levels are parallelized. These restrictions make it possible to extend a WAM obtaining a low parallelization overhead, between 2% and 12% on the measured benchmarks. We compare approaches to implementation decisions and discuss potential problems in our implementation. Our parallel implementation of Prolog has been measured to execute independent AND-parallelism up to 23.15 times faster, and dependent AND-parallelism up to 22.52 times faster, on 24 processors than on one processor

    Bottleneck analysis using discrete event simulation in a make to order environment

    No full text
    NĂ€r ett tillverkande företag vill öka sin marknadsandel behöver de i allmĂ€nhet öka sin produktion. För att kunna göra detta pĂ„ ett kostnadseffektivt sĂ€tt Ă€r det viktigt att veta vilka faktorer som begrĂ€nsar produktionssystemet, dessa benĂ€mns ofta som flaskhalsar. Ett produktionssystem Ă€r dock inte ett statiskt system vilket innebĂ€r att flaskhalsarna i ett system inte heller Ă€r statiska. De kan flytta pĂ„ sig pĂ„ bĂ„de lĂ„ng och kort sikt.   Syftet med denna fallstudie Ă€r att undersöka flaskhalsarna i ett produktionssystem och hur dessa förflyttar sig, vilka förbĂ€ttringar som kan göras för att förbĂ€ttra flödet i produktionssystemet. Data om produktionssystemet har samlats in med studier av databas, tidsstudie och samtal/intervjuer. Dessa data har nyttjats i en simuleringsmodell som framtagits med hjĂ€lp av FACTS-analyzer. Denna modell har studerats samt anvĂ€nts för att genomföra experiment. Bland annat har flermĂ„lsoptimering med SCORE metoden anvĂ€nts för att hitta systemets primĂ€ra och sekundĂ€ra flaskhalsar.   Studien visade att en station pĂ„ svetsavdelningen var den huvudsakliga flaskhalsen i produktionssystemet och att den sekundĂ€ra flaskhalsen i systemet lĂ„g i avdelningen efter, mĂ„leriavdelningen. Studien tog ocksĂ„ fram en optimerad förbĂ€ttrings plan för fabriken upp till 260 tillverkade bĂ„tar pĂ„ ett Ă„r.When a manufacturing company intends to increase their market share, they generally need to increase their production as well. In order to achieve this in a cost-effective manner they must be aware of which factors are limiting the production system, these factors are generally known as bottlenecks. A production system is however not a static system, this means that the bottlenecks won’t be static either. They can move both in the long term and short term.   The aim of this case study is to examine the bottlenecks in a system and their movement. As well as which improvements could be applied in order to improve the flow in the production system. Data concerning the production system has been collected through studies of internal databases, time studies and interviews. This data has been used in a simulation which has been constructed with FACTS-analyzer. The model has been studied and used for experimentation, for example, multigoal-optimization with the SCORE-method, which has been used in order to find the primary and secondary bottlenecks of the system.   The study shows that a station in the welding department was the main bottleneck in the productions system and the secondary bottleneck is in the department after, the paint shop. The study also found an optimized improvement plan for the factory up to 260 boats produced each yea

    Bottleneck analysis using discrete event simulation in a make to order environment

    No full text
    NĂ€r ett tillverkande företag vill öka sin marknadsandel behöver de i allmĂ€nhet öka sin produktion. För att kunna göra detta pĂ„ ett kostnadseffektivt sĂ€tt Ă€r det viktigt att veta vilka faktorer som begrĂ€nsar produktionssystemet, dessa benĂ€mns ofta som flaskhalsar. Ett produktionssystem Ă€r dock inte ett statiskt system vilket innebĂ€r att flaskhalsarna i ett system inte heller Ă€r statiska. De kan flytta pĂ„ sig pĂ„ bĂ„de lĂ„ng och kort sikt.   Syftet med denna fallstudie Ă€r att undersöka flaskhalsarna i ett produktionssystem och hur dessa förflyttar sig, vilka förbĂ€ttringar som kan göras för att förbĂ€ttra flödet i produktionssystemet. Data om produktionssystemet har samlats in med studier av databas, tidsstudie och samtal/intervjuer. Dessa data har nyttjats i en simuleringsmodell som framtagits med hjĂ€lp av FACTS-analyzer. Denna modell har studerats samt anvĂ€nts för att genomföra experiment. Bland annat har flermĂ„lsoptimering med SCORE metoden anvĂ€nts för att hitta systemets primĂ€ra och sekundĂ€ra flaskhalsar.   Studien visade att en station pĂ„ svetsavdelningen var den huvudsakliga flaskhalsen i produktionssystemet och att den sekundĂ€ra flaskhalsen i systemet lĂ„g i avdelningen efter, mĂ„leriavdelningen. Studien tog ocksĂ„ fram en optimerad förbĂ€ttrings plan för fabriken upp till 260 tillverkade bĂ„tar pĂ„ ett Ă„r.When a manufacturing company intends to increase their market share, they generally need to increase their production as well. In order to achieve this in a cost-effective manner they must be aware of which factors are limiting the production system, these factors are generally known as bottlenecks. A production system is however not a static system, this means that the bottlenecks won’t be static either. They can move both in the long term and short term.   The aim of this case study is to examine the bottlenecks in a system and their movement. As well as which improvements could be applied in order to improve the flow in the production system. Data concerning the production system has been collected through studies of internal databases, time studies and interviews. This data has been used in a simulation which has been constructed with FACTS-analyzer. The model has been studied and used for experimentation, for example, multigoal-optimization with the SCORE-method, which has been used in order to find the primary and secondary bottlenecks of the system.   The study shows that a station in the welding department was the main bottleneck in the productions system and the secondary bottleneck is in the department after, the paint shop. The study also found an optimized improvement plan for the factory up to 260 boats produced each yea
    corecore