230 resultados para Sincronização
Resumo:
Uma forma suplementar de apoio ao estudo do aluno, numa disciplina, será o de permitir que os alunos testem os conceitos apreendidos durante o seu processo de estudo pessoal através de jogos didácticos. Estes jogos, realizados individualmente ou em grupo, apresentam um conjunto de perguntas de desafio onde cada interveniente irá seleccionar uma resposta. Esta forma de realização de um questionário aparece aliada à componente lúdica de um jogo que possibilita a aprendizagem progressiva e incremental com o valor acrescentado de permitir aos intervenientes a discussão sobre o tópico da pergunta, sobre as respostas e sobre outros aspectos relacionados com a temática consolidando o seu conhecimento. O desenvolvimento de jogos de uma forma distribuída apresenta alguns desafios, nomeadamente, a sincronização entre os diversos intervenientes e a ultrapassagem de dificuldades inseridas por firewalls e NATs. Estes problemas devem ser resolvidos por uma camada de comunicação que suporte o desenvolvimento de aplicações distribuídas. O objectivo principal deste trabalho foi a criação desse sistema de comunicações baseado na tecnologia .NET, que permite interligar vários utilizadores localizados em redes privadas ou pública. A infra-estrutura possibilita a constituição de diversos grupos de participantes sendo possível o envio de mensagens ponto a ponto e a difusão de mensagens para o grupo. A avaliação da infra-estrutura de comunicações foi realizada através de uma aplicação de apoio ao estudo dos alunos por meio de jogos didácticos, mostrando que os problemas enunciados foram resolvidos.
Resumo:
O desenvolvimento actual de aplicações paralelas com processamento intensivo (HPC - High Performance Computing) para alojamento em computadores organizados em Cluster baseia-se muito no modelo de passagem de mensagens, do qual é de realçar os esforços de definição de standards, por exemplo, MPI - Message - Passing Interface. Por outro lado, com a generalização do paradigma de programação orientado aos objectos para ambientes distribuídos (Java RMI, .NET Remoting), existe a possibilidade de considerar que a execução de uma aplicação, de processamento paralelo e intensivo, pode ser decomposta em vários fluxos de execução paralela, em que cada fluxo é constituído por uma ou mais tarefas executadas no contexto de objectos distribuídos. Normalmente, em ambientes baseados em objectos distribuídos, a especificação, controlo e sincronização dos vários fluxos de execução paralela, é realizada de forma explicita e codificada num programa principal (hard-coded), dificultando possíveis e necessárias modificações posteriores. No entanto, existem, neste contexto, trabalhos que propõem uma abordagem de decomposição, seguindo o paradigma de workflow com interacções entre as tarefas por, entre outras, data-flow, control-flow, finite - state - machine. Este trabalho consistiu em propor e explorar um modelo de execução, sincronização e controlo de múltiplas tarefas, que permita de forma flexível desenhar aplicações de processamento intensivo, tirando partido da execução paralela de tarefas em diferentes máquinas. O modelo proposto e consequente implementação, num protótipo experimental, permite: especificar aplicações usando fluxos de execução; submeter fluxos para execução e controlar e monitorizar a execução desses fluxos. As tarefas envolvidas nos fluxos de execução podem executar-se num conjunto de recursos distribuídos. As principais características a realçar no modelo proposto, são a expansibilidade e o desacoplamento entre as diferentes componentes envolvidas na execução dos fluxos de execução. São ainda descritos casos de teste que permitiram validar o modelo e o protótipo implementado. Tendo consciência da necessidade de continuar no futuro esta linha de investigação, este trabalho é um contributo para demonstrar que o paradigma de workflow é adequado para expressar e executar, de forma paralela e distribuída, aplicações complexas de processamento intensivo.
Resumo:
Mestrado em Radiações Aplicadas às Tecnologias da Saúde. Especialização: Ressonância Magnética.
Resumo:
A crescente complexidade dos sistemas electrónicos associada a um desenvolvimento nas tecnologias de encapsulamento levou à miniaturização dos circuitos integrados, provocando dificuldades e limitações no diagnóstico e detecção de falhas, diminuindo drasticamente a aplicabilidade dos equipamentos ICT. Como forma de lidar com este problema surgiu a infra-estrutura Boundary Scan descrita na norma IEEE1149.1 “Test Access Port and Boundary-Scan Architecture”, aprovada em 1990. Sendo esta solução tecnicamente viável e interessante economicamente para o diagnóstico de defeitos, efectua também outras aplicações. O SVF surgiu do desejo de incutir e fazer com que os fornecedores independentes incluíssem a norma IEEE 1149.1, é desenvolvido num formato ASCII, com o objectivo de enviar sinais, aguardar pela sua resposta, segundo a máscara de dados baseada na norma IEEE1149.1. Actualmente a incorporação do Boundary Scan nos circuitos integrados está em grande expansão e consequentemente usufrui de uma forte implementação no mercado. Neste contexto o objectivo da dissertação é o desenvolvimento de um controlador boundary scan que implemente uma interface com o PC e possibilite o controlo e monitorização da aplicação de teste ao PCB. A arquitectura do controlador desenvolvido contém um módulo de Memória de entrada, um Controlador TAP e uma Memória de saída. A implementação do controlador foi feita através da utilização de uma FPGA, é um dispositivo lógico reconfiguráveis constituído por blocos lógicos e por uma rede de interligações, ambos configuráveis, que permitem ao utilizador implementar as mais variadas funções digitais. A utilização de uma FPGA tem a vantagem de permitir a versatilidade do controlador, facilidade na alteração do seu código e possibilidade de inserir mais controladores dentro da FPGA. Foi desenvolvido o protocolo de comunicação e sincronização entre os vários módulos, permitindo o controlo e monitorização dos estímulos enviados e recebidos ao PCB, executados automaticamente através do software do Controlador TAP e de acordo com a norma IEEE 1149.1. A solução proposta foi validada por simulação utilizando o simulador da Xilinx. Foram analisados todos os sinais que constituem o controlador e verificado o correcto funcionamento de todos os seus módulos. Esta solução executa todas as sequências pretendidas e necessárias (envio de estímulos) à realização dos testes ao PCB. Recebe e armazena os dados obtidos, enviando-os posteriormente para a memória de saída. A execução do trabalho permitiu concluir que os projectos de componentes electrónicos tenderão a ser descritos num nível de abstracção mais elevado, recorrendo cada vez mais ao uso de linguagens de hardware, no qual o VHDL é uma excelente ferramenta de programação. O controlador desenvolvido será uma ferramenta bastante útil e versátil para o teste de PCBs e outras funcionalidades disponibilizadas pelas infra-estruturas BS.
Resumo:
Os sistemas de tempo real modernos geram, cada vez mais, cargas computacionais pesadas e dinâmicas, começando-se a tornar pouco expectável que sejam implementados em sistemas uniprocessador. Na verdade, a mudança de sistemas com um único processador para sistemas multi- processador pode ser vista, tanto no domínio geral, como no de sistemas embebidos, como uma forma eficiente, em termos energéticos, de melhorar a performance das aplicações. Simultaneamente, a proliferação das plataformas multi-processador transformaram a programação paralela num tópico de elevado interesse, levando o paralelismo dinâmico a ganhar rapidamente popularidade como um modelo de programação. A ideia, por detrás deste modelo, é encorajar os programadores a exporem todas as oportunidades de paralelismo através da simples indicação de potenciais regiões paralelas dentro das aplicações. Todas estas anotações são encaradas pelo sistema unicamente como sugestões, podendo estas serem ignoradas e substituídas, por construtores sequenciais equivalentes, pela própria linguagem. Assim, o modo como a computação é na realidade subdividida, e mapeada nos vários processadores, é da responsabilidade do compilador e do sistema computacional subjacente. Ao retirar este fardo do programador, a complexidade da programação é consideravelmente reduzida, o que normalmente se traduz num aumento de produtividade. Todavia, se o mecanismo de escalonamento subjacente não for simples e rápido, de modo a manter o overhead geral em níveis reduzidos, os benefícios da geração de um paralelismo com uma granularidade tão fina serão meramente hipotéticos. Nesta perspetiva de escalonamento, os algoritmos que empregam uma política de workstealing são cada vez mais populares, com uma eficiência comprovada em termos de tempo, espaço e necessidades de comunicação. Contudo, estes algoritmos não contemplam restrições temporais, nem outra qualquer forma de atribuição de prioridades às tarefas, o que impossibilita que sejam diretamente aplicados a sistemas de tempo real. Além disso, são tradicionalmente implementados no runtime da linguagem, criando assim um sistema de escalonamento com dois níveis, onde a previsibilidade, essencial a um sistema de tempo real, não pode ser assegurada. Nesta tese, é descrita a forma como a abordagem de work-stealing pode ser resenhada para cumprir os requisitos de tempo real, mantendo, ao mesmo tempo, os seus princípios fundamentais que tão bons resultados têm demonstrado. Muito resumidamente, a única fila de gestão de processos convencional (deque) é substituída por uma fila de deques, ordenada de forma crescente por prioridade das tarefas. De seguida, aplicamos por cima o conhecido algoritmo de escalonamento dinâmico G-EDF, misturamos as regras de ambos, e assim nasce a nossa proposta: o algoritmo de escalonamento RTWS. Tirando partido da modularidade oferecida pelo escalonador do Linux, o RTWS é adicionado como uma nova classe de escalonamento, de forma a avaliar na prática se o algoritmo proposto é viável, ou seja, se garante a eficiência e escalonabilidade desejadas. Modificar o núcleo do Linux é uma tarefa complicada, devido à complexidade das suas funções internas e às fortes interdependências entre os vários subsistemas. Não obstante, um dos objetivos desta tese era ter a certeza que o RTWS é mais do que um conceito interessante. Assim, uma parte significativa deste documento é dedicada à discussão sobre a implementação do RTWS e à exposição de situações problemáticas, muitas delas não consideradas em teoria, como é o caso do desfasamento entre vários mecanismo de sincronização. Os resultados experimentais mostram que o RTWS, em comparação com outro trabalho prático de escalonamento dinâmico de tarefas com restrições temporais, reduz significativamente o overhead de escalonamento através de um controlo de migrações, e mudanças de contexto, eficiente e escalável (pelo menos até 8 CPUs), ao mesmo tempo que alcança um bom balanceamento dinâmico da carga do sistema, até mesmo de uma forma não custosa. Contudo, durante a avaliação realizada foi detetada uma falha na implementação do RTWS, pela forma como facilmente desiste de roubar trabalho, o que origina períodos de inatividade, no CPU em questão, quando a utilização geral do sistema é baixa. Embora o trabalho realizado se tenha focado em manter o custo de escalonamento baixo e em alcançar boa localidade dos dados, a escalonabilidade do sistema nunca foi negligenciada. Na verdade, o algoritmo de escalonamento proposto provou ser bastante robusto, não falhando qualquer meta temporal nas experiências realizadas. Portanto, podemos afirmar que alguma inversão de prioridades, causada pela sub-política de roubo BAS, não compromete os objetivos de escalonabilidade, e até ajuda a reduzir a contenção nas estruturas de dados. Mesmo assim, o RTWS também suporta uma sub-política de roubo determinística: PAS. A avaliação experimental, porém, não ajudou a ter uma noção clara do impacto de uma e de outra. No entanto, de uma maneira geral, podemos concluir que o RTWS é uma solução promissora para um escalonamento eficiente de tarefas paralelas com restrições temporais.
Resumo:
Devido ao acréscimo significativo de viaturas e peões nas grandes cidades foi necessário recorrer aos mecanismos existentes para coordenar o tráfego. Nesta perspectiva surge a implementação de semáforos com o objectivo de ordenar o tráfego nas vias rodoviárias. A gestão de tráfego, tem sido sujeita a inovações tanto ao nível dos equipamentos, do software usado, gestão centralizada, monitorização das vias e na sincronização semafórica, sendo possível a criação de programas ajustados às diferentes exigências de tráfego verificadas durante as vinte e quatro horas para pontos distintos da cidade. Conceptualmente foram elaborados estudos, com o objectivo de identificar a relação entre a velocidade o fluxo e o intervalo num determinado intervalo de tempo, bem como a relação entre a velocidade e a sinistralidade. Até 1995 Portugal era um dos países com maior número de sinistros rodoviários Na sequência desta evolução foram instalados radares de controlo de velocidade no final de 2006 com o objectivo de obrigar ao cumprimento dos limites de velocidade impostos pelo código da estrada e reduzir a sinistralidade automóvel na cidade de Lisboa. Passados alguns anos sobre o investimento realizadoanteriormente, constatamos que existe a necessidade de implementar novas tecnologias na detecção das infracções, sejam estas de excesso de velocidade ou violação do semáforo vermelho (VSV), optimizar a informação disponibilizada aos automobilistas e aos peões, coordenar a interacção entre os veículos prioritários e os restantes presentes na via, dinamizar a gestão interna das contra ordenações, agilizar os procedimentos informatizar a recolha deinformação de modo a tornar os processos mais céleres.
Resumo:
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Informática
Resumo:
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática
Resumo:
Dissertação apresentada para cumprimento dos requisitos necessários à obtenção do grau de Doutor em Ciências da Comunicação
Resumo:
À medida que são feitas modificações nas legislações em vigor em relação às energias renováveis, de forma a incentivar o uso destas, surge a necessidade de sincronização do consumo da instalação com a sua própria produção. As empresas líderes de mercado já possuem soluções que permitem a recolha de dados das instalações fotovoltaicas para posterior monitorização e disponibilização ao cliente. Contudo, estas soluções possuem pontos negativos tais como o preço e limitações na potência instalada permitida. Neste contexto, este documento apresenta a descrição de uma solução que serve como uma alternativa muito mais barata às soluções apresentadas pelas principais marcas mundiais no âmbito desta área, além de ser a única solução disponível desenvolvida em território nacional. Como prova da funcionalidade da solução, são descritos e apresentados diferentes tipos de testes, que simulam a interação de um utilizador com a solução desenvolvida, levados a cabo em instalações solares fotovoltaicas reais, sendo os seus resultados analisados e evidenciando a facilidade de utilização desta solução.
Resumo:
As plataformas com múltiplos núcleos tornaram a programação paralela/concorrente num tópico de interesse geral. Diversos modelos de programação têm vindo a ser propostos, facilitando aos programadores a identificação de regiões de código potencialmente paralelizáveis, deixando ao sistema operativo a tarefa de as escalonar dinamicamente em tempo de execução, explorando o maior grau possível de paralelismo. O Java não foge a esta tendência, disponibilizando ao programador um número crescente de bibliotecas de mecanismos de sincronização e paralelização de código. Neste contexto, esta tese apresenta e discute um conjunto de resultados obtidos através de testes intensivos à eficiência de algoritmos de ordenação implementados com recurso aos mecanismos de concorrência da API do Java 8 (Threads, Threadpools, ExecutorService, CountdownLach, ExecutorCompletionService e ForkJoinPools) em sistemas com um número de núcleos variável. Para cada um dos mecanismos, são apresentadas conclusões sobre o seu funcionamento e discutidos os cenários em que o seu uso pode ser rentabilizado de modo a serem obtidos melhores tempos de execução.
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Civil – Perfil de Estruturas
Resumo:
As empresas perceberam que para vingar no mercado têm de se destacar através da qualidade, não só do produto final, como de todo o processamento à volta do mesmo. Assim, é necessário que o processo produtivo esteja optimizado e controlado. O vinho é um produto com grande destaque a nível mundial, e existe grande competitividade entre os produtores do sector. A José Maria da Fonseca Vinhos S.A. é uma das maiores empresas produtoras de vinho em Portugal, e com esta demanda pela qualidade, procura continuar a aprofundar problemas na produtividade que possam constituir oportunidades de melhoria. Com esta análise pretendeu-se definir a principal fonte de desperdícios da empresa, nomeadamente, as quebras de vinho. O estudo é realizado entre as cubas e a máquina de enchimento das garrafas. O processo produtivo é caracterizado por diversos tipos de perdas, que podem ter origem em diversas causas como os tipos de garrafa utilizados, plano de amostragem, purgas, leitura do volume da cuba, diferença entre o volume teórico e real, capacidade nominal da garrafa, paragens na produção, rejeições de garrafas e vinho de retorno. Para alguns factores foram propostas melhorias como colocação de baias para que as garrafas de rejeição não caiam e a sincronização da velocidade de todas as máquinas. É sugerido um estudo mais intensivo ao problema, recorrendo a caudalímetros que permitam analisar os valores de todos os vinhos de modo a possibilitar uma ideia mais real do que está a ocorrer.
Resumo:
Nesta dissertação pretende-se dar em primeiro lugar uma teoria geral sobre a chamada sincronização generalizada entre osciladores acoplados. Este conceito mais geral de sincronização revela uma estrutura mais complexa da interacção de osciladores acoplados, sendo por esta razão o passo natural a ser dado face ao conceito mais tradicional de sincronização idêntica. A sincronização generalizada tem uma forte componente geométrica através dos trabalhos de Wazewski e de Russel Smith. Esta teoria geral permite estudar de uma forma mais eficiente as condições de sincronização (generalizada) para sistemas com perturbações não-lineares. Neste trabalho vemos que os resultados referentes a sincronização idêntica saem como caso particular do conceito mais geral. Por outro lado, no caso estudado, as perturbações não-lineares ocorrem dentro de domínios bem determinados. Abordamos também a possibilidade de adaptar algoritmos computacionais a estes domínios, de forma a podermos transmitir de uma maneira mais intuitiva as condições mais gerais de sincronização. Por último, e como projecto futuro, apresentamos uma discussão de sincronização idêntica em sistemas de segunda ordem, que pretendem reproduzir a situação original de identificação de sincronização por Huygens.
Resumo:
Dissertação de mestrado em Construção e Reabilitação Sustentáveis