• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 304
  • 6
  • 5
  • 2
  • 1
  • Tagged with
  • 318
  • 318
  • 179
  • 162
  • 94
  • 86
  • 70
  • 50
  • 46
  • 42
  • 41
  • 37
  • 37
  • 33
  • 32
  • 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.
21

Reengenharia da unidade de dessulfuração de gasóleo da refinaria da Galp

Palmeirão, Ivo André Quintas January 2009 (has links)
Tese de mestrado integrado. Engenharia Electrotécnica e de Computadores (Major Automação). Faculdade de Engenharia. Universidade do Porto. 2009
22

Uso de plug-in para interações multiparticipantes confiáveis

Prevedello, Jeferson Librelotto January 2008 (has links)
Made available in DSpace on 2013-08-07T18:42:26Z (GMT). No. of bitstreams: 1 000404266-Texto+Completo-0.pdf: 1735778 bytes, checksum: d2509663d82001555e81c857677ae9f9 (MD5) Previous issue date: 2008 / Current software systems are complex. This complexity is augmented due to reliability, availability and security needs. Dependable systems are systems that work acording to their specification despite the existence of faults. In order to implement such systems, it is important to use mechanisms that cope with problems that can happen during their execution. Diverse types of defects and non-expected situations can happen in an application executing in a distributed manner. To cope with these situations or defects one should use techniques to avoid or reduce there effects. Fault tolerance is one of such techniques. Its main goal is to offer alternatives to a system to keep working according to its specification despite residual faults in the system. The complexity to achieve dependability is even greater in systems in which several activites can be happening at the same time (parallel systems). Several mechanisms that are used to develop parallel applications are described in the literature. Usually, these mechanisms are called multiparty interactions. These multiparty interactions are composed by several parties (objects or processes) that somehow come together to produce a temporary combined state and execute a joint activity. When the activity is finished they continue their own execution. However, several times the interacton among the participants can lead the systems to a situation in which all the execution has to be redone (the domino effect). To avoid such situation and to help in the handling of concurrent exceptions when several participants are working together it is possible to use, for example, the Dependable Multiparty Interactions (DMIs). This mechanism has been used in the development of several applications in different areas. Nevertheless we noticed that in all applications, DMIs were applied in a ad hoc situation, that is, they were hard coded manually. Such situation can make the development phase quite tiresome and can also be prone to the introduction of faults in the final system. This work presents a proposal of an environment for the development of dependable applications that use the DMI mechanism. This environment uses the Eclipse Plug-in Development Environment (PDE). We include to the Eclipse PDE a new plug-in whose main goal is to automatize the development of applications that use DMIs as the means for fault tolerance. This proposal intends to improve developers productivity, to reduce the number of residual faults in the code, and also to easy the understanding of DMIs components and their inter-relations. / A complexidade de sistemas de software tem aumentado devido aos novos requisitos impostos pelas aplicações modernas, tais como confiabilidade, segurança e disponibilidade. Sistemas confiáveis são sistemas que mantém seu funcionamento de acordo com sua especificação mesmo na presença de situações excepcionais. Na tentativa de implementar sistemas mais robustos e confiáveis, torna-se imprescindível a utilização de mecanismos capazes de lidar com problemas que potencialmente possam afetar seu perfeito funcionamento. Variados tipos de defeitos e situações inesperadas podem ocorrer em aplicações que rodam sobre sistemas distribuídos. Para que seja atingido um grau satisfatório de utilização destes sistemas é extremamente importante que sejam utilizadas técnicas objetivando coibir ou minimizar a existência de falhas. Tolerância a Falhas é uma técnica que tem por objetivo oferecer alternativas que permitam ao sistema manter o funcionamento conforme sua especificação, mesmo na ocorrência de situações indesejadas. A literatura descreve diversos tipos de mecanismos que auxiliam no desenvolvimento de aplicações que possuem diversas atividades acontecendo simultaneamente. Em geral, um mecanismo composto por diversos participantes (objetos ou processos) executando um conjunto de atividades paralelamente é chamado de interação multiparticipante. Em uma interação multiparticipante diversos participantes de alguma maneira "se unem" para produzir um estado combinado, intermediário e temporário e utilizam este estado para executar alguma atividade. Após a atividade executada a interação é desfeita e então cada participante prossegue sua execução. Entretanto, diversas vezes a interação entre os participantes pode levar a situações onde toda a execução tem que ser refeita (efeito dominó). Para evitar este tipo de situação e para auxiliar no tratamento de exceções concorrentes que podem ocorrer nos diversos participantes de uma interação pode-se utilizar, por exemplo, o mecanismo de interações multiparticipantes confiáveis (Dependable Multiparty Interactions - DMIs). Este mecanismo tem sido utilizado para o desenvolvimento de aplicações em diversas áreas. Todavia, percebemos que todos os estudos de casos desenvolvidos utilizando DMIs foram implementados manualmente, ou seja, sem a utilização de nenhuma ferramenta de apoio. Tal situação além de acarretar um elevado tempo de desenvolvimento também facilita à inclusão de falhas no sistema. Nesta dissertação apresentamos uma proposta de desenvolvimento de aplicações confiáveis que utilizam o mecanismo de DMIs. Utilizando o IDE Eclipse desenvolvemos uma feramenta capaz de automatizar o processo de criação de aplicações que utilizam DMIs para tolerar falhas, proporcionando aos desenvolvedores ganho de produtividade, redução da possibilidade de inserção de falhas no código, assim como facilitar a compreensão dos elementos que compõem uma DMI e a maneira como os mesmos estão relacionados.
23

