Você está na página 1de 7

Uso dos parmetros do autmato celular aplicado ao problema de escalonamento de tarefas

Autor: Tiago Ismailer de Carvalho1 , Orientador: Gina Maira Barbosa de Oliveira1


1

Programa de Ps-Graduao em Cincia da Computao Universidade Federal do Uberlndia (UFU) Uberlndia MG Brasil
tiago-carvalho@comp.ufu.br, gina@facom.ufu.br

Nvel: Mestrado Ms e ano de ingresso no programa: 02/2012 Ms e ano de previso de concluso: 02/2014 Resumo. O paradigma de computao paralela est presente em grande parte dos sistemas atuais. Um desao no uso desse paradigma decidir como os recursos sero distribudos. O problema de escalonamento de tarefas uma representao desse desao. As abordagens mais comuns para sua soluo so as heursticas e metaheursticas. Essas estratgias no reutilizam o conhecimento obtido no processo de busca pelas solues. Uma nova abordagem tem sido usada recentemente: o escalonamento baseado em autmatos celulares. Um modelo com alto nvel de paralelizao que se prope a encontrar e reutilizar o conhecimento sobre o processo de escalonar tarefas. O objetivo dessa pesquisa de mestrado adicionar aos modelos escalonadores da literatura alguns mecanismos de previso do comportamento dinmico dos autmatos celulares melhorando assim a performance desses sistemas. Palavras-Chave. escalonamento de tarefas, autmato celular, algoritmo gentico, parmetros de previso da dinmica dos autmatos celulares

1. Introduo e Motivao
O problema de escalonamento esttico em multiprocessadores conhecido por ser NPCompleto [Garey and Johnson 1979] e consiste em alocar tarefas entre processadores de tal sorte que as restries de precedncia entre as tarefas sejam mantidas e o tempo total de execuo seja minimizado. Apesar das heursticas e metas-heursticas serem capazes de encontrar solues de alta qualidade para o problema, uma das maiores diculdades permanece: minimizar o "overhead" no custo ao executar escalonador. Uma das maiores fontes desse problema negligenciar a capacidade de se obter um conhecimento global do problema do escalonamento. A grande maioria dos algoritmos de escalonamento no extrai, registram ou reusam o conhecimento ao resolver uma instncia do problema. A execuo de um algoritmo gentico para o escalonamento ilustra bem esse problema. Ao executar o AG escalonador uma populao inicial de indivduos evoluda com o uso dos operadores genticos at que um conjunto de solues para uma instncia especca seja encontrado. Para encontrar a soluo de uma nova instncia nenhuma informao da execuo anterior utilizada, portanto, todo o processo de busca reiniciado. Uma soluo para esse problema a utilizao dos autmatos celulares (AC), num sistema escalonador baseado em autmato celular o resultado no a soluo para uma instncia do problema mas sim uma regra de autmato celular com bom desempenho em resolver

qualquer instncia do problema. Os ACs so reconhecidos por apresentarem um paradigma diferenciado de computao. Um termo comumente utilizado para designar esse paradigma Emergent Computing (computao emergente). Em suma, trata-se do fenmeno de formao de padres complexos a partir de uma multiplicidade de interaes simples. Trata-se de uma abordagem bottom-up e, portanto, essencialmente diferente dos paradigmas cientcos comumente utilizados atualmente. O AC formado por um grande nmero de componentes simples que se comportam de acordo com uma regra local. Apesar das clulas interagirem apenas localmente, o AC capaz de realizar um processamento de informao global e coordenado. A maior diculdade relacionada ao uso dos ACs o enorme tamanho do espao de busca das regras, o que impossibilita uma busca exaustiva nesse espao. Por isso, a maioria das aplicaes que envolvem AC utilizam mtodos de busca projetados exclusivamente para o problema que est sendo resolvido. Resultados encontrados na literatura mostram que o uso das tcnicas evolutivas eciente na busca das regras locais do AC. O uso de algoritmos genticos (AG) para realizar essa busca uma das abordagens mais bem sucedidas nessa tarefa. Essa estratgia de busca foi utilizada inicialmente no modelo de escalonador baseado em AC proposto em [Seredynski and Zomaya 2002]. O AG usado em todos os trabalhos correlatos encontrados na literatura e tambm sera usado em nosso trabalho.

2. Fundamentao Terica
2.1. Problema do Escalonamento Esttico de Tarefas Uma instncia do problema do escalonamento esttico de tarefas representada por um grafo ponderado acclico e direcionado G = < V, E> nomeado grafo de precedncia de tarefas ou grafo de programa. V o conjunto de ns do grafo representando as tarefas que devem ser escalonadas. Para cada tarefa t V associado um peso at que representa o tempo necessrio para executar a tarefa em qualquer processador do sistema. O conjunto de arestas do grafo E descreve as relaes de dependncia entre as tarefas. O peso bi,j representa o custo de comunicao entre as tarefas i e j quando elas esto alocadas em processadores diferentes. Esse peso no considerado caso elas estejam no mesmo processador. A Figura 1 mostra o grafo de tarefas do programa conhecido como GAUSS18.

