• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 9
  • Tagged with
  • 9
  • 9
  • 9
  • 9
  • 6
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Escalonamento de tarefas imprecisas em ambiente distribuído

Oliveira, Romulo Silva de January 1997 (has links)
Sistemas computacionais de tempo real são identificados como aqueles sistemas submetidos a requisitos de natureza temporal. Nestes sistemas, os resultados devem estar corretos não somente do ponto de vista lógico, mas também devem ser gerados no momento correto. Um problema básico encontrado na construção de sistemas distribuídos de tempo real é a alocação e o escalonamento das tarefas nos recursos computacionais disponíveis. Existe uma dificuldade intrínsica em compatibilizar dois objetivos fundamentais: garantir que os resultados serão produzidos no momento desejado e dotar o sistema de flexibilidade para adaptar-se a um ambiente dinâmico e, assim, aumentar sua utilidade. Uma das técnicas existentes na literatura para resolver o problema de escalonamento tempo real é a Computação Imprecisa. Nesta técnica, cada tarefa da aplicação possui uma parte obrigatória e uma parte opcional. A parte obrigatória é capaz de gerar um resultado com a qualidade mínima, necessária para manter o sistema operando de maneira segura. A parte opcional refina este resultado, até que ele alcançe a qualidade desejada. Esta técnica procura conciliar os dois objetivos fundamentais citados antes. Entretanto, não existe na literatura um estudo amplo sobre a questão de "como resolver o problema do escalonamento quando sistemas de tempo real distribuídos são construidos a partir do conceito de Computação Imprecisa". O objetivo geral desta tese é mostrar como aplicações de tempo real, construídas a partir do conceito de Computação Imprecisa, podem ser escalonadas em ambiente distribuído. Em outras palavras, mostrar que o conceito de Computação Imprecisa pode ser adaptado para um ambiente onde tarefas executam em diferentes processadores e a comunicação entre elas é implementada através de mensagens. É mostrado que o problema proposto pode ser dividido em quatro problemas específicos. São eles: - Como garantir que as partes obrigatórias das tarefas serão concluídas antes dos respectivos deadlines, em um ambiente onde tarefas podem executar em diferentes processadores e o emprego de mensagens cria relações de precedência entre elas. - Como determinar que a execução de uma parte opcional não irá comprometer a execução das partes obrigatórias, previamente garantidas. - Como escolher quais partes opcionais devem ser executadas, na medida em que o recurso "tempo de processador disponível" não permite a execução de todas elas. - Como resolver qual tarefa executa em qual processador, de forma que todas as partes obrigatórias das tarefas possam ser garantidas e que as partes opcionais estejam distribuídas de forma que sua chance de execução seja maximizada. Nesta tese são apresentadas soluções de escalonamento para estes quatro problemas específicos. Desta forma, o texto mostra que efetivamente Computação Imprecisa pode ser usada como base para a construção de aplicações distribuídas de tempo real. / Real-time computing systems are defined as those systems subjected to timing constraints. In those systems, results must be not only logically correct but they also must be generated at the right moment. A basic problem one finds when building a distributed real time system is the allocation and scheduling of tasks on the available computing resources. There is an intrinsic difficulty in simultaneously achieving two fundamental goals: to guarantee that results are generated by the desired time and to make the system flexible enough so it can adapt to a dynamic environment and, that way, increase its own utility. The Imprecise Computation technique has been proposed in the literature as an approach to the scheduling of real-time systems. When this technique is used, each task has a mandatory part and an optional part. The mandatory part is able to generate a minimal quality result that is barely good enough to keep the system in a safe operational mode. The optional part refines the result until it achieves the desired quality level. This technique tries to conciliate the two fundamental goals mentioned above. Meanwhile, there is not in the literature a broad study on "how to solve the scheduling problem when real-time distributed systems are built based on Imprecise Computation concepts. "The overall goal of this theses is to show how real-time applications, that are built upon Imprecise Computation concepts, can be scheduled in a distributed environment. We intend to show that Imprecise Computation concepts can be adapted to an environment where tasks execute in different processors and communication among them is done by sending messages. It is shown in the text that we can split this problem in the following four specific problems: - How to guarantee that mandatory parts will be finished before or at the respective task deadline, when we consider that tasks can execute in different processors and the use of messages creates precedence relations among them. - How to know that the execution of an optional part will not jeopardize the execution of previously guaranteed mandatory parts. - How to chose which optional parts should be executed when the resource "available processor time" is not enough to execute all of them. - How to decide which task runs on which processor, in a way that all mandatory parts can be guaranteed and that optional parts are evenly spread over the system so as to maximize the chance they get actually executed. This theses presents scheduling solutions for those four specific problems. In this way, the text shows that Imprecise Computation can effectively be used as the conceptual base for the construction of distributed real-time applications.
2