Um modelo de processo de engenharia de requisitos para ambientes de desenvolvimento distribuído de software

Lopes, Leandro Teixeira January 2004 (has links)
Made available in DSpace on 2013-08-07T18:42:42Z (GMT). No. of bitstreams: 1 000384394-Texto+Completo-0.pdf: 1626133 bytes, checksum: 6baa56a8c0f7018d2283fd27f8605a0e (MD5) Previous issue date: 2004 / Crescent globalization in business environments has affected the software development market. Aiming competitive advantages as low costs, high productivity and quality in systems development, several organizations decided to distribute their development process inside or outside their countries. However, team dispersion introduces several challenges to process development. In this context, requirements engineering is one activity highly influenced by team dispersion. Requirements process, even in co-located environments, is critical. When dealing with distance among stakeholders, requirements difficulties tends to be exacerbated. It is necessary new processes, patterns and tools to reduce the impact of team dispersion in requirements engineering and address geographical dispersion, cultural differences and communication difficulties, for instance. In this sense, the objective of this master thesis is to propose a requirements engineering process model that addresses questions related to distributed software development. The main research method used was case study, conducted in a software development unit of a multinational organization located in Brazil. This research contributes by proposing a requirements engineering process adequate to distributed teams. / A crescente globalização do ambiente de negócios tem afetado diretamente o mercado de desenvolvimento de software. Em busca de vantagens competitivas como baixos custos, produtividade e qualidade na área de desenvolvimento de sistemas, diversas organizações optaram por distribuir o processo de desenvolvimento de software dentro de seu país, ou em outros países, como Índia, China e Brasil. Entretanto, os desafios apresentados pela distribuição da equipe envolvida no processo de software são significativos. Nesse contexto, a engenharia de requisitos é uma atividade influenciada pela distribuição das equipes. O processo de requisitos, mesmo em ambientes co-localizados, é crítico no desenvolvimento de software. Ao lidar com a distância entre os envolvidos, as dificuldades com requisitos tendem a se exacerbar. Para tratar questões como dispersão geográfica, diferenças culturais e dificuldades de comunicação, torna-se necessária a definição de novos processos, padrões e ferramentas, de forma a reduzir o impacto da dispersão das equipes na engenharia de requisitos. Nesse sentido, esta dissertação de mestrado tem como objetivo propor um modelo de processo de engenharia de requisitos visando tratar questões relacionadas ao desenvolvimento distribuído de software. O principal método de pesquisa utilizado foi o estudo de caso e a base empírica da pesquisa envolve uma unidade de desenvolvimento de software de uma empresa multinacional de grande porte localizada no Brasil. A pesquisa contribui no sentido de propor um modelo de processo de engenharia de requisitos adequado à realidade de equipes dispersas.
24

PSOA: um framework de práticas e padrões SOA para projetos DDS