Figura 1. Exemplo de grafo de programa: GAUSS18

O propsito do problema do escalonamento esttico de tarefas denir a distribuio das tarefas entre os processadores e a ordem de execuo das tarefas em cada processador de

tal sorte que a ordem de precedncia expressa pelo grafo de programa seja respeitada e o tempo total do escalonamento seja mnimo. 2.2. Autmatos Celulares O autmato celular um exemplo de modelo em que uma regra xa aplicada a congurao atual do sistema dene seu comportamento no prximo perodo de tempo (sistema dinmico). Um AC consiste num reticulado de clulas, cada uma podendo estar num conjunto de estados, um exemplo de conjunto pode ser: ligado ou desligado 0 ou 1. Esse reticulado no tem restries de tamanho e tambm pode ser organizado em inmeras dimenses. Para cada clula denido um conjunto das clulas mais prximas e esse conjunto nomeado vizinhana. O parmetro raio R utilizado para denir esse conjunto, assim, para um AC unidimensional, as vizinhas de uma clula numa posio N so as clulas no intervalo [N R, N + R]. O comportamento do reticulado no prximo passo de tempo denido por uma regra de transio que aplicada sobre a vizinhana de cada clula para determinar o novo estado dessa clula. A regra de transio pode ser aplicada sobre as clulas do reticulado por quantos passos de tempo forem necessrios. Esse processo nomeado evoluo temporal do autmato celular. A Figura 2 exemplica o funcionamento do AC com apenas uma dimenso (unidimensional) e apenas dois estados por clula (binrio) de raio R=1. Nela possvel ver que a regra de transio dene o estado da clula central para todas as oito vizinhanas possveis 000, 001, 010, 011, 100, 101, 110, 111. Essa gura destaca a atualizao de estado da terceira clula do reticulado de t = 0 para t = 1. Nesse caso, a vizinhana atual da terceira clula 001, ento a regra de transio estabelece para essa vizinhana que o estado da clula deve ser mantido em 0 no prximo instante de tempo.

Figura 2. Exemplo de evoluo temporal de um AC binrio e unidimensional

Para o AC unidimensional o tamanho da vizinhana 2R + 1 e o tamanho da regra de transio T pode ser expresso da seguinte forma: T = 2R + 1. Como cada posio da regra 0 ou 1, o nmero de todas as regras possveis 2T . Assim, um AC com raio igual a 2 tem o tamanho da vizinhana igual a cinco, ento o tamanho da regra igual a 32 e o nmero de regras possveis 232 . Esse raciocnio aplica-se apenas para o modelo de AC binrio e unidimensional. Apesar disso, possvel perceber que a medida com que R cresce, o nmero de regras aumenta muito rapidamente. Esse tamanho do espao de regras um dos maiores desaos dos autmatos celulares e uma abordagem bem sucedida encontrada na literatura o uso do AG para realizar a busca nesse espao.

2.3. Comportamento Dinmico dos Autmatos Celulares O comportamento de um autmato celular determinado por uma regra simples e local que realiza uma computao descentralizada e distribuda. Uma grande contribuio na pesquisa dos autmatos celulares foi feita nos trabalhos de Wolfram [Wolfram 2002]. Esse autor mostrou que apesar das regras do AC serem locais, o comportamento gerado por elas global e coordenado. Alm disso os trabalhos do autor mostram que a dinmica que ser obtida ao longo da evoluo depende mais da regra que est sendo aplicada do que das condies iniciais do sistema. O referido autor prope uma abordagem para classicao e anlise dos ACs. A estratgia observar o que ocorre no reticulado aps a aplicao sucessiva da regra de transio. Stephen Wolfram deniu quatro classes em que as regras dos autmatos celulares podem ser divididas a partir da observao de sua dinmica. Abaixo esto as 6 classes denidas por Wentian Li e Norman Packard [Li et al. 1990], uma expanso e renamento do trabalho de Wolfram. Regras Nulas: a congurao nal do reticulado formada to somente por 0s ou por 1s Regras Ponto Fixo: a congurao nal do reticulado no se altera, com um possvel deslocamento espacial, se aplicarmos novamente a regra do AC Regras Peridicas: a congurao nal do reticulado no se altera, com um possvel deslocamento, aplicao da Regra n vezes, com n independente ou fracamente dependente em relao ao tamanho do reticulado Regras Caticas: As regras produzem dinmicas no peridicas e geram um nmero exponencial de padres em relao ao tamanho do reticulado Regras Complexas: As regras geram padres complexos, mas no caticos, e suas estruturas exibem certa disposio ordenada ou organizao . . .