Escalonamento de tarefas imprecisas em ambiente distribuído

Oliveira, Romulo Silva de January 1997 (has links)
Sistemas computacionais de tempo real são identificados como aqueles sistemas submetidos a requisitos de natureza temporal. Nestes sistemas, os resultados devem estar corretos não somente do ponto de vista lógico, mas também devem ser gerados no momento correto. Um problema básico encontrado na construção de sistemas distribuídos de tempo real é a alocação e o escalonamento das tarefas nos recursos computacionais disponíveis. Existe uma dificuldade intrínsica em compatibilizar dois objetivos fundamentais: garantir que os resultados serão produzidos no momento desejado e dotar o sistema de flexibilidade para adaptar-se a um ambiente dinâmico e, assim, aumentar sua utilidade. Uma das técnicas existentes na literatura para resolver o problema de escalonamento tempo real é a Computação Imprecisa. Nesta técnica, cada tarefa da aplicação possui uma parte obrigatória e uma parte opcional. A parte obrigatória é capaz de gerar um resultado com a qualidade mínima, necessária para manter o sistema operando de maneira segura. A parte opcional refina este resultado, até que ele alcançe a qualidade desejada. Esta técnica procura conciliar os dois objetivos fundamentais citados antes. Entretanto, não existe na literatura um estudo amplo sobre a questão de "como resolver o problema do escalonamento quando sistemas de tempo real distribuídos são construidos a partir do conceito de Computação Imprecisa". O objetivo geral desta tese é mostrar como aplicações de tempo real, construídas a partir do conceito de Computação Imprecisa, podem ser escalonadas em ambiente distribuído. Em outras palavras, mostrar que o conceito de Computação Imprecisa pode ser adaptado para um ambiente onde tarefas executam em diferentes processadores e a comunicação entre elas é implementada através de mensagens. É mostrado que o problema proposto pode ser dividido em quatro problemas específicos. São eles: - Como garantir que as partes obrigatórias das tarefas serão concluídas antes dos respectivos deadlines, em um ambiente onde tarefas podem executar em diferentes processadores e o emprego de mensagens cria relações de precedência entre elas. - Como determinar que a execução de uma parte opcional não irá comprometer a execução das partes obrigatórias, previamente garantidas. - Como escolher quais partes opcionais devem ser executadas, na medida em que o recurso "tempo de processador disponível" não permite a execução de todas elas. - Como resolver qual tarefa executa em qual processador, de forma que todas as partes obrigatórias das tarefas possam ser garantidas e que as partes opcionais estejam distribuídas de forma que sua chance de execução seja maximizada. Nesta tese são apresentadas soluções de escalonamento para estes quatro problemas específicos. Desta forma, o texto mostra que efetivamente Computação Imprecisa pode ser usada como base para a construção de aplicações distribuídas de tempo real. / Real-time computing systems are defined as those systems subjected to timing constraints. In those systems, results must be not only logically correct but they also must be generated at the right moment. A basic problem one finds when building a distributed real time system is the allocation and scheduling of tasks on the available computing resources. There is an intrinsic difficulty in simultaneously achieving two fundamental goals: to guarantee that results are generated by the desired time and to make the system flexible enough so it can adapt to a dynamic environment and, that way, increase its own utility. The Imprecise Computation technique has been proposed in the literature as an approach to the scheduling of real-time systems. When this technique is used, each task has a mandatory part and an optional part. The mandatory part is able to generate a minimal quality result that is barely good enough to keep the system in a safe operational mode. The optional part refines the result until it achieves the desired quality level. This technique tries to conciliate the two fundamental goals mentioned above. Meanwhile, there is not in the literature a broad study on "how to solve the scheduling problem when real-time distributed systems are built based on Imprecise Computation concepts. "The overall goal of this theses is to show how real-time applications, that are built upon Imprecise Computation concepts, can be scheduled in a distributed environment. We intend to show that Imprecise Computation concepts can be adapted to an environment where tasks execute in different processors and communication among them is done by sending messages. It is shown in the text that we can split this problem in the following four specific problems: - How to guarantee that mandatory parts will be finished before or at the respective task deadline, when we consider that tasks can execute in different processors and the use of messages creates precedence relations among them. - How to know that the execution of an optional part will not jeopardize the execution of previously guaranteed mandatory parts. - How to chose which optional parts should be executed when the resource "available processor time" is not enough to execute all of them. - How to decide which task runs on which processor, in a way that all mandatory parts can be guaranteed and that optional parts are evenly spread over the system so as to maximize the chance they get actually executed. This theses presents scheduling solutions for those four specific problems. In this way, the text shows that Imprecise Computation can effectively be used as the conceptual base for the construction of distributed real-time applications.
3