Pereira, Marcelo Zilio January 2011 (has links)
Made available in DSpace on 2013-08-07T18:43:27Z (GMT). No. of bitstreams: 1 000434651-Texto+Completo-0.pdf: 1984002 bytes, checksum: 609516108d15d3b415c70eb2d895bd71 (MD5) Previous issue date: 2011 / Many researches have helped to establish correlations between coordination of software development activities and Software Architecture in projects with distributed teams. To better understand how architects are designing this kind of projects we present, in this research, a qualitative study on the influence of Software Architecture in Distributed Software Development (DSD). We collect information from Software Architects involved in DSD projects about the architecture. Information collected has exposed the wide adoption of Service Oriented Architectures (SOA) by companies developing distributed projects, indicating a trend towards to the use of this low coupling architectural style. More detailed data collected by follow-up interviews showed the implementation of practices and SOA design patterns. This practices and patterns were set up in a conceptual framework from which an experiment was conducted to compare the effort in developing DSD projects using the concepts of the framework with effort without using those concepts. The results of this experiment showed that using development practices in SOA can reduce the effort in developing DSD projects based on that architectural style. / Diversas pesquisas têm contribuído para estabelecer a relação entre coordenação de atividades e Arquitetura de Software em projetos com equipes distribuídas. Em um estudo qualitativo preliminar sobre a influência da Arquitetura de Software no Desenvolvimento Distribuído de Software coletou-se informações de Engenheiros de Software de empresas envolvidas em projetos de Desenvolvimento Distribuído de Software. Esse estudo expôs a larga utilização de arquiteturas orientadas a serviço (SOA), indicando uma tendência ao uso desse padrão de arquitetura de baixo acoplamento por empresas que desenvolvem seus projetos de forma distribuída. Estudos posteriores revelaram um conjunto de práticas de desenvolvimento em SOA, utilizadas por essas empresas. Esse conjunto de práticas foi organizado em um framework conceitual a partir do qual se realizou um experimento para comparar o esforço empregado no desenvolvimento de projetos DDS utilizando os conceitos desse framework, com o esforço sem a utilização desses conceitos. Os resultados do experimento mostraram que utilizar as práticas de desenvolvimento em SOA pode reduzir o esforço no desenvolvimento de projetos DDS que utilizam esse estilo arquitetural.
25

Barramento de serviços federados para integração federativa de sistemas distribuídos / Federated service bus to federative integration of distributed systems

Camelo, Josênio Candido 20 February 2008 (has links)
CAMELO, J. C. Barramento de serviços federados para integração federativa de sistemas distribuídos. 2008. 94 f. Dissertação (Mestrado em Engenharia de Teleinformática) – Centro de Tecnologia, Universidade Federal do Ceará, Fortaleza, 2008. / Submitted by Marlene Sousa (mmarlene@ufc.br) on 2016-04-04T17:25:25Z No. of bitstreams: 1 2008_dis_jccamelo.pdf: 2309479 bytes, checksum: 25586df7563729e2a4a53abe07c0ac7d (MD5) / Approved for entry into archive by Marlene Sousa(mmarlene@ufc.br) on 2016-04-06T17:30:26Z (GMT) No. of bitstreams: 1 2008_dis_jccamelo.pdf: 2309479 bytes, checksum: 25586df7563729e2a4a53abe07c0ac7d (MD5) / Made available in DSpace on 2016-04-06T17:30:26Z (GMT). No. of bitstreams: 1 2008_dis_jccamelo.pdf: 2309479 bytes, checksum: 25586df7563729e2a4a53abe07c0ac7d (MD5) Previous issue date: 2008-02-20 / This work presents the Federated Service Bus (FSB), a communication middleware based on Enterprise Service Bus (ESB) for federated systems. We do not address the classic problem of federated systems, focused mainly on authentication and security, but a growing need for heterogeneous service intercommunication. The proposed middleware makes use of internal ESBs to allow the isolation, application of policies and routing of each domain that comprises the federal system, seeking separate interests and avoid conflicts. Our proposal is modeled using coloured Petri nets, which gives it reliability of simulation and validation based on a formal mathematical model. Thus, significant gains were achieved in the implementation with the use of web services and BPEL (Business Process Execution Language). The modeling with coloured Petri nets not only validated the flow as allowed a error reduction. Finally, the FSB is embedded with SOA (Service Oriented Achitecture), EDA (Event-Driven Architecture) and NGOSS (Next Generation Operation System and Software). / Esta dissertação apresenta uma proposta de middleware de comunicação baseado em Enterprise Service Bus (ESB) para sistemas federados, isto é, formados por sistemas de diferentes organizações. Este trabalho não aborda o problema clássico de sistemas federados, cujo enfoque principal é autenticação e a segurança, mas sim uma necessidade crescente de intercomunicação de serviços heterogêneos. O middleware proposto, chamado de Federated Service Bus (FSB), faz uso de ESBs internos para permitir o isolamento, aplicação de políticas e roteamento de cada domínio que compõe o sistema federado, visando separar interesses e evitar conflitos. Nossa proposta é modelada por redes de Petri coloridas, o que lhe atribui confiabilidade de simulação e de validação com base em um modelo formal matemático. Assim, ganhos significativos foram obtidos na implementação com o uso de web services e BPEL (Business Process Execution Language). A modelagem com redes de Petri coloridas não só validou o fluxo, como o documentou em detalhes e possibilitou a diminuição no número de erros. Por fim, enquadramos o FSB em arquiteturas consolidadas com SOA (Service Oriented Achitecture), EDA (Event-Driven Architecture) e NGOSS (Next Generation Operation System and Software).
26