3. Contribuio do Trabalho
A dinmica das regras inuencia fortemente o desempenho de uma regra do autmato celular em alguns problemas. No trabalho [Oliveira et al. 2001] os autores se prope a melhorar o desempenho dos ACs atravs da observao da dinmica das regras. Uma estratgia bem sucedida no entendimento do processo de computao dos ACs a utilizao dos parmetros de previso de comportamento dinmico. O parmetro um valor numrico, calculado a partir da regra de transio, que mede o quanto essa regra caracterizada por ele. A contribuio maior do trabalho [Langton 1990] mostrar que a anlise do parmetro (atividade) consegue indicar a complexidade de uma regra. O clculo desse parmetro bastante simples, mesmo assim, demonstra como funciona a estratgia de uso dos parmetros. Para calcular esse parmetro, no caso do AC binrio, basta contar o nmero de zeros contidos na regra e dividir pelo tamanho total da regra. Em nenhum trabalho encontrado na literatura os parmetros so utilizados para auxiliar na soluo do problema do escalonamento. Vislumbra-se com nosso trabalho a formulao de um ou mais parmetros de previso de comportamento dinmico capazes de identicar regras com boa capacidade de resolver instncias do problema escalonamento esttico de tarefas. A estratgia encontrada nos trabalhos da literatura baseia-se em duas etapas. Na etapa de treinamento as regras do AC so treinadas e na etapa de operao essas regras so utilizadas para resolver instncias (grafos) do problema do escalonamento. Em todos esses trabalhos, as regras so treinada em um ambiente que utiliza apenas uma instncia do problema. Acreditamos que uma modicao no modo de treinamento pode melhorar o desempenho dos sistemas

de escalonamento baseados em autmato celular. O ambiente de treinamento que deve ser desenvolvido em nosso trabalho deve utilizar uma base de treinamento constituda por diferentes instncias do problema.

4. Desenvolvimento do Trabalho
Nosso objetivo melhorar os modelos de escalonadores estado da arte propostos em [Carneiro and Oliveira 2011] [Carneiro and Oliveira 2013]. Nossa metodologia consiste em reproduzir os modelos propostos por esse trabalhos e depois adicionar nossas contribuies. A tabela 1 abaixo apresenta os resultados da reproduo do modelo EACS proposto em [Carneiro and Oliveira 2011]. Na tabela, BEST representa o desempenho da melhor regra encontrada no modo de aprendizagem entre as 20 execues do algoritmo gentico. O valor AVG encontrado pela mdia da aptido da melhor regra encontrada em cada execuo do algoritmo gentico.
Tabela 1. Comparativo entre EACS original e o modelo reproduzido

O algoritmo gentico no garante convergncia para o timo global. No entanto o melhor escalonamento, encontrado por mtodos de busca exaustiva, para os grafos Gauss18, G18 e G40 respectivamente 44, 46 e 80. A gura 3 abaixo apresenta esses grafos. O prximo passo de nosso trabalho reproduzir os modelos EACSH e EACSHV [Carneiro and Oliveira 2013]. Depois disso os parmetros de previso da dinmica sero implementados e adicionados a esses dois sistemas. Acredita-se que o desempenho desse novo escalonador que utiliza os parmetros supere o performance dos modelos anteriores. A vericao estatstica dessa hiptese deve ser realizada. Da mesma forma, o novo ambiente de treinamento com mltiplos grafos de programa (captulo 3) ser desenvolvido e testado.

Figura 3. Grafos de programa: (a) G18 ; (b) G40