Escalonamento de tarefas imprecisas em ambiente distribuído

Oliveira, Romulo Silva de January 1997 (has links)
Sistemas computacionais de tempo real são identificados como aqueles sistemas submetidos a requisitos de natureza temporal. Nestes sistemas, os resultados devem estar corretos não somente do ponto de vista lógico, mas também devem ser gerados no momento correto. Um problema básico encontrado na construção de sistemas distribuídos de tempo real é a alocação e o escalonamento das tarefas nos recursos computacionais disponíveis. Existe uma dificuldade intrínsica em compatibilizar dois objetivos fundamentais: garantir que os resultados serão produzidos no momento desejado e dotar o sistema de flexibilidade para adaptar-se a um ambiente dinâmico e, assim, aumentar sua utilidade. Uma das técnicas existentes na literatura para resolver o problema de escalonamento tempo real é a Computação Imprecisa. Nesta técnica, cada tarefa da aplicação possui uma parte obrigatória e uma parte opcional. A parte obrigatória é capaz de gerar um resultado com a qualidade mínima, necessária para manter o sistema operando de maneira segura. A parte opcional refina este resultado, até que ele alcançe a qualidade desejada. Esta técnica procura conciliar os dois objetivos fundamentais citados antes. Entretanto, não existe na literatura um estudo amplo sobre a questão de "como resolver o problema do escalonamento quando sistemas de tempo real distribuídos são construidos a partir do conceito de Computação Imprecisa". O objetivo geral desta tese é mostrar como aplicações de tempo real, construídas a partir do conceito de Computação Imprecisa, podem ser escalonadas em ambiente distribuído. Em outras palavras, mostrar que o conceito de Computação Imprecisa pode ser adaptado para um ambiente onde tarefas executam em diferentes processadores e a comunicação entre elas é implementada através de mensagens. É mostrado que o problema proposto pode ser dividido em quatro problemas específicos. São eles: - Como garantir que as partes obrigatórias das tarefas serão concluídas antes dos respectivos deadlines, em um ambiente onde tarefas podem executar em diferentes processadores e o emprego de mensagens cria relações de precedência entre elas. - Como determinar que a execução de uma parte opcional não irá comprometer a execução das partes obrigatórias, previamente garantidas. - Como escolher quais partes opcionais devem ser executadas, na medida em que o recurso "tempo de processador disponível" não permite a execução de todas elas. - Como resolver qual tarefa executa em qual processador, de forma que todas as partes obrigatórias das tarefas possam ser garantidas e que as partes opcionais estejam distribuídas de forma que sua chance de execução seja maximizada. Nesta tese são apresentadas soluções de escalonamento para estes quatro problemas específicos. Desta forma, o texto mostra que efetivamente Computação Imprecisa pode ser usada como base para a construção de aplicações distribuídas de tempo real. / Real-time computing systems are defined as those systems subjected to timing constraints. In those systems, results must be not only logically correct but they also must be generated at the right moment. A basic problem one finds when building a distributed real time system is the allocation and scheduling of tasks on the available computing resources. There is an intrinsic difficulty in simultaneously achieving two fundamental goals: to guarantee that results are generated by the desired time and to make the system flexible enough so it can adapt to a dynamic environment and, that way, increase its own utility. The Imprecise Computation technique has been proposed in the literature as an approach to the scheduling of real-time systems. When this technique is used, each task has a mandatory part and an optional part. The mandatory part is able to generate a minimal quality result that is barely good enough to keep the system in a safe operational mode. The optional part refines the result until it achieves the desired quality level. This technique tries to conciliate the two fundamental goals mentioned above. Meanwhile, there is not in the literature a broad study on "how to solve the scheduling problem when real-time distributed systems are built based on Imprecise Computation concepts. "The overall goal of this theses is to show how real-time applications, that are built upon Imprecise Computation concepts, can be scheduled in a distributed environment. We intend to show that Imprecise Computation concepts can be adapted to an environment where tasks execute in different processors and communication among them is done by sending messages. It is shown in the text that we can split this problem in the following four specific problems: - How to guarantee that mandatory parts will be finished before or at the respective task deadline, when we consider that tasks can execute in different processors and the use of messages creates precedence relations among them. - How to know that the execution of an optional part will not jeopardize the execution of previously guaranteed mandatory parts. - How to chose which optional parts should be executed when the resource "available processor time" is not enough to execute all of them. - How to decide which task runs on which processor, in a way that all mandatory parts can be guaranteed and that optional parts are evenly spread over the system so as to maximize the chance they get actually executed. This theses presents scheduling solutions for those four specific problems. In this way, the text shows that Imprecise Computation can effectively be used as the conceptual base for the construction of distributed real-time applications.
4

