Grand Central Dispatch (GCD), uma tecnologia desenvolvida pela Apple, que é usado para otimizar o suporte de aplicações para sistemas com processadores de múltiplos núcleos e outros sistemas de multiprocessamento simétrico. Trata-se de uma implementação de paralelismo de tarefas com base no padrão de pool de threads.[1]
Para tirar o máximo proveito dos processadores multicore, aplicativos devem ser programado usando uma tecnologia chamada threads. Os desenvolvedores de software utilizam threads para permitir que processadores multicore trabalhem em diferentes partes de um programa ao mesmo tempo. No entanto, cada aplicação deve fazer o seu próprio threading, o que reduz a eficiência do sistema como um todo. E como threads podem ser difíceis de programar, muitos desenvolvedores não investem o esforço necessário para tornar suas aplicações multicore capazes. Consequentemente, muitos aplicativos não são tão rápidos quanto poderiam ser. Grand Central Dispatch promete atender a essa necessidade, tornando mais fácil para os desenvolvedores utilizarem até o último recurso dos sistemas multicore.[2]
A proposta do GCD parecer ser muito interessante, pois promete facilitar o trabalho do desenvolvedor e ainda otimizar ao máximo o uso dos recursos do hardware. Então devemos nos perguntar o quão inovadora e abrangente é a aplicação dessa tecnologia, e verificar na prática tais informações.
Por ser tratar de uma nova tecnologia, suas características como eficiência, facilidade de uso, ainda não foram bem exploradas. O objetivo do trabalho é estudar a tecnologia, entender seu funcionamento e executar testes para obter informações mais claras sobre suas características, como as sitadas acima e as funcionalidades de um modo geral. Para conseguir alcançar esse objetivo é pretendido criar aplicações fortemente paralelizáveis, escrevê-las usando a tecnologia e comparar com soluções que fazem uso de threads de maneira tradicional.
Julho | Agosto | Setembro | Outubro | Novembro | |
Estudo das dificuldades inerentes |
|
|
|
||
Implementação de exemplos |
|
|
|
||
Testes Comparativos |
|
|
|
||
Confecção da monografia |
|
|
|
|
|
Confecção da apresentação |
|
|