Um estudo empírico sobre o impacto da confiança no desempenho de projetos distribuídos de desenvolvimento de software

Gomes, Vanessa Marcos January 2013 (has links)
Made available in DSpace on 2013-11-12T11:38:26Z (GMT). No. of bitstreams: 1 000452041-Texto+Completo-0.pdf: 3003459 bytes, checksum: 392fbbb1a16b730a0deefb64d869d303 (MD5) Previous issue date: 2013 / Trust is often defined as the belief that a person will meet the positive expectations of another. The importance of trust in distributed software development has been recognized by researchers. Although several studies have discussed the subject, little is known about the impact of trust (or lack thereof) in the distributed software development project performance. In this sense, an empirical study was conducted in order to identify factors that influence trust in projects and what are the impacts of these factors on project performance indicators. This research was developed using both secondary (systematic literature review) and primary (field study and survey) research methods. The results indicate that availability, competence, experience, face-to-face communication and leadership are among the factors that positively influence performance metrics in software development projects. As a way of presenting the results of this research, we developed a preliminary theoretical model of the impact of trust in the distributed software development project performance. This model can be used by researchers as a framework to investigate the subject and by professionals to better manage and organize their distributed teams. / A confiança é muitas vezes definida como a crença de que uma pessoa irá satisfazer as expectativas positivas de outra. A importância da confiança em projetos de desenvolvimento distribuído de software tem sido reconhecida pelos pesquisadores. Embora vários estudos tenham discutido o tema, muito pouco se sabe sobre o impacto da confiança (ou falta dela) no desempenho dos projetos de desenvolvimento distribuído de software. Neste sentido, uma pesquisa empírica foi realizada com o intuito de identificar os fatores que influenciam a confiança nos projetos e quais são os impactos desses fatores sobre indicadores de desempenho do projeto. Para o desenvolvimento desta pesquisa utilizou-se métodos secundários (revisão sistemática da literatura) e primários (estudo de campo e survey) de pesquisa. Os resultados encontrados indicam que disponibilidade, competência, experiência, face-a-face, comunicação, liderança, estão entre os fatores de confiança considerados que influenciam positivamente as métricas de desempenho em projetos de desenvolvimento de software. Como forma de apresentar os resultados desta pesquisa, desenvolveu-se um modelo teórico preliminar sobre o impacto da confiança no desempenho dos projetos de desenvolvimento distribuído de software. Tal modelo pode ser utilizado por pesquisadores como um quadro de referência para investigar o assunto e por profissionais para melhor gerenciar e organizar suas equipes distribuídas.
27

Sistematização das evidências empíricas em desenvolvimento distribuído de software