Uma Solução de escalonamento para o DPC++

Schlemer, Elgio January 2002 (has links)
Este trabalho descreve uma implementação de um modelo de escalonamento para a linguagem de programação DPC++. Esta linguagem, desenvolvida no Instituto de Informática da UFRGS, possibilita que uma aplicação orientada a objetos seja distribuída entre vários processadores através de objetos distribuídos. Muito mais que uma simples biblioteca de comunicação, o DPC ++ torna a troca de mensagens totalmente transparente aos objetos. A integração do DPC++ com o DECK, também em desenvolvimento, trará grandes inovações ao DPC++, principalmente pelo uso de theads. O escalonador proposto para este modelo utiliza estes recursos para implantar os chamados processos espiões, que monitoram a carga de uma máquina, enviando seus resultados ao escalonador. O escalonador implementado possui, desta forma, dois módulos: objetos espiões implementados como um serviço do DECK e o escalonador propriamente dito, incluído no objeto Diretório, parte integrante do DPC++.
5

Uma Solução de escalonamento para o DPC++

Schlemer, Elgio January 2002 (has links)
Este trabalho descreve uma implementação de um modelo de escalonamento para a linguagem de programação DPC++. Esta linguagem, desenvolvida no Instituto de Informática da UFRGS, possibilita que uma aplicação orientada a objetos seja distribuída entre vários processadores através de objetos distribuídos. Muito mais que uma simples biblioteca de comunicação, o DPC ++ torna a troca de mensagens totalmente transparente aos objetos. A integração do DPC++ com o DECK, também em desenvolvimento, trará grandes inovações ao DPC++, principalmente pelo uso de theads. O escalonador proposto para este modelo utiliza estes recursos para implantar os chamados processos espiões, que monitoram a carga de uma máquina, enviando seus resultados ao escalonador. O escalonador implementado possui, desta forma, dois módulos: objetos espiões implementados como um serviço do DECK e o escalonador propriamente dito, incluído no objeto Diretório, parte integrante do DPC++.
6

