822 resultados para protected task execution
Resumo:
Relatório de Estágio apresentado para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Ensino de Inglês e de Língua Estrangeira (Francês) no 3.º Ciclo do Ensino Básico e no Ensino Secundário
Resumo:
Recent embedded processor architectures containing multiple heterogeneous cores and non-coherent caches renewed attention to the use of Software Transactional Memory (STM) as a building block for developing parallel applications. STM promises to ease concurrent and parallel software development, but relies on the possibility of abort conflicting transactions to maintain data consistency, which in turns affects the execution time of tasks carrying transactions. Because of this fact the timing behaviour of the task set may not be predictable, thus it is crucial to limit the execution time overheads resulting from aborts. In this paper we formalise a FIFO-based algorithm to order the sequence of commits of concurrent transactions. Then, we propose and evaluate two non-preemptive and one SRP-based fully-preemptive scheduling strategies, in order to avoid transaction starvation.
Resumo:
Presented at Work in Progress Session, IEEE Real-Time Systems Symposium (RTSS 2015). 1 to 4, Dec, 2015. San Antonio, U.S.A..
Resumo:
IEEE Real-Time Systems Symposium (RTSS 2015). 1 to 4, Dec, 2015. U.S.A.
Resumo:
O presente relatório retrata o estágio curricular desenvolvido no segundo ano do Mestrado em Engenharia Civil - Ramo de Construções do Instituto Superior de Engenharia do Porto. O relatório fará primeiramente uma abordagem às principais tarefas desempenhadas durante o estágio bem como uma abordagem à empresa adjudicatária da obra em análise. Seguidamente apresenta-se a obra em que se desenvolveu o estágio, “Requalificação e Reabilitação de Vila D’ Este Fase II”, onde será feita uma descrição do estado em que se encontravam os edifícios antes de serem intervencionados, bem como das intervenções efetuadas. Na sequência da apresentação da obra, será feita uma abordagem ao tema de estudo deste relatório, o Sistema ETICS. Este sistema com crescente procura no mercado, tem muitos parâmetros aos quais deve obedecer, pelo que neste relatório serão apresentados todos os aspetos considerados relevantes à sua correta execução. Para terminar serão verificadas as melhorias impostas por este Sistema. Inicialmente com uma abordagem em termos energéticos e depois uma abordagem ao controlo da humidade e prevenção das condensações.
Resumo:
Nos dias de hoje, os sistemas de tempo real crescem em importância e complexidade. Mediante a passagem do ambiente uniprocessador para multiprocessador, o trabalho realizado no primeiro não é completamente aplicável no segundo, dado que o nível de complexidade difere, principalmente devido à existência de múltiplos processadores no sistema. Cedo percebeu-se, que a complexidade do problema não cresce linearmente com a adição destes. Na verdade, esta complexidade apresenta-se como uma barreira ao avanço científico nesta área que, para já, se mantém desconhecida, e isto testemunha-se, essencialmente no caso de escalonamento de tarefas. A passagem para este novo ambiente, quer se trate de sistemas de tempo real ou não, promete gerar a oportunidade de realizar trabalho que no primeiro caso nunca seria possível, criando assim, novas garantias de desempenho, menos gastos monetários e menores consumos de energia. Este último fator, apresentou-se desde cedo, como, talvez, a maior barreira de desenvolvimento de novos processadores na área uniprocessador, dado que, à medida que novos eram lançados para o mercado, ao mesmo tempo que ofereciam maior performance, foram levando ao conhecimento de um limite de geração de calor que obrigou ao surgimento da área multiprocessador. No futuro, espera-se que o número de processadores num determinado chip venha a aumentar, e como é óbvio, novas técnicas de exploração das suas inerentes vantagens têm de ser desenvolvidas, e a área relacionada com os algoritmos de escalonamento não é exceção. Ao longo dos anos, diferentes categorias de algoritmos multiprocessador para dar resposta a este problema têm vindo a ser desenvolvidos, destacando-se principalmente estes: globais, particionados e semi-particionados. A perspectiva global, supõe a existência de uma fila global que é acessível por todos os processadores disponíveis. Este fato torna disponível a migração de tarefas, isto é, é possível parar a execução de uma tarefa e resumir a sua execução num processador distinto. Num dado instante, num grupo de tarefas, m, as tarefas de maior prioridade são selecionadas para execução. Este tipo promete limites de utilização altos, a custo elevado de preempções/migrações de tarefas. Em contraste, os algoritmos particionados, colocam as tarefas em partições, e estas, são atribuídas a um dos processadores disponíveis, isto é, para cada processador, é atribuída uma partição. Por essa razão, a migração de tarefas não é possível, acabando por fazer com que o limite de utilização não seja tão alto quando comparado com o caso anterior, mas o número de preempções de tarefas decresce significativamente. O esquema semi-particionado, é uma resposta de caráter hibrido entre os casos anteriores, pois existem tarefas que são particionadas, para serem executadas exclusivamente por um grupo de processadores, e outras que são atribuídas a apenas um processador. Com isto, resulta uma solução que é capaz de distribuir o trabalho a ser realizado de uma forma mais eficiente e balanceada. Infelizmente, para todos estes casos, existe uma discrepância entre a teoria e a prática, pois acaba-se por se assumir conceitos que não são aplicáveis na vida real. Para dar resposta a este problema, é necessário implementar estes algoritmos de escalonamento em sistemas operativos reais e averiguar a sua aplicabilidade, para caso isso não aconteça, as alterações necessárias sejam feitas, quer a nível teórico quer a nível prá
Resumo:
Face à estagnação da tecnologia uniprocessador registada na passada década, aos principais fabricantes de microprocessadores encontraram na tecnologia multi-core a resposta `as crescentes necessidades de processamento do mercado. Durante anos, os desenvolvedores de software viram as suas aplicações acompanhar os ganhos de performance conferidos por cada nova geração de processadores sequenciais, mas `a medida que a capacidade de processamento escala em função do número de processadores, a computação sequencial tem de ser decomposta em várias partes concorrentes que possam executar em paralelo, para que possam utilizar as unidades de processamento adicionais e completar mais rapidamente. A programação paralela implica um paradigma completamente distinto da programação sequencial. Ao contrário dos computadores sequenciais tipificados no modelo de Von Neumann, a heterogeneidade de arquiteturas paralelas requer modelos de programação paralela que abstraiam os programadores dos detalhes da arquitectura e simplifiquem o desenvolvimento de aplicações concorrentes. Os modelos de programação paralela mais populares incitam os programadores a identificar instruções concorrentes na sua lógica de programação, e a especificá-las sob a forma de tarefas que possam ser atribuídas a processadores distintos para executarem em simultâneo. Estas tarefas são tipicamente lançadas durante a execução, e atribuídas aos processadores pelo motor de execução subjacente. Como os requisitos de processamento costumam ser variáveis, e não são conhecidos a priori, o mapeamento de tarefas para processadores tem de ser determinado dinamicamente, em resposta a alterações imprevisíveis dos requisitos de execução. `A medida que o volume da computação cresce, torna-se cada vez menos viável garantir as suas restrições temporais em plataformas uniprocessador. Enquanto os sistemas de tempo real se começam a adaptar ao paradigma de computação paralela, há uma crescente aposta em integrar execuções de tempo real com aplicações interativas no mesmo hardware, num mundo em que a tecnologia se torna cada vez mais pequena, leve, ubíqua, e portável. Esta integração requer soluções de escalonamento que simultaneamente garantam os requisitos temporais das tarefas de tempo real e mantenham um nível aceitável de QoS para as restantes execuções. Para tal, torna-se imperativo que as aplicações de tempo real paralelizem, de forma a minimizar os seus tempos de resposta e maximizar a utilização dos recursos de processamento. Isto introduz uma nova dimensão ao problema do escalonamento, que tem de responder de forma correcta a novos requisitos de execução imprevisíveis e rapidamente conjeturar o mapeamento de tarefas que melhor beneficie os critérios de performance do sistema. A técnica de escalonamento baseado em servidores permite reservar uma fração da capacidade de processamento para a execução de tarefas de tempo real, e assegurar que os efeitos de latência na sua execução não afectam as reservas estipuladas para outras execuções. No caso de tarefas escalonadas pelo tempo de execução máximo, ou tarefas com tempos de execução variáveis, torna-se provável que a largura de banda estipulada não seja consumida por completo. Para melhorar a utilização do sistema, os algoritmos de partilha de largura de banda (capacity-sharing) doam a capacidade não utilizada para a execução de outras tarefas, mantendo as garantias de isolamento entre servidores. Com eficiência comprovada em termos de espaço, tempo, e comunicação, o mecanismo de work-stealing tem vindo a ganhar popularidade como metodologia para o escalonamento de tarefas com paralelismo dinâmico e irregular. O algoritmo p-CSWS combina escalonamento baseado em servidores com capacity-sharing e work-stealing para cobrir as necessidades de escalonamento dos sistemas abertos de tempo real. Enquanto o escalonamento em servidores permite partilhar os recursos de processamento sem interferências a nível dos atrasos, uma nova política de work-stealing que opera sobre o mecanismo de capacity-sharing aplica uma exploração de paralelismo que melhora os tempos de resposta das aplicações e melhora a utilização do sistema. Esta tese propõe uma implementação do algoritmo p-CSWS para o Linux. Em concordância com a estrutura modular do escalonador do Linux, ´e definida uma nova classe de escalonamento que visa avaliar a aplicabilidade da heurística p-CSWS em circunstâncias reais. Ultrapassados os obstáculos intrínsecos `a programação da kernel do Linux, os extensos testes experimentais provam que o p-CSWS ´e mais do que um conceito teórico atrativo, e que a exploração heurística de paralelismo proposta pelo algoritmo beneficia os tempos de resposta das aplicações de tempo real, bem como a performance e eficiência da plataforma multiprocessador.
Resumo:
This study aimed to assess the exposure of free-living jaguars (Panthera onca) to Leptospira spp. and Brucella abortus in two conservation units in the Pantanal of Mato Grosso, Brazil. The presence of antibodies in blood samples of eleven jaguars was investigated using autochthonous antigens isolated in Brazil added to reference antigen collection applied to diagnosis of leptospirosis by Microscopic Agglutination Test (MAT). The Rose Bengal test was applied for B. abortus antibodies. Two (18.2%) jaguars were seroreactive for the Leptospira spp. antigen and the serovar considered as most infective in both animals was a Brazilian isolate of serovar Canicola (L01). All jaguars were seronegative for B. abortus. These data indicate that the inclusion of autochthonous antigens in serological studies can significantly increase the number of reactive animals, as well as modify the epidemiological profile of Leptospira spp. infection.
Resumo:
RESUMO: O Biofeedback cinemático na realização de exercícios escápulo-torácicos Patrícia Ribeiro; Ricardo Matias Desenho do estudo: Estudo quantitativo, experimental, prospetivo de fator único. Objetivos: Determinar a efetividade do biofeedback cinemático tridimensional (3D) em tempo real, como informação de retorno extrínseca, no reconhecimento da zona neutra da omoplata, em indivíduos saudáveis; medir o desempenho temporal, através do tempo que os sujeitos demoram a atingir a posição pretendida, e o desempenho no percurso, através da diferença entre o percurso efetuado e aquele que seria o percurso mais curto, sem Informação de Retorno Extrínseca (IRE), com Informação de Retorno Extrínseca clinica verbal e palpatória (IRE-VP) e com informação de retorno extrínseca visual cinemática (IRE-VC). Enquadramento: Reconhecer aquela que deve ser a posição adequada da omoplata e tomar consciência da importância dessa posição para a estabilidade e correto funcionamento da articulação gleno-umeral é uma tarefa difícil, pois a grande maioria do indivíduos não têm os conhecimentos necessários. É reconhecido o contributo que a IRE tem na reaprendizagem motora, em especial na primeira fase da aprendizagem motora – a consciencialização. Vários estudos se têm debruçado em avaliar a influencia da IRE na reabilitação de indivíduos com disfunção do ombro, tendo-se limitado ao formato electromiográfico. No sentido de encontrar novas estratégias para facilitar o processo de reaprendizagem motora nestes indivíduos, foi escolhido biofeedback cinemático tridimensional. Métodos: Participaram no estudo 60 sujeitos, sem queixas de dor no ombro, com idades compreendidas entre os 18 e os 54 anos, com um valor médio de 21,66 anos (±5.89), divididos aleatoriamente em três grupos com uma tarefa comum: o reconhecimento da zona neutra da omoplata. Um grupo não recebeu qualquer tipo de IRE - Grupo Controlo (GC), outro grupo recebeu IRE-VP e outro recebeu IRE-VC. Para efeitos de análise da performance foram consideradas duas variáveis: tempo e qualidade da execução. A abordagem estatística destas variáveis consistiu numa análise de variância simples e num teste de comparações múltiplas. Resultados: Observámos que o grupo controlo e o grupo IRE-VC efetuaram a tarefa pedida em menos tempo que o grupo IRE-VP (p<0.01) e que o grupo IRE-VC obteve melhores resultados no que respeita à qualidade da execução da tarefa do que o GC e o grupo IRE-VP (p<0.01). Conclusão: Pelos resultados obtidos, na tarefa de reconhecimento da zona neutra da omoplata, podemos concluir que o biofeedback cinemático é mais efetivo na facilitação da obtenção de melhor qualidade de execução da tarefa do que o feedback clinico ou a inexistência de feedback e igualmente efetivo à inexistência de IRE no que respeita ao tempo demorado a reconhecer essa posição. -------------- ABSTRACT:Study Design: Single factor experimental design. Objectives: To determine the effectiveness of real time cinematic biofeedback as extrinsic information in the recognition of the neutral zone of the scapula in healthy subjects; to measure the temporal performance and quality of the execution without extrinsic feedback, with clinical feedback and with cinematic feedback. Background: To recognize the proper scapula position and to be aware of the importance of this position to the stability and correct function of the gleno-umeral joint is a difficult task, because most people don’t have the necessary knowledge. It is known that extrinsic feedback is effective in motor learning, specially in the early stages. There are several studies that evaluated the influence of extrinsic feedback in rehabilitation of shoulder dysfunctions, but only in the electromyography format. Material and Methods: Sixty healthy subjects were randomly divided into 3 groups that received no feedback (group 1 – control group), verbal and palpatory feedback (group 2) and real time cinematic feedback (group 3). The performance variables considered – time and quality of execution - were statistically analyzed with ANOVA one-way and multiple comparisons test. Results: Control group and group 3 executed the task in less time that group 2 (p<0.01) and group 3 executed the task with better quality than control group and group 2 (p<0.01). Conclusions: From the results of this study we conclude that in the studied task, the cinematic feedback is more effective to facilitate a better quality of execution than no feedback or clinical feedback and, regarding to time taken to attain the requested position, equally effective to no feedback.
Resumo:
Dissertação para obtenção do Grau de Mestre em Engenharia Informática
Resumo:
Concurrent programming is a difficult and error-prone task because the programmer must reason about multiple threads of execution and their possible interleavings. A concurrent program must synchronize the concurrent accesses to shared memory regions, but this is not enough to prevent all anomalies that can arise in a concurrent setting. The programmer can misidentify the scope of the regions of code that need to be atomic, resulting in atomicity violations and failing to ensure the correct behavior of the program. Executing a sequence of atomic operations may lead to incorrect results when these operations are co-related. In this case, the programmer may be required to enforce the sequential execution of those operations as a whole to avoid atomicity violations. This situation is specially common when the developer makes use of services from third-party packages or modules. This thesis proposes a methodology, based on the design by contract methodology, to specify which sequences of operations must be executed atomically. We developed an analysis that statically verifies that a client of a module is respecting its contract, allowing the programmer to identify the source of possible atomicity violations.
Resumo:
OutSystems Platform is used to develop, deploy, and maintain enterprise web an mobile web applications. Applications are developed through a visual domain specific language, in an integrated development environment, and compiled to a standard stack of web technologies. In the platform’s core, there is a compiler and a deployment service that transform the visual model into a running web application. As applications grow, compilation and deployment times increase as well, impacting the developer’s productivity. In the previous model, a full application was the only compilation and deployment unit. When the developer published an application, even if he only changed a very small aspect of it, the application would be fully compiled and deployed. Our goal is to reduce compilation and deployment times for the most common use case, in which the developer performs small changes to an application before compiling and deploying it. We modified the OutSystems Platform to support a new incremental compilation and deployment model that reuses previous computations as much as possible in order to improve performance. In our approach, the full application is broken down into smaller compilation and deployment units, increasing what can be cached and reused. We also observed that this finer model would benefit from a parallel execution model. Hereby, we created a task driven Scheduler that executes compilation and deployment tasks in parallel. Our benchmarks show a substantial improvement of the compilation and deployment process times for the aforementioned development scenario.
Resumo:
Marine Protected Areas are an effective way of protecting biodiversity, with potential socio-economic benefits including the enhancement of local fisheries and maintenance of ecosystem services. However, local fishing communities often fear short-term revenue losses and thus may oppose marine protected areas creation. This work includes a review of the need of having management effectiveness evaluation and its importance in providing useful information for stakeholders. Therefore, evaluation methodologies are presented and assessed in order to suggest possible approaches to the Berlengas MPA. In this case, an indicator-based approach can be relevant as a starting point, providing already some insights about the management effectiveness of Berlengas MPA. It also supports the development of a more ambitious approach such as a bio-economic model.