15 resultados para Escalonamento de threads
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
O avanço tecnológico no projeto de microprocessadores, nos recentes anos, tem seguido duas tendências principais. A primeira tenta aumentar a freqüência do relógio dos mesmos usando componentes digitais e técnicas VLSI mais eficientes. A segunda tenta explorar paralelismo no nível de instrução através da reorganização dos seus componentes internos. Dentro desta segunda abordagem estão as arquiteturas multi-tarefas simultâneas, que são capazes de extrair o paralelismo existente entre e dentro de diferentes tarefas das aplicações, executando instruções de vários fluxos simultaneamente e maximizando assim a utilização do hardware. Apesar do alto custo da implementação em hardware, acredita-se no potencial destas arquiteturas para o futuro próximo, pois é previsto que em breve haverá a disponibilidade de bilhões de transistores para o desenvolvimento de circuitos integrados. Assim, a questão principal a ser encarada talvez seja: como prover instruções paralelas para uma arquitetura deste tipo? Sabe-se que a maioria das aplicações é seqüencial pois os problemas nem sempre possuem uma solução paralela e quando a solução existe os programadores nem sempre têm habilidade para ver a solução paralela. Pensando nestas questões a arquitetura SEMPRE foi projetada. Esta arquitetura executa múltiplos processos, ao invés de múltiplas tarefas, aproveitando assim o paralelismo existente entre diferentes aplicações. Este paralelismo é mais expressivo do que aquele que existe entre tarefas dentro de uma mesma aplicação devido a não existência de sincronismo ou comunicação entre elas. Portanto, a arquitetura SEMPRE aproveita a grande quantidade de processos existentes nas estações de trabalho compartilhadas e servidores de rede. Além disso, esta arquitetura provê suporte de hardware para o escalonamento de processos e instruções especiais para o sistema operacional gerenciar processos com mínimo esforço. Assim, os tempos perdidos com o escalonamento de processos e as trocas de contextos são insignificantes nesta arquitetura, provendo ainda maior desempenho durante a execução das aplicações. Outra característica inovadora desta arquitetura é a existência de um mecanismo de prébusca de processos que, trabalhando em cooperação com o escalonamento de processos, permite reduzir faltas na cache de instruções. Também, devido a essa rápida troca de contexto, a arquitetura permite a definição de uma fatia de tempo (fatia de tempo) menor do que aquela praticada pelo sistema operacional, provendo maior dinâmica na execução das aplicações. A arquitetura SEMPRE foi analisada e avaliada usando modelagem analítica e simulação dirigida por execução de programas do SPEC95. A modelagem mostrou que o escalonamento por hardware reduz os efeitos colaterais causados pela presença de processos na cache de instruções e a simulação comprovou que as diferentes características desta arquitetura podem, juntas, prover ganho de desempenho razoável sobre outras arquiteturas multi-tarefas simultâneas equivalentes, com um pequeno acréscimo de hardware, melhor aproveitando as fatias de tempo atribuídas aos processos.
Resumo:
Problemas de escalonamento ocorrem com freqüência, principalmente em empresas de manufatura. Entretanto, na maioria das vezes, ferramentas matemáticas de apoio à decisão são pouco utilizadas, pois requerem profissionais capacitados, softwares caros e computadores muito potentes. Esta dissertação tem como objetivo mostrar uma heurística capaz de reduzir a quantidade de fôrmas na indústria calçadista. Inicialmente, foram comparadas as soluções fornecidas pela heurística com as soluções obtidas a partir do modelo matemático de programação linear, com a finalidade de verificar o quão próximas estão ambas as respostas. Em seguida, foram comparadas a solução fornecida pela heurística e a solução presentemente adotada por uma empresa de calçados denominada de Empresa de Calçados X. Os principais resultados obtidos foram: a) o resultado fornecido pela heurística apresenta menos de 10% de acréscimo no número de pares de fôrmas em relação ao resultado fornecido pelo modelo matemático de programação linear inteira tipo 0/1; b) a solução fornecida pela heurística reduz, em média, 23,4% a quantidade de fôrmas necessárias, podendo chegar próximo a 40%. Isto pode trazer uma estimativa de redução anual na ordem de R$ 288.100,00; c) o percentual de redução na quantidade de pares de fôrmas é variável, dependendo de cada caso.
Resumo:
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++.
Resumo:
O trabalho apresenta uma avaliação dos prováveis impactos do escalonamento dos horários das aulas noturnas em uma Universidade. Neste trabalho foi investigada, a preferência dos usuários quanto às possíveis alterações nos horários de entrada de aulas, e os impactos do escalonamento na rede viária no entorno do campus. O trabalho envolveu a construção de diversos cenários de alterações nos horários de início das aulas. Os cenários foram construídos visando atender as preferências da população universitária e reduzir a interferência do pico de chegada de alunos no sistema viário. A avaliação dos impactos destes cenários no tráfego foi realizada através de simulação, com a utilização do modelo TSIS/NETSIM. As análises foram baseadas em dois indicadores de desempenho: a velocidade média e o tempo de atraso médio na rede.
Resumo:
O presente trabalho visa definir um modelo de alocação dos recursos da produção para centros de trabalho em sistemas baseados em job shop, usando a abordagem heurística para garantir uma boa alocação dos recursos. São levados em conta a complexidade de um ambiente de produção, seus aspectos temporais e os modelos de Job Shop Scheduling atualmente em uso. Com isso são examinados os aspectos conceituais deste ambiente e proposto um modelo de alocação de recursos para auxiliar no planejamento operacional do mesmo. Pode-se definir os recursos como todos os elementos necessários à execução das diversas atividades de um processo produtivo, tais como equipamentos, máquinas, mão-de-obra, etc. Por sua vez, os recursos são limitados por natureza, quanto à quantidade de unidades disponíveis, às suas funcionalidades e à capacidade produtiva. O processo de alocação dos recursos pressupõe a designação dos recursos mais satisfatórios para a execução de cada uma das atividades que fazem parte de um projeto. O modelo proposto é baseado no uso de heurísticas para resolver o escalonamento nos centros de trabalho, também chamados de células de produção, usando restrições e regras entre as ordens de fabricação (peças) e as máquinas, para encontrar uma solução satisfatória ao problema. O resultado final é uma ferramenta de apoio à decisão no processo de manufatura, permitindo a visualização do melhor escalonamento de produção, visando a redução do ciclo e setup de produção no processo, com base nas informações locais do ambiente fabril. O sistema está implementado numa empresa de componentes hidráulicos, inicialmente no centro de trabalho de corte, composto por quatro máquinas que realizam o corte de diversos tipos de matérias-primas.
Resumo:
CORBA vem se tornando o middleware padrão no desenvolvimento de aplicações distribuídas, tornando-as independentes de plataforma e linguagem. Ele tem sido utilizado também em aplicações de tempo real através de sua extensão para tempo real, o RT-CORBA. Apesar desta extensão ter conseguido reduzir vários dos problemas do CORBA no que se refere ao não-determinismo e falta de garantias temporais, ainda há muito estudo na área de mecanismos de escalonamento utilizados. Assim, este trabalho tem por objetivo apresentar uma proposta de escalonamento adaptativo no ambiente Real-Time CORBA. Nesta proposta o período das tarefas é controlado, variando dentro de uma faixa pré-estabelecida com o propósito de reduzir o atraso médio das tarefas da aplicação.
Resumo:
A linguagem de programação Java vem sendo uma das escolhidas para a implementação de aplicações compostas por objetos distribuídos. Estas aplicações caracterizam-se por possuir comportamento complexo e, portanto, são mais difíceis de depurar e refinar para obter melhores desempenhos. Considerando a necessidade do desenvolvimento de uma ferramenta de monitoração para o modelo de objetos distribuídos, que colete informações mais detalhadas sobre a execução da aplicação, é apresentado neste trabalho um ambiente de monitoração de aplicações distribuídas escritas em Java, o DOMonitor. Um dos objetivos do DOMonitor é obter o comportamento que a aplicação apresenta durante a execução, possibilitando a detecção de comportamentos equivocados e seu respectivo refinamento. O DOMonitor é voltado para aplicações compostas por objetos distribuídos e caracteriza-se por identificar principalmente: (i) o comportamento dinâmico das threads; (ii) a utilização dos métodos de sincronização; e (iii) a comunicação entre os entes distribuídos da aplicação. O DOMonitor está fundamentado em quatro premissas: (i) ser transparente para o usuário, não exigindo anotações no código fonte; (ii) apresentar uma organização modular, e por isto ser flexível e expansível; (iii) ser portável, não exigindo nenhuma alteração na Maquina Virtual Java; e (iv) operar de forma a garantir a ordem dos eventos previstos pelo programa. Os dados produzidos pelo DOMonitor podem ser utilizados com diversas finalidades tais como visualização da execução, escalonamento e como suporte à execução de aplicações móveis. Para comprovar esta versatilidade, foi proposta a integração do sistema a dois outros projetos, o Pajé e o ISAM. O projeto ISAM utilizará os dados monitorados para tomadas de decisão durante o curso da execução e o projeto Pajé permite a visualização gráfica das características dinâmicas de uma aplicação Java.
Resumo:
Este trabalho apresenta uma metodologia para a geração automática de ASICs, em VHDL, a partir da linguagem de entrada Java. Como linguagem de especificação adotou-se a Linguagem Java por esta possuir características desejáveis para especificação a nível de sistema, como: orientação a objetos, portabilidade e segurança. O sistema é especificamente projetado para suportar síntese de ASICs a partir dos modelos de computação Máquina de Estados Finita e Pipeline. Neste trabalho, adotou-se estes modelos de computação por serem mais usados em sistemas embarcados As principais características exploradas são a disponibilização da geração de ASICs para a ferramenta SASHIMI, o alto nível de abstração com que o projetista pode contar em seu projeto, as otimizações de escalonamento realizadas automaticamente, e o sistema ser capaz de abstrair diferentes modelos de computação para uma descrição em VHDL. Portanto, o ambiente permite a redução do tempo de projeto e, consequentemente, dos custos agregados, diminuindo a probabilidade de erros na elaboração do projeto, portabilidade e reuso de código – através da orientação a objetos de Java – podendo-se proteger os investimentos prévios em desenvolvimento de software. A validação desses conceitos foi realizada mediante estudos de casos, utilizando-se algumas aplicações e analisando os resultados obtidos com a geração dos ASICs.
Resumo:
Este trabalho tem como objetivo desenvolver e empregar técnicas e estruturas de dados agrupadas visando paralelizar os métodos do subespaço de Krylov, fazendo-se uso de diversas ferramentas e abordagens. A partir dos resultados é feita uma análise comparativa de desemvpenho destas ferramentas e abordagens. As paralelizações aqui desenvolvidas foram projetadas para serem executadas em um arquitetura formada por um agregado de máquinas indepentes e multiprocessadas (Cluster), ou seja , são considerados o paralelismo e intra-nodos. Para auxiliar a programação paralela em clusters foram, e estão sendo, desenvolvidas diferentes ferramentas (bibliotecas) que visam a exploração dos dois níveis de paralelismo existentes neste tipo de arquitetura. Neste trabalho emprega-se diferentes bibliotecas de troca de mensagens e de criação de threads para a exploração do paralelismo inter-nodos e intra-nodos. As bibliotecas adotadas são o DECK e o MPICH e a Pthread. Um dos itens a serem analisados nestes trabalho é acomparação do desempenho obtido com essas bibliotecas.O outro item é a análise da influência no desemepnho quando quando tulizadas múltiplas threads no paralelismo em clusters multiprocessados. Os métodos paralelizados nesse trabalho são o Gradiente Conjugação (GC) e o Resíduo Mínmo Generalizado (GMRES), quepodem ser adotados, respectivamente, para solução de sistemas de equações lineares sintéticos positivos e definidos e não simétricas. Tais sistemas surgem da discretização, por exemplo, dos modelos da hidrodinâmica e do transporte de massa que estão sendo desenvolvidos no GMCPAD. A utilização desses métodos é justificada pelo fato de serem métodos iterativos, o que os torna adequados à solução de sistemas de equações esparsas e de grande porte. Na solução desses sistemas através desses métodos iterativos paralelizados faz-se necessário o particionamento do domínio do problema, o qual deve ser feito visando um bom balanceamento de carga e minimização das fronteiras entre os sub-domínios. A estrutura de dados desenvolvida para os métodos paralelizados nesse trabalho permite que eles sejam adotados para solução de sistemas de equações gerados a partir de qualquer tipo de particionamento, pois o formato de armazenamento de dados adotado supre qualquer tipo de dependência de dados. Além disso, nesse trabalho são adotadas duas estratégias de ordenação para as comunicações, estratégias essas que podem ser importantes quando se considera a portabilidade das paralelizações para máquinas interligadas por redes de interconexão com buffer de tamanho insuficiente para evitar a ocorrência de dealock. Os resultados obtidos nessa dissertação contribuem nos trabalhos do GMCPAD, pois as paralelizações são adotadas em aplicações que estão sendo desenvolvidas no grupo.
Resumo:
Neste trabalho apresenta-se um método de desenvolvimento integrado baseado no paradigma de orientação a objetos, que visa abordar todo o ciclo de desenvolvimento de uma aplicação tempo real. Na fase de especificação o método proposto baseia-se no uso de restrições temporais padronizadas pelo perfil da UML-TR, sendo que uma alternativa de mapeamento destas restrições para o nível de programação é apresentada. Este mapeamento serve para guiar a fase de projeto, onde utilizou-se como alvo a interface de programação orientada a objetos denominada TAFT-API, a qual foi projetada para atuar junto ao ambiente de execução desenvolvido no âmbito desta tese. Esta API é baseada na especificação padronizada para o Java-TR. Este trabalho também discute o ambiente de execução para aplicações tempo real desenvolvido. Este ambiente faz uso da política de escalonamento tolerante a falhas denominada TAFT (Time-Aware Fault- Tolerant). O presente trabalho apresenta uma estratégia eficiente para a implementação dos conceitos presentes no escalonador TAFT, que garante o atendimento a todos os deadlines mesmo em situações de sobrecarga transiente. A estratégia elaborada combina algoritmos baseados no Earliest Deadline, sendo que um escalonador de dois níveis é utilizado para suportar o escalonamento combinado das entidades envolvidas. Adicionalmente, também se apresenta uma alternativa de validação dos requisitos temporais especificados. Esta alternativa sugere o uso de uma ferramenta que permite uma análise qualitativa dos dados a partir de informações obtidas através de monitoração da aplicação. Um estudo de caso baseado em uma aplicação real é usado para demonstrar o uso da metodologia proposta.
Resumo:
Electronic applications are currently developed under the reuse-based paradigm. This design methodology presents several advantages for the reduction of the design complexity, but brings new challenges for the test of the final circuit. The access to embedded cores, the integration of several test methods, and the optimization of the several cost factors are just a few of the several problems that need to be tackled during test planning. Within this context, this thesis proposes two test planning approaches that aim at reducing the test costs of a core-based system by means of hardware reuse and integration of the test planning into the design flow. The first approach considers systems whose cores are connected directly or through a functional bus. The test planning method consists of a comprehensive model that includes the definition of a multi-mode access mechanism inside the chip and a search algorithm for the exploration of the design space. The access mechanism model considers the reuse of functional connections as well as partial test buses, cores transparency, and other bypass modes. The test schedule is defined in conjunction with the access mechanism so that good trade-offs among the costs of pins, area, and test time can be sought. Furthermore, system power constraints are also considered. This expansion of concerns makes it possible an efficient, yet fine-grained search, in the huge design space of a reuse-based environment. Experimental results clearly show the variety of trade-offs that can be explored using the proposed model, and its effectiveness on optimizing the system test plan. Networks-on-chip are likely to become the main communication platform of systemson- chip. Thus, the second approach presented in this work proposes the reuse of the on-chip network for the test of the cores embedded into the systems that use this communication platform. A power-aware test scheduling algorithm aiming at exploiting the network characteristics to minimize the system test time is presented. The reuse strategy is evaluated considering a number of system configurations, such as different positions of the cores in the network, power consumption constraints and number of interfaces with the tester. Experimental results show that the parallelization capability of the network can be exploited to reduce the system test time, whereas area and pin overhead are strongly minimized. In this manuscript, the main problems of the test of core-based systems are firstly identified and the current solutions are discussed. The problems being tackled by this thesis are then listed and the test planning approaches are detailed. Both test planning techniques are validated for the recently released ITC’02 SoC Test Benchmarks, and further compared to other test planning methods of the literature. This comparison confirms the efficiency of the proposed methods.
Resumo:
Os sistemas operacionais de tempo real, assim como os sistemas embarcados, estão inseridos no desenvolvimento de projetos de automação industrial segmentado em diversas áreas de pesquisa como, por exemplo, robótica, telecomunicações, e barramentos industriais. As aplicações de sistemas modernos de controle e automação necessitam de alta confiabilidade, velocidade de comunicação, além de, determinismo temporal. Sistemas operacionais de tempo real (SOTR) têm-se apresentado como uma solução confiável quando aplicadas em sistemas que se fundamentam no cumprimento de requisitos temporais. Além disso, o desempenho computacional é totalmente dependente da capacidade operacional da unidade de processamento. Em um sistema monoprocessado, parte da capacidade computacional da unidade de processamento é utilizada em atividades administrativas, como por exemplo, processos de chaveamento e salvamento de contexto. Em decorrência disto, surge a sobrecarga computacional como fator preponderante para o desempenho do sistema. Este trabalho tem por objetivo, analisar e fornecer uma arquitetura alternativa para realizar o co-processamento de tarefas em uma plataforma IBM-PC, aumentando a capacidade computacional do microprocessador principal. No presente trabalho, a plataforma de coprocessamento realiza a execução do algoritmo de escalonamento do sistema operacional, desta forma distribuiu-se o gerenciamento temporal das tarefas entre a plataforma IBM-PC e a unidade de co-processamento.
Resumo:
Este trabalho apresenta um modelo de análise estática de programas orientados a objetos, o qual se denomina DEPAnalyzer (DEPendencies Analyzer). O modelo realiza a análise das dependências entre as classes de um programa, ou seja, os relacionamentos estabelecidos entre estas. As classes representam as entidades estáticas, as quais em tempo de execução darão origem a conjuntos de objetos. Através da simulação do programa o modelo consegue obter as informações sobre quem se relaciona com quem e qual é a intensidade destes relacionamentos. Estas informações visam auxiliar no processo de escalonamento de um programa em uma arquitetura distribuída. Para expressar estes relacionamentos podem ser gerados dois grafos, o grafo de dependências e o grafo de invocações. A geração de um ou de ambos depende do propósito de utilização, ou seja, alocação inicial ou redistribuição dos objetos. O grafo de dependências apresenta uma versão resumida dos relacionamentos. Este adequa-se a auxiliar no processo de distribuição inicial por propiciar um panorama geral dos relacionamentos sem considerar a ordenação de ocorrência das ações. Por sua vez o grafo de invocações tem como propósito a discriminação da ordem de ocorrência das ações de uma aplicação. Viabilizando a utilização deste por parte do processo de redistribuição dos objetos.
Resumo:
No presente trabalho descrevemos nossos resultados relativos à investigação da dinâmica de solvatação mecânica por meio de simulações por dinâmica molecular, respeitando o regime da resposta linear, em sistemas-modelo de argônio líquido com um soluto monoatômico ou diatômico dissolvido. Estudamos sistematicamente a influência dos parâmetros moleculares dos solutos (tamanho, polarizabilidade) e da densidade frente a vários modelos de solvatação. Funções de Correlação Temporal da Energia de Solvatação foram calculadas com relação à correlações de n-corpos (n = 2; 3) distinguindo interações repulsivas e atrativas para ambos os sistemas líquidos. Também obtivemos segundas derivadas temporais dessas funções referindo-se à parcelas translacionais, rotacionais e roto-translacionais na solução do diatômico. Encontramos que funções de correlação temporal coletivas podem ser razoavelmente bem aproximadas por correlações binárias a densidades baixas e, a densidades altas, correlações ternárias tornam-se mais importantes produzindo um descorrelacionamento mais rápido das funções coletivas devido a efeitos de cancelamento parciais. As funções de correlação para interações repulsivas e atrativas exibem comportamentos dinâmicos independentes do modelo de solvatação devido a fatores de escalonamento linear que afetam apenas as amplitudes das dessas funções de correlação temporal. Em geral, os sistemas com grau de liberdade rotacional apresentam tempos de correlação mais curtos para a dinâmica coletiva e tempos de correlação mais longos para as funções binárias e ternárias. Finalmente, esse estudo mostra que os sistemas contendo o diatômico relaxam-se predominantemente por mecanismos translacionais binários em modelos de solvatação envolvendo alterações apenas na polarizabilidade do soluto, e por mecanismos rotacionais atrativos binários em modelos envolvendo alterações no comprimento de ligação.
Resumo:
O objetivo do presente estudo foi investigar as condições ergonômicas da situação de trabalho dos Auxiliares de Enfermagem em uma unidade de clínica geral de um hospital privado na cidade de Curitiba, Paraná, bem como sugerir melhorias a partir da situação caracterizada. Com a aplicação do método da Análise Ergonômica do Trabalho (AET), pôde-se verificar a realidade desses profissionais, caracterizando suas tarefas, registrando a existência de distanciamento entre tarefa prescrita e real. Os resultados obtidos evidenciaram problemas no âmbito organizacional como a montagem inadequada da escala de divisão de pacientes, o quadro de pessoal abaixo da exigência mínima estabelecida pelo Conselho Federal de Enfermagem (COFEN), a falta e a má conservação de materiais e equipamentos e, em relação ao posto de trabalho, o dimensionamento inadequado dos espaços para trânsito de pessoas e equipamentos. Concluiu-se que os problemas de maior relevância são de origem organizacional e que os mesmos favorecem e, até mesmo, intensificam os relativos ao posto de trabalho, contribuindo para o elevado índice de atestados e insatisfação entre os Auxiliares de Enfermagem. O estudo é finalizado com sugestões de melhorias, entre elas, o redimensionamento do número de leitos nas enfermarias e quadro de pessoal, promoção de rodízio dos Auxiliares de Enfermagem entre postos de diferentes níveis de exigência, escalonamento apropriado na distribuição de pacientes de acordo com a gravidade do quadro clínico, formação de comitês com reuniões periódicas para discussão de problemas existentes e outras possíveis soluções.