Uma Solução de escalonamento para o DPC++

Schlemer, Elgio January 2002 (has links)
Este trabalho descreve uma implementação de um modelo de escalonamento para a linguagem de programação DPC++. Esta linguagem, desenvolvida no Instituto de Informática da UFRGS, possibilita que uma aplicação orientada a objetos seja distribuída entre vários processadores através de objetos distribuídos. Muito mais que uma simples biblioteca de comunicação, o DPC ++ torna a troca de mensagens totalmente transparente aos objetos. A integração do DPC++ com o DECK, também em desenvolvimento, trará grandes inovações ao DPC++, principalmente pelo uso de theads. O escalonador proposto para este modelo utiliza estes recursos para implantar os chamados processos espiões, que monitoram a carga de uma máquina, enviando seus resultados ao escalonador. O escalonador implementado possui, desta forma, dois módulos: objetos espiões implementados como um serviço do DECK e o escalonador propriamente dito, incluído no objeto Diretório, parte integrante do DPC++.
7

Exploração de paralelismo ou em uma linguagem em lógica com restrições / OR parallelism exploitation in a constraint logic language

Vargas, Patricia Kayser January 1998 (has links)
Este trabalho a dedicado ao estudo da exploração de paralelismo OU na programação em lógica com restrições em ambientes distribuídos. A programação em lógica, cuja linguagem mais significativa 6 Prolog, tem como premissa a utilização da lógica de predicados como linguagem computacional. A programação em lógica com restrições (CLP) é uma extensão da programação em lógica, onde busca-se a eficiência e a possibilidade de executar novas classes de problemas. Variáveis em CLP podem pertencer a domínios específicos como, por exemplo, reais ou booleanos. O principal conceito introduzido é a restrição. Restrição a uma equação que representa uma certa informação sobre uma variável e a sua relação com outras variáveis. o uso de restrições foi proposto para diminuir o espaço de busca na execução dos programas. Apesar de mais eficientes que a programação em lógica clássica, para algumas aplicações reais o desempenho das linguagens CLP ainda é insatisfatório. Por isso, é necessário buscar alternativas novas como a execução em paralelo. A exploração de paralelismo implícito em programas em 1ógica já demonstrou resultados promissores. Vários modelos foram propostos e implementados utilizando as duas principais fontes de paralelismo — E e OU — de forma isolada ou combinada. O objetivo principal desse trabalho é apresentar o modelo pclp(FD) de exploração de paralelismo OU multi-sequêncial para um ambiente com memória distribuída. O modelo pclp(FD) caracteriza-se pela existência de vários trabalhadores, cada um deles possuindo uma maquina abstrata completa. O escalonamento de tarefas a realizado por uma política dinâmica e distribuída. Uma tarefa em pclp(FD) equivale a um ponto de escolha e a um contexto de execução. O contexto de execução a formado por porções da pilha do exportador. Para que o importador tenha acesso ao contexto de execução utiliza-se a cópia incremental, que a uma das varias técnicas possíveis. Cada trabalhador possui a sua própria copia privada das pilhas de execução. A cópia caracteriza-se pelo envio das pilhas de execução do exportador para uma área privada do importador. A cópia incremental é uma técnica mais otimizada que verifica a existência de partes comuns entre os trabalhadores, copiando apenas as panes novas. O algoritmo de cópia incremental proposto no modelo a feito sem nenhuma centralização de informação do estado das pilhas. O projeto e implementação de um prot6tipo para esse modelo, utilizando a linguagem clp(FD), que implementa CLP sobre domínios finitos, permitirá uma analise das vantagens e desvantagens do modelo proposto. Os resultados obtidos com a análise servirão de base para trabalhos futuros, visando aprimorar a implementação e o modelo. / This work is dedicated to the study of the exploration of OR parallelism in Constraint Logic Programming for distributed environment. Logic Programming, which the most meaningful language is Prolog, has as premise the use of the logic of predicates as computational language. Constraint Logic Programming or CLP is an extension of the logic programming, where efficiency and the possibility to execute new kinds of problems are searched. A variable in CLP can belong to specific domains as, for example, Real or Boolean. The main concept introduced is the constraint. Constraint is an equation that represents a certain information over a variable and its relation with others variables. The use of constraints was proposed to decrease search space in the program execution. Although it is more efficient than classic logic programming, for some real applications, the performance of CLP languages still is unsatisfactory. So, it is necessary to search alternatives as parallel execution. The exploration of implicit parallelism in programs in logic has already demonstrated promising results. Several models have been proposed and implemented using the two main sources of parallelism - AND and OR — in an isolated or combined form. The main objective of this work is to present the pclp(FD) model of exploration of multi-sequential OR parallelism for a distributed memory environment. The pclp(FD) model is characterized for the existence of some workers, each one of them possessing a complete abstract machine. Task scheduling is executed by one dynamic and distributed policy. A task in pclp(FD) is equivalent to a choice point and an execution context. Execution context is formed by portions of the stack of the exporter. So that importer has access to the execution context, it uses incremental copy, which is one of the several possible techniques. The copy is characterized for sending execution stacks of the exporter to a private area of the importer, that is, each worker possesses its private copy of the execution stacks. The incremental copy is a more optimized technique that verifies the existence of common parts between workers, copying only the new ones. The incremental copy algorithm proposed in the model executes without centralized information of the state of the stacks. A prototype project and implementation for this model, using the language clp(FD), that implements CLP over finite domains, will allow an analysis of advantages and disadvantages of the considered model. The results gotten with the analysis will serve of base for future works, aiming to improve the implementation and the model.
8