Techio, Antônio Rafael da Rosa January 2014 (has links)
Made available in DSpace on 2014-10-25T01:01:28Z (GMT). No. of bitstreams: 1 000462229-Texto+Completo-0.pdf: 2509812 bytes, checksum: eb9cb98f480c81a2e0133205abf0d60e (MD5) Previous issue date: 2014 / Distributed Software Development (DSD) is a recent area and has been growing over the last few years. As a result, a quite number of research and industrial studies have been published. However, due to the large number of terms involved in this scenario, a concept is often used wrongly, making the process of searching for empirical evidence a complex task. The DSD scenarios are diverse and what works in one context might not directly apply in another. Thus it is necessary to understand how DSD related empirical findings should be reported to be useful for practitioners and researchers. Empirical research in DSD could be refined if there was a systematic way to identify the different dimensions and characteristics for which empirical evidence applies. For this reason, the goal of this dissertation is to identify the type of context information that is relevant to researchers and practitioners in studies with empirical evidence and propose a way to systematize the empirical evidence in DSD, in order to contribute, among other things, to the future development of research in the area. For the development of this research we have used both secondary (systematic mapping study) and primary (expert opinion survey) research methods. The main contribution of this research is the taxonomy to systematize the empirical evidences generated from scientific research conducted in the DSD area. / O Desenvolvimento Distribuído de Software (DDS) é recente como área de pesquisa e vem crescendo ao longo dos últimos anos. Como resultado, um grande número de pesquisas e estudos na indústria foi publicado. No entanto, devido a grande quantidade de termos envolvidos nesse cenário, muitas vezes um conceito é utilizado de forma equivocada, tornando o processo de busca por evidências empíricas uma tarefa complexa. Os cenários de DDS são diversos e o que se aplica em um contexto talvez não se aplique diretamente em outro. Dessa forma é necessário entender como os resultados empíricos em DDS podem ser relatados para ser útil para profissionais e pesquisadores desta área. A pesquisa empírica na área de DDS poderia ser refinada se houvesse uma maneira sistemática para identificar as diferentes dimensões e características para o qual se aplica a evidência empírica. Por esta razão, o objetivo desta dissertação de mestrado é identificar que tipo de informação de contexto é relevante, para pesquisadores e profissionais da indústria, em estudos com evidências empíricas e propor uma forma de sistematização das evidências empíricas em DDS, visando contribuir, entre outras coisas, com o desenvolvimento de novas pesquisas nesta área. Para o desenvolvimento desta pesquisa utilizou-se métodos secundários (revisão sistemática da literatura, do tipo mapeamento sistemático) e primários (survey com especialistas) de pesquisa. Este estudo contribui no sentido de propor uma taxonomia para sistematizar as evidências empíricas geradas a partir das pesquisas científicas conduzidas na área de DDS.
28

2DAM-WAVE: um método de avaliação para o modelo de capacidade wave

Glanzner, Rafael Audy January 2012 (has links)
Made available in DSpace on 2015-02-07T01:01:09Z (GMT). No. of bitstreams: 1 000465121-Texto+Completo-0.pdf: 3570825 bytes, checksum: 6b189527af0bba987cbc5465ab965a18 (MD5) Previous issue date: 2012 / The Global Software Development (GSD), has been used by various companies around the world. To help these companies overcome the difficulties imposed by this type of work, the WAVE capability model was proposed. However, until the conclusion of this research, it was not possible to use the WAVE effectively in the industry, since there was none assessment method for it. This research proposes an assessment method for the WAVE capability model, and it is called 2DAM-WAVE. It allows organizations that wish to implement the best practices of WAVE, find out in which capability level they are situated. To propose this method a qualitative analysis of the existent assessment methods was made, after this, the assessment method was applied in a Brazilian unit of a global organization and on an Indian unit from another organization, by conducting of two case studies. As a result of this research an assessment method for the WAVE, entitled 2DAM-WAVE, and a support tool that helps and facilitates this assessment were developed. / O Desenvolvimento Distribuído de Software (DDS), em nível global, vem sendo utilizado por diversas empresas ao redor do mundo. Para auxiliar essas empresas a superar as dificuldades impostas por esse tipo de trabalho, o modelo de capacidade WAVE foi proposto. No entanto, até a conclusão dessa pesquisa, não era possível utilizar o WAVE efetivamente na indústria, visto que ele não possuía um método de avaliação. Essa pesquisa propõe um método de avaliação para o WAVE, chamado de 2DAM-WAVE, possibilitando que as organizações, que desejam implementar as boas práticas do WAVE, descubram em que nível de capacidade se encontram. Para propor esse método foi realizada uma análise qualitativa de métodos de avaliação existentes, após isto, o resultado foi aplicado em uma unidade brasileira de uma organização global e em uma unidade indiana de outra organização global, através de dois estudos de caso. Com o resultado dessa pesquisa um método de avaliação para o WAVE, intitulado 2DAM-WAVE, e uma ferramenta de apoio para conduzir e facilitar esse processo foram desenvolvidos.
29

