Programador
Resumo
A multiprogramação com uso de Threads é um modelo de programação bastante adequado para utilização em arquiteturas multiprocessadas. Este artigo apresenta uma discussão sobre o uso de associação de afinidades entre fluxos de execução e processadores para otimizar as decisões de escalonamento e obter maior desempenho em aplicações.
Palavras chave: fluxos de execução, processadores, multiprogramação, multiprocessamento.
Abstract
The use of multiprogramming with threads is a programming model well suited for use on multiprocessor architectures. This article presents a discussion on the use of association affinity between threads of processors and optimize scheduling decisions and achieve greater performance in applications.
Key Words: Treads, processors, multiprogramming, multiprocessing.
Introdução
Um dos constantes desafios no desenvolvimento de novas arquiteturas de processadores, ao longo da história, é prover aumento de desempenho associado a baixo custo de produção. Para tal objetivo inúmeras tecnologias são implementadas e aprimoradas ao longo da evolução computacional. O presente artigo discute principalmente uma técnica chamada Threads ou fluxos de execução, sua utilização em nossos processadores e suas características. Threads em inglês significa linha de execução, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas paralelamente. A computação paralela tem como objetivo principal diminuir o tempo de resolução de problemas computacionais de custo elevado, devido a sua complexidade. Existem basicamente duas formas de obter desempenho implementando aplicações concorrentes. A primeira abordagem é por meio de criação de processos, onde a comunicação entre os mesmos é feita por meio de mensagens. Processos são responsáveis pela manutenção de todas as informações necessárias à execução de um programa. A segunda abordagem faz uso de threads, que são