Exploração de paralelismo ou em uma linguagem em lógica com restrições / OR parallelism exploitation in a constraint logic language

Vargas, Patricia Kayser January 1998 (has links)
Este trabalho a dedicado ao estudo da exploração de paralelismo OU na programação em lógica com restrições em ambientes distribuídos. A programação em lógica, cuja linguagem mais significativa 6 Prolog, tem como premissa a utilização da lógica de predicados como linguagem computacional. A programação em lógica com restrições (CLP) é uma extensão da programação em lógica, onde busca-se a eficiência e a possibilidade de executar novas classes de problemas. Variáveis em CLP podem pertencer a domínios específicos como, por exemplo, reais ou booleanos. O principal conceito introduzido é a restrição. Restrição a uma equação que representa uma certa informação sobre uma variável e a sua relação com outras variáveis. o uso de restrições foi proposto para diminuir o espaço de busca na execução dos programas. Apesar de mais eficientes que a programação em lógica clássica, para algumas aplicações reais o desempenho das linguagens CLP ainda é insatisfatório. Por isso, é necessário buscar alternativas novas como a execução em paralelo. A exploração de paralelismo implícito em programas em 1ógica já demonstrou resultados promissores. Vários modelos foram propostos e implementados utilizando as duas principais fontes de paralelismo — E e OU — de forma isolada ou combinada. O objetivo principal desse trabalho é apresentar o modelo pclp(FD) de exploração de paralelismo OU multi-sequêncial para um ambiente com memória distribuída. O modelo pclp(FD) caracteriza-se pela existência de vários trabalhadores, cada um deles possuindo uma maquina abstrata completa. O escalonamento de tarefas a realizado por uma política dinâmica e distribuída. Uma tarefa em pclp(FD) equivale a um ponto de escolha e a um contexto de execução. O contexto de execução a formado por porções da pilha do exportador. Para que o importador tenha acesso ao contexto de execução utiliza-se a cópia incremental, que a uma das varias técnicas possíveis. Cada trabalhador possui a sua própria copia privada das pilhas de execução. A cópia caracteriza-se pelo envio das pilhas de execução do exportador para uma área privada do importador. A cópia incremental é uma técnica mais otimizada que verifica a existência de partes comuns entre os trabalhadores, copiando apenas as panes novas. O algoritmo de cópia incremental proposto no modelo a feito sem nenhuma centralização de informação do estado das pilhas. O projeto e implementação de um prot6tipo para esse modelo, utilizando a linguagem clp(FD), que implementa CLP sobre domínios finitos, permitirá uma analise das vantagens e desvantagens do modelo proposto. Os resultados obtidos com a análise servirão de base para trabalhos futuros, visando aprimorar a implementação e o modelo. / This work is dedicated to the study of the exploration of OR parallelism in Constraint Logic Programming for distributed environment. Logic Programming, which the most meaningful language is Prolog, has as premise the use of the logic of predicates as computational language. Constraint Logic Programming or CLP is an extension of the logic programming, where efficiency and the possibility to execute new kinds of problems are searched. A variable in CLP can belong to specific domains as, for example, Real or Boolean. The main concept introduced is the constraint. Constraint is an equation that represents a certain information over a variable and its relation with others variables. The use of constraints was proposed to decrease search space in the program execution. Although it is more efficient than classic logic programming, for some real applications, the performance of CLP languages still is unsatisfactory. So, it is necessary to search alternatives as parallel execution. The exploration of implicit parallelism in programs in logic has already demonstrated promising results. Several models have been proposed and implemented using the two main sources of parallelism - AND and OR — in an isolated or combined form. The main objective of this work is to present the pclp(FD) model of exploration of multi-sequential OR parallelism for a distributed memory environment. The pclp(FD) model is characterized for the existence of some workers, each one of them possessing a complete abstract machine. Task scheduling is executed by one dynamic and distributed policy. A task in pclp(FD) is equivalent to a choice point and an execution context. Execution context is formed by portions of the stack of the exporter. So that importer has access to the execution context, it uses incremental copy, which is one of the several possible techniques. The copy is characterized for sending execution stacks of the exporter to a private area of the importer, that is, each worker possesses its private copy of the execution stacks. The incremental copy is a more optimized technique that verifies the existence of common parts between workers, copying only the new ones. The incremental copy algorithm proposed in the model executes without centralized information of the state of the stacks. A prototype project and implementation for this model, using the language clp(FD), that implements CLP over finite domains, will allow an analysis of advantages and disadvantages of the considered model. The results gotten with the analysis will serve of base for future works, aiming to improve the implementation and the model.
9