JFAULT: tolerância a falhas transparente utilizando reflexão e compilação dinâmica no modelo de meta-níveis

Scherer, Marcio Gustavo Gusmão January 2015 (has links)
Made available in DSpace on 2015-05-05T02:01:38Z (GMT). No. of bitstreams: 1 000467903-Texto+Completo-0.pdf: 2071415 bytes, checksum: 7b9c07b7d2604d46d4b4ea8d6c7bbfac (MD5) Previous issue date: 2015 / Fault tolerance has become an important mean to achieve high availability in computational systems. However, building fault tolerant architectures is not a trivial task. Reflection in Meta-level architectures has been used for years as a mean for implementation of nonfunctional requirements. In this way it is possible to have a clear separation of its implementation from the implementation of the business logic itself (functional requirements) in layers or levels. These levels have become known, respectively, as base-level and metalevel and are regularly used in nowadays systems’ architecture since they bring several benefits such as increased reuse and reduced complexity, furthermore, they provide better responsibilities separation among systems’ components. On the other hand, if the meta-level is a useful architecture artifice there is still the need to build the meta-level components that intend to handle fault tolerance in application’s services, the components need to be implemented and integrated to the system’s architecture, which involves some development effort and complexity. This work presents a proposal to build, automatically and in runtime, the meta-level components for fault tolerance handling in application’s services. More precisely, it intends to propose a framework – named JFault – which using reflection and dynamic compilation will leverage those requirements transparently and with minor changes in the system. The framework is implemented in Java, language that supports both reflection and dynamic compilation, but could be built in any programming language that supports such APIs. / Tolerância a falhas tornou-se um importante meio para se garantir alta disponibilidade de sistemas computacionais. No entanto, a construção de arquiteturas tolerantes a falhas não é uma tarefa trivial. Reflexão em arquiteturas de meta-nível tem sido usada há anos como um meio para implementação de requisitos não-funcionais. Dessa forma é possível ter uma separação clara e em níveis entre a implementação da lógica de negócios do sistema (requisitos funcionais) e as relacionadas ao uso da aplicação em termos de desempenho, usabilidade, segurança, disponibilidade, etc (não funcionais). Estes níveis se tornaram conhecidos na literatura, respectivamente, como nível-base e meta-nível e são frequentemente utilizados em sistemas hoje em dia visto que trazem vários benefícios como aumento de reuso de código e redução de acoplamento entre os elementos da arquitetura, além de trazer uma melhor divisão de responsabilidades entre os componentes do sistema. Por outro lado, se as arquiteturas de meta-nível se tornaram um artifício útil, existe a necessidade de se implementar os componentes de meta-nível responsáveis pela criação de serviços tolerantes a falhas, o que envolve esforço de desenvolvimento, adaptações no sistema e geralmente adiciona certa complexidade à arquitetura. Este trabalho apresenta uma proposta de construir, de forma automática e em tempo de execução, os componentes de meta-nível para tolerância a falhas em serviços de aplicações. Mais precisamente, pretende propor um framework – chamado JFault - que usando reflexão e compilação dinâmica se propõe a preencher esse requisito de forma transparente e com pequenas alterações no sistema. O framework é implementado em Java, linguagem que suporta tanto reflexão como compilação dinâmica, mas poderia ser construído em qualquer linguagem de programação que suporta tais APIs.
30

Alocação de tarefas paralelas comunicantes em ambientes distribuídos heterogêneos