5. Trabalhos Relacionados
Seredynski [Seredynski and Zomaya 2002] apresenta um modelo referncia para todos trabalhos consequentes. Nesse escalonador e em todos os modelos subsequentes cada clula do reticulado representa uma tarefa do grafo de programa. Portanto, em um grafo com N tarefas o reticulado do AC deve ter N clulas, cada clula representa uma tarefa. O conjunto de estados possveis para cada clula indicam qual processador cada tarefa vai ser alocada. Em sistema com dois processadores, o conjunto de estados composto com 0 e 1. Ento a clula nmero 9 no estado 1, indica que a tarefa 9 sera escalonada no processador P1. Nos sistemas baseados em AC o autmato celular distribui as tarefas entre os processadores e a aplicao da poltica de escalonamento dene a ordem em que as tarefas vo ser executadas dentro de cada processador. A poltica de escalonamento deve ser xa para cada execuo e igual para todos processadores. A poltica usada nos trabalhos da literatura consiste em ordenar a tarefa em ordem decrescente do valor de b-level. O calculo desse parmetro de uma tarefa t , bt consiste em encontrar o caminho de valor mximo, considerando custos computacionais e de comunicao, de t at uma tarefa de sada do grafo de programa (folha). Outro conceito bsico apresentado em [Seredynski and Zomaya 2002] a estrutura do AG responsvel por encontrar regras com bom desempenho no escalonamento. Esse AG gera uma populao inicial de regras e para cada regra criado um conjunto de reticulados aleatrios em que a regra aplicada por nmero de passos. A avaliao da regra a soma do (makespan) do escalonamento obtido no ltimo passo de evoluo do AC de cada reticulado aleatrio. O valor makespan de um escalonamento o tempo em que a ltima tarefa termina sua execuo. Ento, o AG seleciona parte dos melhores indivduos para a prxima gerao (elitismo), o restante da populao de lhos obtida pela aplicao dos operadores genticos em pais selecionados dentro dos melhores indivduos. Em [Carneiro and Oliveira 2011] o autor prope um escalonador que no usa estratgias elitistas que tem desempenho parecido com os modelos de Seredynski. J no trabalho [Carneiro and Oliveira 2013] o autor prope a substituio do conjunto de reticulados aleatrios por apenas um reticulado inicial determinado por uma heurstica. Tambm nesse trabalho apresentado o melhor modelo de vizinhana do autmato celular que ser usado em nosso trabalho. No trabalho [Vidica and Oliveira 2006] apresentado um AG presa-predador onde a regra do AC e os reticulados aleatrios so evoludos simultaneamente. Essa estratgia evolutiva obteve bons resultados e ser incorporada ao nosso modelo. Outras estratgias mais recentes para o problema do escalonamento so as metaheursticas que utilizam uma combinao entre escolhas aleatrias e um histrico dos resultados anteriores para guiar a busca de solues. A maioria dos trabalhos publicados em (2009-2013) utilizam as meta-heursticas evolutivas, colnia de abelhas [Pan et al. 2011], otimizao por enxame de partculas [Zhang et al. 2009], algoritmo gentico mono [Peteghem and Vanhoucke 2010] e colnia de formigas [Chen and Zhang 2009]. O conceito geral desse tipo de algoritmo a construo de um conjunto de solues atravs de operaes no determinsticas ou probabilsticas

Referncias
Carneiro, M. G. and Oliveira, G. (2011). Cellular automata-based model with synchronous updating for task static scheduling. In Proceedings of 17th International workshop on cellular automata and discrete complex system, pages 263272.

Carneiro, M. G. and Oliveira, G. M. (2013). Synchronous cellular automata-based scheduler initialized by heuristic and modeled by a pseudo-linear neighborhood. Natural Computing, pages 113. Chen, W.-N. and Zhang, J. (2009). An ant colony optimization approach to a grid workow scheduling problem with various qos requirements. Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions on, 39(1):2943. Garey, M. R. and Johnson, D. S. (1979). Computers and intractability, volume 174. Freeman New York. Langton, C. G. (1990). Computation at the edge of chaos: phase transitions and emergent computation. Physica D: Nonlinear Phenomena, 42(1):1237. Li, W., Packard, N. H., and Langton, C. G. (1990). Transition phenomena in cellular automata rule space. Physica D: Nonlinear Phenomena, 45(1):7794. Oliveira, G. M., De Oliveira, P. P., and Omar, N. (2001). Denition and application of a veparameter characterization of one-dimensional cellular automata rule space. Articial Life, 7(3):277301. Pan, Q.-K., Fatih Tasgetiren, M., Suganthan, P. N., and Chua, T. J. (2011). A discrete articial bee colony algorithm for the lot-streaming ow shop scheduling problem. Information Sciences, 181(12):24552468. Peteghem, V. V. and Vanhoucke, M. (2010). A genetic algorithm for the preemptive and nonpreemptive multi-mode resource-constrained project scheduling problem. European Journal of Operational Research, 201(2):409418. Seredynski, F. and Zomaya, A. Y. (2002). Sequential and parallel cellular automata-based scheduling algorithms. Parallel and Distributed Systems, IEEE Transactions on, 13(10):1009 1023. Vidica, P. M. and Oliveira, G. M. B. d. (2006). Cellular automata-based scheduling: A new approach to improve generalization ability of evolved rules. In Neural Networks, 2006. SBRN06. Ninth Brazilian Symposium on, pages 1823. IEEE. Wolfram, S. (2002). A new kind of science, volume 5. Wolfram media Champaign. Zhang, G., Shao, X., Li, P., and Gao, L. (2009). An effective hybrid particle swarm optimization algorithm for multi-objective exible job-shop scheduling problem. Computers & Industrial Engineering, 56(4):13091318.

Você também pode gostar