Exploração de paralelismo ou em uma linguagem em lógica com restrições / OR parallelism exploitation in a constraint logic language

Vargas, Patricia Kayser January 1998 (has links)
Este trabalho a dedicado ao estudo da exploração de paralelismo OU na programação em lógica com restrições em ambientes distribuídos. A programação em lógica, cuja linguagem mais significativa 6 Prolog, tem como premissa a utilização da lógica de predicados como linguagem computacional. A programação em lógica com restrições (CLP) é uma extensão da programação em lógica, onde busca-se a eficiência e a possibilidade de executar novas classes de problemas. Variáveis em CLP podem pertencer a domínios específicos como, por exemplo, reais ou booleanos. O principal conceito introduzido é a restrição. Restrição a uma equação que representa uma certa informação sobre uma variável e a sua relação com outras variáveis. o uso de restrições foi proposto para diminuir o espaço de busca na execução dos programas. Apesar de mais eficientes que a programação em lógica clássica, para algumas aplicações reais o desempenho das linguagens CLP ainda é insatisfatório. Por isso, é necessário buscar alternativas novas como a execução em paralelo. A exploração de paralelismo implícito em programas em 1ógica já demonstrou resultados promissores. Vários modelos foram propostos e implementados utilizando as duas principais fontes de paralelismo — E e OU — de forma isolada ou combinada. O objetivo principal desse trabalho é apresentar o modelo pclp(FD) de exploração de paralelismo OU multi-sequêncial para um ambiente com memória distribuída. O modelo pclp(FD) caracteriza-se pela existência de vários trabalhadores, cada um deles possuindo uma maquina abstrata completa. O escalonamento de tarefas a realizado por uma política dinâmica e distribuída. Uma tarefa em pclp(FD) equivale a um ponto de escolha e a um contexto de execução. O contexto de execução a formado por porções da pilha do exportador. Para que o importador tenha acesso ao contexto de execução utiliza-se a cópia incremental, que a uma das varias técnicas possíveis. Cada trabalhador possui a sua própria copia privada das pilhas de execução. A cópia caracteriza-se pelo envio das pilhas de execução do exportador para uma área privada do importador. A cópia incremental é uma técnica mais otimizada que verifica a existência de partes comuns entre os trabalhadores, copiando apenas as panes novas. O algoritmo de cópia incremental proposto no modelo a feito sem nenhuma centralização de informação do estado das pilhas. O projeto e implementação de um prot6tipo para esse modelo, utilizando a linguagem clp(FD), que implementa CLP sobre domínios finitos, permitirá uma analise das vantagens e desvantagens do modelo proposto. Os resultados obtidos com a análise servirão de base para trabalhos futuros, visando aprimorar a implementação e o modelo. / This work is dedicated to the study of the exploration of OR parallelism in Constraint Logic Programming for distributed environment. Logic Programming, which the most meaningful language is Prolog, has as premise the use of the logic of predicates as computational language. Constraint Logic Programming or CLP is an extension of the logic programming, where efficiency and the possibility to execute new kinds of problems are searched. A variable in CLP can belong to specific domains as, for example, Real or Boolean. The main concept introduced is the constraint. Constraint is an equation that represents a certain information over a variable and its relation with others variables. The use of constraints was proposed to decrease search space in the program execution. Although it is more efficient than classic logic programming, for some real applications, the performance of CLP languages still is unsatisfactory. So, it is necessary to search alternatives as parallel execution. The exploration of implicit parallelism in programs in logic has already demonstrated promising results. Several models have been proposed and implemented using the two main sources of parallelism - AND and OR — in an isolated or combined form. The main objective of this work is to present the pclp(FD) model of exploration of multi-sequential OR parallelism for a distributed memory environment. The pclp(FD) model is characterized for the existence of some workers, each one of them possessing a complete abstract machine. Task scheduling is executed by one dynamic and distributed policy. A task in pclp(FD) is equivalent to a choice point and an execution context. Execution context is formed by portions of the stack of the exporter. So that importer has access to the execution context, it uses incremental copy, which is one of the several possible techniques. The copy is characterized for sending execution stacks of the exporter to a private area of the importer, that is, each worker possesses its private copy of the execution stacks. The incremental copy is a more optimized technique that verifies the existence of common parts between workers, copying only the new ones. The incremental copy algorithm proposed in the model executes without centralized information of the state of the stacks. A prototype project and implementation for this model, using the language clp(FD), that implements CLP over finite domains, will allow an analysis of advantages and disadvantages of the considered model. The results gotten with the analysis will serve of base for future works, aiming to improve the implementation and the model.

Page generated in 0.066 seconds