Santana, Marcelo Nardelli Pinto January 2006 (has links)
Dissertação (mestrado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2006. / Submitted by samara castro (sammy_roberta7@hotmail.com) on 2009-11-04T15:46:48Z No. of bitstreams: 1 2006_Marcelo Nardelli Pinto Santana.pdf: 1928461 bytes, checksum: e393ea85d58701c1e89e8ed754ce0caf (MD5) / Approved for entry into archive by Guimaraes Jacqueline(jacqueline.guimaraes@bce.unb.br) on 2009-11-15T19:38:34Z (GMT) No. of bitstreams: 1 2006_Marcelo Nardelli Pinto Santana.pdf: 1928461 bytes, checksum: e393ea85d58701c1e89e8ed754ce0caf (MD5) / Made available in DSpace on 2009-11-15T19:38:34Z (GMT). No. of bitstreams: 1 2006_Marcelo Nardelli Pinto Santana.pdf: 1928461 bytes, checksum: e393ea85d58701c1e89e8ed754ce0caf (MD5) Previous issue date: 2006 / Sistemas distribuídos têm sido cada vez mais utilizados na resolução de problemas que demandam grande quantidade de tempo de processamento, por permitirem a utilização simultânea de vários recursos computacionais. Diversas máquinas com arquiteturas distribuídas foram propostas ao longo dos anos. Entre essas arquiteturas, estão os clusters de computadores, que são sistemas distribuídos formados por estações de trabalho interligadas e que podem atingir um bom desempenho a um custo relativamente baixo. Entretanto, para que a utilização de tais sistemas seja proveitosa, é necessário que a utilização dos recursos disponíveis seja feita de maneira a permitir a otimização de algum critério. A alocação de tarefas em um sistema distribuído visa determinar como serão utilizados os processadores do sistema de modo a otimizar um critério, que grande parte das vezes é o tempo de execução de uma aplicação. Diversas abordagens já foram propostas para o problema de alocação de tarefas, que é um problema NP-Completo, incluindo algoritmos heurísticos e estratégias específicas para determinadas aplicações. Uma aplicação para qual existem diversas implementações em sistemas distribuídos é a comparação de seqüências biológicas, uma operação básica da biologia computacional que visa determinar o grau de similaridade entre seqüências. Os algoritmos ótimos existentes possuem complexidade de tempo e espaço de O(n2), sendo baseados na técnica de programação dinâmica e apresentando dependências de dados do tipo wavefront. O alto custo desses algoritmos justifica a utilização de sistemas distribuídos na resolução do problema, sendo que a maioria das implementações distribuídas busca utilizar todos os processadores disponíveis no sistema distribuído, de modo a minimizar a tempo de execução. A presente dissertação propõe um framework de alocação de tarefas de aplicações de comparação de seqüências biológicas baseadas em programação dinâmica, além de quatro estratégias de alocação de tarefas. O framework e as estratégias de alocação foram implementados em um cluster de 10 máquinas. Os resultados mostram que, para seqüências relativamente pequenas, a utilização de todos os processadores disponíveis não é a opção mais vantajosa. Por isso mesmo, a utilização de políticas de alocação que levem em consideração o tamanho das seqüências e as características das máquinas disponíveis pode permitir a redução no tempo de execução da aplicação. ____________________________________________________________________________________________ ABSTRACT / Distributed systems have been widely used in the resolution of problems that demand a large amount of processing time, because they allow the simultaneous utilization of many computational resources. Many machines with a distributed architecture have been proposed during the years. Among these are computer clusters, which are distributed systems composed of interconnected workstations and that may achieve a good performance at a relatively low cost. However, in order to take advantage of distributed systems, the available resources must be used in such a way that some criteria can be optimized. Task allocation in distributed systems aims at determine how the processors available in the system are going to be used, so that a criteria, which in many cases is the execution time of an application, is optimized. Many approaches have been proposed to the task allocation problem, which is NP-Complete, including heuristic algorithms and application specific strategies. There are many proposed distributed implementations of the biological sequence comparison application, which is a basic operation in computational biology that determines the similarity degree between sequences. The optimal algorithms available have time and space complexities in O(n2) , are based in the dynamic programming technique and present data dependencies that follow the wavefront pattern. The high costs of these algorithms justifies the utilization of distributed systems. Most of the known distributed implementations try to use all available processors in the system, so that the execution time can be minimized. The present document proposes a framework for task allocation for biological sequence comparison applications based on dynamic programming, as well as four task allocation strategies. The framework and the strategies have been implemented in a 10 machine cluster. The results show that, when the sequences are relatively small, using all available processors is not the best decision. For this reason, the utilization of task allocation policies that take into account the sequences size and the machines characteristics may cause the execution time of the application to be reduced.

Page generated in 0.0299 seconds