Problema das sequências justas ponderadas
Texto
(2)
(3) Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI Catalogação de Publicação na Fonte. UFRN - Biblioteca Central Zila Mamede. Pessoa, Bruno Jefferson de Sousa. Problema das sequências justas ponderadas / Bruno Jefferson de Sousa Pessoa. - 2017. 84 f.: il. Tese (doutorado) - Universidade Federal do Rio Grande do Norte, Centro de Tecnologia, Programa de Pós-Graduação em Engenharia Elétrica e da Computação. Natal, RN, 2017. Orientador: Prof. Dr. Daniel Aloise.. 1. Engenharia da computação - Tese. 2. Escalonamento - Tese. 3. Sequências justas - Tese. 4. Programação inteira mista Tese. I. Aloise, Daniel. II. Título. RN/UF/BCZM. CDU 004.
(4)
(5) Problema das Sequências Justas Ponderadas. Bruno Jefferson de Sousa Pessoa. Tese de Doutorado aprovada em 15 de dezembro de 2017 pela banca examinadora composta pelos seguintes membros:. Prof. Dr. Daniel Aloise (orientador) . . . . . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN. Prof. Dr. Lucídio dos Anjos Cabral Formiga . . . . . . . . . . . . . . . . . . . . DCC/UFPB. Prof. Dr. Manoel Bezerra Campêlo Neto . . . . . . . . . . . . . . . . . . . . . . DEMA/UFC. Prof. Dr. Fábio Meneghetti Ugulino de Araújo . . . . . . . . . . . . . . . . . DCA/UFRN. Prof. Dr. Ivanovitch Medeiros Dantas da Silva . . . . . . . . . . . . . . . . . . IMD/UFRN.
(6)
(7) À minha esposa, Karinna, e à minha filha, Lara..
(8)
(9) Agradecimentos. A Deus. A meus pais, Vladimy e Delma. A eles devo todas as minhas conquistas. A meus irmão, Bruna e Breno, por simplesmente existirem e me inspirarem a ser o melhor possível. À minha tia Elza (in memoriam), pelo exemplo de pessoa e educadora. À minha avó Darcira, por ter ajudado na minha criação com tanto amor e carinho. À minha esposa, Karinna, e à minha filha, Lara, por terem sido a força que me fez seguir adiante e não desistir no meio do caminho. É para elas que dedico este trabalho. À família da minha esposa, pelo apoio, sobretudo à minha sogra, Cristina, que cuidou de Lara e esteve conosco nos momentos mais difíceis da jornada. Aos amigos Adson, Dimitri, Elton, Heverton, José Jorge e Patrick, pelo suporte e inspiração. Sem eles, a caminhada seria bem mais difícil. Àqueles que contribuíram direta ou indiretamente com o trabalho, tais como Quirino, Gilberto, Anand, Vinicius e, sobretudo, ao prof. Manoel Campelo. A Lucídio, pelo carinho e apoio oferecidos, em todos os sentidos, para o desenvolvimento do trabalho. Serei eternamente grato por tudo. A Daniel, pela orientação e pelo aprendizado proporcionados..
(10)
(11) Resumo. Problemas de escalonamento aos quais são impostas restrições relativas às distâncias temporais entre sucessivas execuções de uma mesma tarefa possuem um grande número de aplicações, que variam desde o escalonamento de tarefas em sistemas de tempo real à produção de automóveis em uma linha de montagem. O presente trabalho apresenta um novo problema de otimização, denominado de Problema das Sequências Justas Ponderadas (PSJP), que faz parte dessa classe de problemas. Além do estudo da complexidade computacional do PSJP, é apresentada uma formulação matemática baseada em programação linear inteira mista e uma série de cortes que aprimoram sua resolução via métodos exatos. Para resolvê-lo, foram elaborados um método iterativo que reduz o número de variáveis da formulação proposta e uma solução heurística desenvolvida a partir da combinação de meta-heurísticas clássicas da literatura. Experimentos computacionais mostram que, para um dado limite de tempo, as abordagens propostas aumentam significativamente o número de instâncias resolvidas, preservando-se a qualidade das soluções. Palavras-chave: Escalonamento, Sequências Justas, Programação Inteira Mista..
(12)
(13) Abstract. Scheduling problems on which constraints are imposed with regard to the temporal distances between successive executions of the same task have numerous applications, ranging from task scheduling in real-time systems to automobile production on a mixedmodel assembly line. This paper introduces a new NP-hard optimization problem belonging to this class of problems, namely the Weighted Fair Sequences Problem (WFSP). In addition to the study of the computational complexity of the WFSP, we present a mathematical formulation based on mixed-integer linear programming as well as a serie of cuts that improve the problem resolution via exact methods. To solve the WFSP, we propose an iterative method that greatly reduces the number of variables in the WFSP formulation and a heuristic solution developed from the combination of classical metaheuristics from the literature. Computational experiments show that, for a given time limit, the proposed approaches significantly increase the number of instances solved, preserving the quality of the solutions. Keywords: Scheduling, Fair Sequences, Integer-Mixed Programming..
(14)
(15) Sumário. Sumário. i. Lista de Figuras. iii. Lista de Tabelas. v. Lista de Símbolos e Abreviaturas. vii. 1. Introdução 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Estrutura da Tese . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1 2 3 4. 2. Definição do Problema 2.1 Complexidade computacional do PSJP . . . . . . . . . . . . . . . . . . .. 5 5. 3. Revisão da Literatura 3.1 Problema de escalonamento de tarefas periódicas . 3.2 Escalonamento P-Fair . . . . . . . . . . . . . . . 3.3 Problema de escalonamento pinwheel . . . . . . . 3.4 Problema de escalonamento com distâncias restritas 3.5 Escalonamento stride . . . . . . . . . . . . . . . . 3.6 Problema da variação da taxa de produção . . . . . 3.7 Problema da variabilidade do tempo de resposta . . 3.8 Problema de escalonamento de anúncios de TV . . 3.9 Problema do Broadcast de Dados . . . . . . . . . . 3.10 Classificação dos problemas . . . . . . . . . . . .. . . . . . . . . . .. 9 11 13 14 16 17 19 20 21 23 26. 4. Formulação Matemática 4.1 Descrição da formulação . . . . . . . . . . . . . . . . . . . . . . . . . .. 29 29. 5. Soluções Propostas 5.1 Cortes . . . . . . . . . . . . . . . 5.2 Método iterativo . . . . . . . . . . 5.3 Meta-heurística híbrida . . . . . . 5.3.1 Procedimento construtivo 5.3.2 Busca local . . . . . . . .. 35 35 38 39 40 41. i. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . . . . . . .. . . . . .. . . . . ..
(16) 5.3.3 6. 7. Mecanismo de pertubação . . . . . . . . . . . . . . . . . . . . .. Resultados computacionais 6.1 Instâncias . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Avaliação dos cortes . . . . . . . . . . . . . . . . . . . . . 6.3 Método iterativo . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Comparação entre os métodos baseados em PLIM . 6.3.2 Limites de performance . . . . . . . . . . . . . . . 6.4 Meta-heurística híbrida . . . . . . . . . . . . . . . . . . . . 6.4.1 Comparação entre o método iterativo e o MILS-VND Considerações Finais. Referências bibliográficas. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 43 45 45 45 46 48 49 51 52 57 58.
(17) Lista de Figuras. 2.1. Distribuição uniforme e não-uniforme de símbolos. . . . . . . . . . . . .. 3.1. Dois escalonamentos para uma tarefa xi com pi = 7 e xi = 3. O escalonamento de cima é periódico, enquanto que o outro é P-Fair. . . . . . . . . Mensagens transmitidas pelo conjunto de satélites S = {1, 2, 3} conforme a estratégia de escalonamento pinwheel. . . . . . . . . . . . . . . . . . . Escalonamentos para um conjunto de clientes X = {x1 , x2 , . . . , x101 }, com o primeiro recebendo 100 tickets e os demais apenas um: (a) solução ideal segundo o paradigma de compartilhamento proporcional; (b) solução através do escalonamento stride básico. . . . . . . . . . . . . . . . . Posições ideais para um produto xi com di = 3, D = 17 e função de desvio fi (wik − kri ) = |wik − kri |. . . . . . . . . . . . . . . . . . . . . . . . . . Transmissão de mensagens na arquitetura Broadcast Disks. . . . . . . . .. 3.2 3.3. 3.4 3.5 4.1. 4.2 4.3 6.1 6.2 6.3 6.4. Sequência ótima para o conjunto de símbolos X = {1, 2, 3, 4, 5}, com prioridades c1 = 10, c2 = 9, c3 = 8, c4 = 7, c5 = 6, número máximo de cópias Mi = 5, ∀xi ∈ X e T MAX = 15. . . . . . . . . . . . . . . . . . . . Noção sobre ciclos com ênfase na distância entre a última cópia do símbolo 1 no ciclo t e a primeira cópia do mesmo símbolo no ciclo t + 1. . . . Representação da sequência 2-1-5-3-1-5 com ênfase nas subsequências correspondentes às variáveis U1 (a), R1 (b) e W1 (c). . . . . . . . . . . . . Percentual de instâncias não resolvidas em função do número de símbolos, para T MAX = 2n e 3n. . . . . . . . . . . . . . . . . . . . . . . . . . Valores máximo de T MAX em função do número de símbolos. . . . . . . Percentual médio de contribuição das etapas do MILS-VND no aprimoramento das soluções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Soluções obtidas por cada etapa do MILS-VND na resolução da classe cls_13_52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. iii. 6 14 16. 18 20 25. 31 31 32 50 50 53 54.
(18)
(19) Lista de Tabelas. 3.1 3.2 3.3 3.4 3.5 6.1 6.2 6.3 6.4 6.5 6.6. Intervalo de tempo (em slots) permitido para a execução tarefa xi da Figura 3.1 a cada instante de tempo u, segundo o escalonamento P-Fair. . . Anúncios a serem transmitidos. . . . . . . . . . . . . . . . . . . . . . . . Escalonamento dos anúncios nos spots adquiridos. . . . . . . . . . . . . Somatório dos desvios absolutos entre as distâncias temporais de transmissões consecutivas de um anúncio e a distância ideal. . . . . . . . . . . Comparação entre os problemas. . . . . . . . . . . . . . . . . . . . . . . Comparação dos modelos PSJP resultantes da utilização dos cortes propostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados relativos ao método iterativo. . . . . . . . . . . . . . . . . . . Tempo de execução médio obtido pelo solver na resolução do modelo PSJP_C e pelo método iterativo MI. . . . . . . . . . . . . . . . . . . . . Comparação dos métodos propostos com base nas melhores soluções obtidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resultados da meta-heurística MILS-VND. . . . . . . . . . . . . . . . . Comparação das melhores soluções obtidas pelo método iterativo e o MILS-VND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. v. 15 23 23 24 28 46 47 48 49 51 55.
(20)
(21) Lista de Símbolos e Abreviaturas. ATM:. Asynchronous Transfer Mode. EDF:. Earliest Deadline First. ILS:. Iterated local search. ISCI:. Industry Standard Commercial Identification. mRTP:. Versão minmax do RTVP. NBC:. National Broadcasting Company. NMC:. Modelo matemático que trata do número máximo de cópias dos símbolos. PLIM:. Programação Linear Inteira Mista. PMSP:. Periodic Maintenance Scheduling Problem. PRVP:. Product Rate Variation Problem. PSJP:. Problema das Sequências Justas Ponderadas. RM:. Rate Monotonic. RTVP:. Response Time Variability Problem. VND:. Variable Neighborhood Descent. vii.
(22)
(23) Capítulo 1 Introdução. Problemas de sequenciamento e escalonamento (scheduling) têm sido intensamente estudados desde a década de 1950. Sua importância cresceu juntamente com o desenvolvimento da indústria e de seus processos de fabricação e, por consequência, se tornaram uma das mais importantes classes de problemas abordados na área de Pesquisa Operacional. Segundo Pinedo (2008), tais problemas estão relacionados à alocação de tarefas a recursos escassos ao longo do tempo. São considerados recursos, por exemplo, máquinas na indústria manufatureira, unidades de processamento em um ambiente de computação multiprocessada, slots de tempo em um canal de transmissão multiplexado no tempo, pistas de pouso de aeronaves, tripulação de empresas aéreas, etc. Já com relação às tarefas, podem-se citar as operações de um processo de produção, a execução de programas de computador, a transmissão de pacotes de dados em um rede de computadores, decolagem e pouso de aeronaves, voos comerciais de empresas aéreas, entre outros. Normalmente, os problemas de escalonamento são abordados em duas etapas: sequenciamento e escalonamento (Baker & Trietsch 2009). O primeiro diz respeito ao planejamento de uma sequência de tarefas a serem realizadas, e o último considera aspectos como tempo de início e término de uma tarefa, período de execução, ou seja, características relacionadas com a programação das tarefas no tempo. Para fins de simplicidade, daqui em diante os termos sequenciamento e escalonamento são tratados apenas como escalonamento ou scheduling. Devido à sua importância e ao grande número de aplicações que surgiram ao longo do tempo, a literatura que aborda problemas de escalonamento é vasta e ainda se encontra em contínuo crescimento. Portanto, qualquer iniciativa de pesquisa na área deve limitar o escopo investigativo, focando em uma de suas subáreas. Trabalhos mais abrangentes podem ser encontrados em (Brucker 2010, Leung et al. 2004, Baker & Trietsch 2009, Pinedo 2008). Dentre os diversos problemas de escalonamento existentes, alguns focaram em aplicações que envolvem o compartilhamento proporcional de recursos ao longo do tempo. Tais aplicações envolvem desde a minimização de custos em uma linha de montagem de automóveis ao escalonamento de processos em sistemas de tempo real. A Toyota foi uma das primeiras empresas a perceber que produzir uma sequência de cópias de um mesmo modelo de automóvel, tão próximas quanto possível uma da outra, resulta em um excesso de estoque por um lado, e em máquinas ociosas, por outro. Assim, ela criou o modelo.
(24) 2. CAPÍTULO 1. INTRODUÇÃO. de produção Just-in-Time, que consiste em produzir cópias de um mesmo modelo em uma taxa de produção uniforme ao longo do tempo (Dhamala & Kubiak 2005). Como resultado, há uma redução nos custos de estocagem e uma minimização da ociosidade de máquinas durante o processo de produção (Kubiak 2004). Problemas de escalonamento aos quais são impostas restrições relativas às distâncias temporais entre sucessivas execuções de uma tarefa ou atividade são frequentemente tratados na literatura como problemas de escalonamento de distâncias restritas (Han et al. 1996) ou simplesmente de sequências justas (Kubiak 2004). Neste trabalho, é apresentado um novo problema de otimização, denominado de problema das sequências justas ponderadas (PSJP), que faz parte dessa classe de problemas. De modo mais específico, o PSJP é um problema de escalonamento periódico com horizonte de tempo finito, que, dado um conjunto de tarefas com diferentes prioridades, objetiva construir uma sequência de tarefas tal que o máximo produto entre a maior distância temporal entre duas execuções sucessivas de uma tarefa e sua prioridade seja minimizada. É importante destacar que o número de execuções de cada tarefa é variável e está relacionado com sua prioridade. Quando analisadas em conjunto, tais características conferem ao PSJP os requisitos necessários para ser considerado um novo problema de escalonamento.. 1.1. Motivação. O PSJP abrange uma grande quantidade de aplicações específicas, até então negligenciadas, pertencentes a diferentes áreas de conhecimento. Abaixo são discutidos alguns cenários envolvendo o PSJP. Em um sistema de TV Digital, parte da banda alocada para as emissoras é reservada para a transmissão de aplicações interativas, isto é, programas de computador capazes de proporcionar interatividade entre os telespectadores e o conteúdo televisivo (Morris 2005). Além de aprimorar a forma usual de assistir TV, tais programas permitem o anúncio de produtos de uma forma mais dinâmica. Eles são transmitidos de forma cíclica, via broadcast, de servidores para clientes em um canal de comunicação unidirecional. Para baixá-los, os terminais dos clientes precisam escutar o canal de comunicação até a chegada dos dados solicitados. Um ciclo ou uma sequência de transmissões é constituído de um conjunto ordenado de aplicações, que podem ser transmitidas várias vezes dentro de um ciclo de acordo com sua prioridade. Ao fim da transmissão da última aplicação no ciclo, a primeira é transmitida novamente. Considerando que aplicações com prioridades maiores (ex. aquelas cujos anunciantes pagam mais por sua veiculação) devem ser transmitidas em uma frequência maior que as demais, e que a frequência ótima também constitui uma variável do problema, objetiva-se minimizar a máxima distância temporal entre transmissões sucessivas de uma mesma aplicação e, consequentemente, o tempo de espera dos clientes pelos recursos requeridos. O período da sequência de transmissões é variável, finito e limitado a um valor máximo, que normalmente corresponde à duração de um programa de TV, de um quadro específico dentro de um programa ou do tempo reservado para os comerciais. De um modo geral, o PSJP ocorre na maioria das aplicações push system (Bar-Noy & Ladner 2003), em ambientes que envolvem broadcast de dados (Kenyonand & Schabanel 2003, Kim & Glass 2014) e também pode ser aplicado.
(25) 1.2. CONTRIBUIÇÕES. 3. no escalonamento de anúncios tradicional (García-Villoria & Salhi 2014). Outro contexto no qual o PSJP pode ser aplicado diz respeito ao problema de manutenção periódica de máquinas (Anily et al. 1998, Bar-Noy et al. 2002). Nesse cenário, um escalonamento de manutenções deve ser elaborado visando minimizar o tempo decorrido entre duas manutenções sucessivas, dado que os custos de operação das máquinas crescem com o tempo decorrido desde a última manutenção efetivada. Como cada máquina possui um custo de operação particular, algumas delas são priorizadas no escalonamento dos serviços de manutenção. Por conseguinte, a frequência ideal dos serviços de manutenção de cada máquina constitui uma variável do problema. Além do mais, na maioria das situações reais, há uma limitação com relação ao horizonte de tempo (ex. um dia, uma semana) no qual os serviços de manutenção devem estar compreendidos, o qual deve ser finito e obedecer a um cronograma estabelecido a priori. O escalonamento de processos em sistemas de tempo real também está dentro do escopo coberto pelo PSJP (Waldspurger & Weihl. W. 1995). Em alguns sistemas de tempo real, deseja-se estabelecer um escalonamento de processos baseado no chamado controle de compartilhamento proporcional, a fim de minimizar o tempo de resposta de cada processo quando solicitado. Para isso, os processos devem ser executados em uma taxa uniforme ao longo do tempo, mediante uma estratégia de atribuição de prioridades que tem por objetivo refletir o grau de importância de cada tarefa. Como nos exemplos anteriores, os processos com maiores prioridades devem ser executados em uma frequência maior que os demais. Para evitar situações de starvation, isto é, quando processos menos prioritários demoram muito para ser executados, limita-se o período máximo das sequências criadas e se estabelece uma frequência mínima para cada processo.. 1.2. Contribuições. Além de apresentar um novo problema de otimização com uma grande diversidade de aplicações, o presente trabalho possui uma série de contribuições, dentre as quais destacam-se: • Estudo da complexidade computacional do problema. O problema das sequências justas ponderadas é provado ser NP-difícil; • Revisão detalhada dos principais trabalhos relacionados, destacando as particularidades do PSJP e o lugar por ele ocupado na classe de problemas da qual faz parte; • Formulação matemática com base em programação linear inteira mista (PLIM). A abordagem PLIM ainda é pouco explorada pelos trabalhos que tratam de problemas correlatos, sendo a maioria formulada a partir de modelos de programação não linear; • Elaboração de cortes válidos que reduzem o espaço de busca do problema, permitindo sua resolução por meio de métodos exatos; • Formulação de um modelo matemático que produz limites inferiores próximos das soluções ótimas; • Desenvolvimento de métodos exatos e heurísticos para resolver o PSJP..
(26) 4. CAPÍTULO 1. INTRODUÇÃO. 1.3. Estrutura da Tese. O restante do trabalho é organizado como segue: • No Capítulo 2, o problema das sequências justas ponderadas é definido formalmente e é apresentada uma prova de que ele é NP-difícil; • No Capítulo 3, é apresentada uma revisão da literatura a partir da descrição detalhada dos principais problemas de escalonamento relacionados com o PSJP; • O Capítulo 4 introduz a formulação proposta, baseada em programação linear inteira mista, e um conjunto de cortes válidos que aprimoram a resolução da formulação via métodos exatos; • O Capítulo 5, por sua vez, descreve os métodos exatos e heurísticos propostos para a resolver o PSJP; • No Capítulo 6 são apresentados os resultados computacionais; • Por fim, o Capítulo 7 apresenta as conclusões do trabalho..
(27) Capítulo 2 Definição do Problema. Matematicamente, o PSJP pode ser definido como segue. Seja X = {x1 , x2 , . . . , xn } um conjunto de símbolos, cada um deles com tamanho unitário, e c : X → Z+ uma função que determina suas prioridades. Para um símbolo xi , sua prioridade é denotada por ci = c(xi ). Considere uma sequência S = s1 , s2 , . . . , sT de T símbolos, com T ≤ T MAX, onde T MAX é um parâmetro do problema que corresponde ao tamanho máximo das sequências viáveis. A frequência ou o número de ocorrências dos símbolos em S é uma variável do problema e no mínimo igual a um. A distância di,k,k+1 entre as ocorrências ou cópias k e k + 1 do símbolo xi ∈ X é o número de símbolos entre eles mais um. Assumindo que l é o índice da última cópia do símbolo xi em uma sequência qualquer, di,l,1 é a distância entre a última cópia de xi em um ciclo e sua primeira cópia no ciclo subsequente. Sendo Di = max{maxk=1,...,l−1 {di,k,k+1 }, di,l,1 } a maior distância entre todas as ocorrências sucessivas do símbolo xi , incluindo di,l,1 , o objetivo é encontrar uma sequência S que minimize o maior produto Di ci , para i = 1, . . . , n. A Figura 2.1 ilustra soluções distintas para um conjunto de símbolos X = {A, B,C, D, E, F} com prioridades cA > cB = cC = cD > cE = cF . Elas representam duas soluções viáveis com diferentes distribuições de símbolos. Na Solução 1, as cópias de um dado símbolo são posicionadas uma após a outra. Já na segunda solução, as cópias são distribuídas de modo que a diferença entre as distâncias das cópias consecutivas de um mesmo símbolo seja minimizada. Comparando as soluções com base nas distâncias entre cópias do símbolo A, observa-se que há uma redução na maior distância de DA = 9 na Solução 1 para DA = 3 na Solução 2. Consequentemente, há também uma redução no valor do produto DA cA . Como a minimização da maior distância se estende a todos os símbolos, a Solução 2 consiste em uma solução melhor do que a Solução 1.. 2.1. Complexidade computacional do PSJP. Nesta seção, demonstra-se que a versão de decisão do PSJP é NP-completa. A redução é obtida a partir do problema de escalonamento de manutenções periódica (PMSP, do inglês periodic maintenance scheduling problem), descrito em (Bar-Noy et al. 2002) e apresentado a seguir. Dadas n máquinas e intervalos de serviço l1 , l2 , . . . , ln tal que ∑ni=1 l1i ≤ 1, existe um escalonamento de serviços de manutenção infinito no qual a distância temporal entre os serviços consecutivos da máquina i é exatamente li slots e não mais.
(28) 6. CAPÍTULO 2. DEFINIÇÃO DO PROBLEMA. Figura 2.1: Distribuição uniforme e não-uniforme de símbolos. do que um serviço de manutenção é realizado por slot de tempo? Para aproximar os dois problemas, considere a versão de decisão do PSJP descrita a seguir. Dado um inteiro B e um conjunto de símbolos X = {x1 , . . . , xn }, cada um deles com tamanho unitário, e prioridades c1 , c2 , . . . , cn ∈ Z+ , existe uma sequência de símbolos cujo maior produto Pi = ci Di , associado a cada xi ∈ X, é menor ou igual a B? Mostra-se que uma resposta positiva ou negativa para uma das questões implica necessariamente a mesma resposta para a outra. Proposição 1. Seja S uma sequência solução de tamanho T para o PSJP, e mi o número de cópias utilizadas do símbolo xi ∈ X em S. As desigualdades T ≤ Di mi são sempre válidas, para i = 1, . . . , n. Demonstração. Seja di,mi ,1 a distância entre a última cópia alocada do símbolo xi em um ciclo e a primeira cópia de xi no ciclo subsequente. Assuma que a maior distância entre cópias consecutivas de xi é Di = max{maxk=1,...,mi−1 {di,k,k+1 }, di,mi ,1 }. Sendo assim, mi −1. T=. ∑ k=1. mi. di,k,k+1 + di,mi ,1 ≤. ∑ Di = Dimi. k=1. Corolário 1. Se T ≤ Di mi , para i = 1, . . . , n, então ∑ni=1 D1i ≤ 1. Demonstração. Ao dividir ambos os lados das desigualdades T ≤ Di mi por Di , para i = 1, . . . , n, obtém-se T ≤ mi , para i = 1, . . . , n. Di.
(29) 2.1. COMPLEXIDADE COMPUTACIONAL DO PSJP. 7. Por sua vez, a soma dos n termos resulta em n. T. 1 ∑ Di i=1 n. ! ≤ T, 1. ∑ Di ≤ 1.. i=1. Proposição 2. Seja L = {l1 , l2 , . . . , ln } um conjunto de distâncias, cujo mmc(l1 , . . . , ln ) é igual a B e ∑ni=1 l1i = 1. O valor ótimo f ∗ para um instância do PSJP com o conjunto de símbolos X = {x1 , . . . , xn }, cujas prioridades são ci = Bli , i = 1, . . . , n, é maior ou igual a B. Demonstração. Seja D = {D1 , . . . , Dn } o conjunto das maiores distâncias de uma sequência ótima para o PSJP. Se f ∗ < B, então ci Di < B, o que implica Di < li , para todo i = 1, . . . , n. Uma vez que ∑ni=1 l1i = 1, se Di < li , para todo i = 1, . . . , n, ∑ni=1 D1i > 1, contradizendo o Corolário 1. Consequentemente, f ∗ ≥ B. Proposição 3. Considere a mesma instância PSJP da Proposição 2. Se f ∗ = B, todas as distâncias entre cópias consecutivas do símbolo xi são exatamente iguais a Di , ∀xi ∈ X. Demonstração. Suponha f ∗ = B. Então, para todo i = 1, . . . , n, B ≥ ci Di , ou seja, li ≥ Di . Logo, 1 = ∑ni=1 l1i ≤ ∑ni=1 D1i ≤ 1, mostrando que ∑ni=1 D1i = 1. Seja S∗ uma sequência ótima para a instância dada. Supondo que seu tamanho é T , um símbolo xi ∈ X tem no l m mínimo mi = DTi cópias em S∗ ; caso contrário, sua maior distância seria maior que Di . Assuma que o número de cópias é dado por mi = DTi + λi , onde λi , para i = 1, . . . , n, é um número real não-negativo, e ∑ni=1 ( DTi + λi ) = T . Desenvolvendo essa igualdade obtém-se . T T T + λ1 + + λ2 + · · · + + λn = T. D1 D2 Dn. Dividindo ambos os lados por T , tem-se que 1 λ1 1 λ2 1 λn + + + +···+ + = 1, D1 T D2 T Dn T n n 1 λi + ∑ Di ∑ T = 1. i=1 i=1 Como ∑ni=1 D1i = 1, ∑ni=1 λTi = 0. Sabendo que λi é um número real não-negativo, a última igualdade é válida se, e somente se, λi = 0, para i = 1, . . . , n. Consequentemente, T = Di mi , para i = 1, . . . , n.. (2.1). Agora, considere um símbolo xi em S∗ . Como xi tem mi cópias, o conjunto de distâncias entre suas cópias consecutivas possui mi elementos: di,1,2 , . . . , di,mi−1 ,mi , di,mi ,1 . Uma vez.
(30) 8. CAPÍTULO 2. DEFINIÇÃO DO PROBLEMA. que a soma dessas distâncias é igual a T , se uma delas é menor do que Di , então T < Di mi , o que contradiz (2.1). Dessa forma, todas as distâncias entre cópias consecutivas do símbolo xi em S∗ , ∀xi ∈ X, devem ser exatamente iguais a Di . Teorema 1. O problema das sequências justas ponderadas é NP-difícil. Demonstração. Considere a seguinte redução a partir do problema de escalonamento de manutenções periódicas (PMSP) (Bar-Noy et al. 2002). Dada uma instância do PMSP com n máquinas e intervalos de serviço l1 , . . . , ln , tal que ∑ni=1 l1i ≤ 1, a instância correspondente do PSJP possui (n + t) símbolos, onde t B1 = 1 − ∑ni=1 l1i e B = mmc(l1 , . . . , ln ), 1 B tal que ∑ni=1 l1i + ∑n+t i=n+1 B = 1. As prioridades dos símbolos são dadas por ci = li , i = 1, . . . , n, e c j = 1, para j = n + 1, . . . , n + t, e o tamanho máximo das sequências viáveis, T MAX, é igual a B. Mostra-se que o PMSP tem uma solução se, e somente se, a instância correspondente do PSJP tem valor objetivo menor ou igual a B. (Se) Se o PMSP tem uma solução para a referida instância, as distâncias entre serviços consecutivos de manutenção são exatamente li , para i = 1, . . . , n. Se ∑ni=1 l1i = 1, então t = 0, e qualquer sequência de B símbolos pertencentes à sequência solução infinita é também uma solução para o PSJP, cujas distâncias entre cópias consecutivas são todas iguais a li = cBi e o valor objetivo é P = ci li = B, para i = 1, . . . , n. Se ∑ni=1 l1i < 1, existem t slots de tempo não ocupados por símbolos em qualquer intervalo de B slots. Nesse caso, basta alocar t símbolos distintos em tais slots para se chegar em uma sequência solução para o PSJP, cujo valor objetivo é exatamente B. (Somente Se) Primeiramente, a Proposição 2 mostra que o valor objetivo de uma solução para instância PSJP considerada não pode ser menor do que B. Portanto, a partir da Proposição 3, pode-se concluir que, se a solução para tal instância tem um valor objetivo igual a B, todas as distâncias entre as cópias consecutivas de um símbolo xi , para i = 1, . . . , n, são iguais a li . Além disso, se t ≥ 1, a única distância entre cópias consecutivas de um símbolo x j , j = n + 1, . . . , n + t, é igual B, já que existe apenas uma única cópia desse símbolo na sequência. Por conseguinte, desconsiderando os símbolos x j , para j = n + 1, . . . ,t, a sequência em questão consiste em uma solução para PMSP cujo período é B..
(31) Capítulo 3 Revisão da Literatura. Problemas de sequências justas ou de distâncias restritas têm sido abordados sobretudo nas áreas de Ciência da Computação e Pesquisa Operacional. Na primeira, grande parte dos trabalhos tem explorado o desenvolvimento de teorias e de algoritmos para o escalonamento de processos em sistemas de tempo real e problemas decorrentes da transmissão de dados via broadcast. O problema de escalonamento de tarefas periódicas foi abordado pela primeira vez em (Liu & Layland 1973), considerado até hoje como o trabalho mais influente na área de escalonamento de processos em sistemas de tempo real. O problema consiste em escalonar um conjunto de tarefas, de modo que cada uma delas seja executada exatamente uma vez em intervalos de tempo pré-definidos. Em 1989, Holte et al. (1989) formalizaram um problema de escalonamento de processos esporádicos, chamado de problema de escalonamento pinwheel, inspirado na comunicação de satélites com a estação terrestre. Os satélites enviam informação periodicamente para a estação, que tem a capacidade de processar dados de um único satélite por vez. A frequência de transmissão é uma exigência específica de cada satélite e portanto uma entrada do prolema. Dessa forma, o problema consiste na construção de uma sequência de transmissões que atenda as exigências de cada satélite e evite, ao mesmo tempo, perda de informação, dada a restrição de processamento da estação terrestre. Poucos anos depois, foi publicado um paradigma de escalonamento, denominado de escalonamento stride, que tem por fim escalonar processos com base no compartilhamento proporcional do tempo de processamento, de maneira que suas execuções ocorram de modo uniforme no tempo (Waldspurger & Weihl. W. 1995). Com isso, pretende-se reduzir o tempo de resposta de cada um deles. Paralelamente, Baruah et al. (1996) desenvolveram uma noção de “justiça” no escalonamento periódico de tarefas, que eles chamaram de progresso proporcional ou P-Fairness. A ideia é agendá-las progressivamente de acordo com um peso calculado a partir do seu período e tempo de execução. Como resultado, as tarefas são agendadas com uma certa uniformidade ao longo do tempo. No mesmo período, Han et al. (1996) introduziram o problema de escalonamento com distâncias restritas, que envolve o escalonamento de um conjunto de tarefas com execução periódica, cujas distâncias temporais entre suas execuções são limitadas a um valor máximo definido previamente. O problema de escalonamento pinwheel pode ser considerado como a versão discreta deste. No cenário de transmissão de dados em ambientes de broadcast, destaca-se o problema do broadcast de dados, introduzido por Acharya et al. (1995). Ele ocorre em sis-.
(32) 10. CAPÍTULO 3. REVISÃO DA LITERATURA. temas de transmissão cujos canais de comunicação de servidores para clientes possuem uma largura de banda muito superior à destinada aos canais de transmissão na via inversa. Nesse cenário, os servidores transmitem arquivos de forma cíclica, e os clientes escutam o meio de comunicação até a chegada dos arquivos desejados. Uma solução para o problema consiste em encontrar um escalonamento de transmissões que reduza o tempo de download dos arquivos. Na área de Pesquisa Operacional, o tema em discussão ganhou força com o método de produção Just-in-Time, aplicado na linha de montagem da Toyota na década de 80 do século passado. Com tal método, diferentes modelos são produzidos em uma taxa uniforme ao longo do tempo, com a finalidade de reduzir estoques e os seus custos decorrentes (Kubiak 2004). Ao estudar o sistema de produção Just-in-Time, Miltenburg (1989) o formulou como um problema de programação não-linear inteira, com o objetivo de minimizar o desvio total entre as taxas de produção obtidas e as taxas de produção desejadas para cada produto. Anily et al. (1998) estudaram um problema de escalonamento de atividades de vários tipos, em um horizonte de tempo infinito, que eles chamaram de problema de escalonamento de serviços de manutenção. Em seu trabalho, eles abordam um conjunto de máquinas cujos custos de operação crescem conforme o tempo decorrido desde a última manutenção. Portanto, o objetivo do problema é encontrar um escalonamento que minimize o custo médio, por unidade de tempo discreto, de realizar manutenções em diferentes máquinas ao longo do tempo. Bar-Noy et al. (2002) estudaram uma versão generalizada do problema de escalonamento de manutenção, adicionando ao problema a possibilidade de várias máquinas serem escalonadas para manutenção em um mesmo slot de tempo. Além disso, definiram a versão de otimização do problema do broadcast de dados, que tem como objetivo minimizar as distâncias temporais entre duas transmissões consecutivas de um mesmo arquivo e, por conseguinte, o tempo de espera dos clientes. Problema bem semelhante foi introduzido por Bar-Noy & Ladner (2003), denominado de problema de escalonamento em janela. Sejam um conjunto de canais de transmissão divididos em slots de tempo discreto, um conjunto de páginas a serem transmitidas em slots e uma janela temporal associada a cada página. Um escalonamento viável atribui páginas a slots, de sorte que as distâncias temporais entre quaisquer ocorrências consecutivas de uma mesma página, considerando todos os canais de transmissão, sejam no máximo iguais à sua janela correspondente. O problema consiste em encontrar um escalonamento de alocações de páginas a slots que minimize o número de canais utilizados. Corominas et al. (2007) apresentaram um problema de sequenciamento denominado de problema da variabilidade do tempo de resposta (RTVP, do inglês response time variability problem), que surge sempre que tarefas (clientes ou produtos) precisam ser escalonadas de modo a reduzir a variabilidade da distância temporal entre suas execuções (Corominas et al. 2010, García-Villoria & Pastor 2010, García-Villoria et al. 2013). No RTVP, a sequência de tarefas é finita e periódica, posto que as frequências ou demandas de cada tarefa são especificadas a priori, ou seja, são entradas para o problema. GarcíaVilloria & Pastor (2013) introduziram o mRTP, que consiste na versão minmax do RTVP. Mais recentemente, García-Villoria & Salhi (2014) apresentaram um novo problema que ocorre na indústria de TV, envolvendo um esquema de transmissão de anúncios que sa-.
(33) 3.1. PROBLEMA DE ESCALONAMENTO DE TAREFAS PERIÓDICAS. 11. tisfaça os anunciantes e, por conseguinte, as emissoras. Os primeiros compram slots de tempo discreto para a exibição de seus anúncios e, segundos os autores, desejam que os intervalos entre transmissões sucessivas de anúncios iguais sejam os mais uniformes possíveis. Os slots possuem um horário de transmissão e são divididos em três grupos de acordo com a audiência (baixa, média e alta) do horário no qual são alocados. Além da frequência de transmissão dos anúncios, fazem parte da entrada do problema, para cada um deles, as quantidades mínimas de slots nos grupos de média e alta audiência, nos quais devem ser alocados. O objetivo do problema é encontrar um escalonamento viável que minimize a irregularidade dos intervalos de tempo entre duas transmissões consecutivas de um mesmo anúncio. A maioria dos problemas citados está inserida em um contexto no qual o horizonte de tempo considerado é infinito. Todavia, diversas situações práticas exigem que as sequências de atividades sejam executadas em um intervalo de tempo finito e preestabelecido, conforme discutido na seção anterior. Ao considerar um horizonte de tempo finito, exigese o tratamento das distâncias temporais entre ciclos ou períodos, o qual tem impacto direto nas definições, formulações e soluções dos problemas. Dentre os problemas mencionados, os únicos que, assim como o PSJP, tratam de escalonamento cíclico com horizonte de tempo finito são o RTVP e o mRTP. Embora o problema de escalonamento de anúncios em TV também considere o horizonte de tempo finito, ele se distingue dos demais por não ser cíclico. Diferente do PSJP, no RTVP e mRTP, o tamanho das sequências é estabelecido a priori a partir das frequências de cada tarefa, que são entradas para os problemas. Sendo assim, uma série de aplicações, nas quais não se pode, a princípio, definir as frequências de cada tarefa, não são abrangidas. Nessas situações práticas, as referidas frequências constituem uma variável do problema e não uma entrada. Desse modo, o PSJP pode ser considerado como uma generalização do RTVP e mRTP. Os problemas acima mencionados são descritos em detalhes nas seções a seguir.. 3.1. Problema de escalonamento de tarefas periódicas. Em sistemas de tempo real, técnicas e conceitos de escalonamento são fundamentais para prever o funcionamento do sistema em tempo de projeto, permitindo que ajustes sejam realizados bem antes dos problemas ocorrerem. O principal foco do escalonamento periódico de processos em ambientes de tempo real está na criação de sequências de tarefas que devem ser executadas periodicamente, atendendo a restrições de tempo. Com isso, pretende-se encontrar algoritmos que, dado um conjunto de tarefas, sejam capazes de encontrar sequências viáveis, isto é, que atendam às restrições temporais. O problema de escalonamento de tarefas periódicas foi abordado pela primeira vez em (Liu & Layland 1973) e desde então tem sido extensivamente explorado por diversos trabalhos na literatura (Leinbaugh 1980, Cheng et al. 1989, Lehoczky et al. 1989, Sha et al. 2004). Seja X = {x1 , x2 , ..., xn } um conjunto de n tarefas periódicas, caracterizadas por um tempo de execução ti , um período pi e um deadline di . Considerando que pi = di , o problema consiste em encontrar um escalonamento periódico de modo que a tarefa xi , ∀xi ∈ X, seja executada exatamente uma vez, em um sistema monoprocessado,.
(34) 12. CAPÍTULO 3. REVISÃO DA LITERATURA. no intervalo [pi k, pi (k + 1)] , k ∈ N. Um algoritmo de escalonamento define um conjunto de regras que estabelecem qual tarefa deve ser executada em um dado momento. Uma das classes de algoritmos mais estudadas na literatura é conhecida por escalonamento dirigido a prioridades. Algoritmos de tal classe atribuem prioridades às tarefas a partir de restrições temporais destas, e não a partir de atributos como a importância ou o grau de confiabilidade das tarefas. Por exemplo, um de seus algoritmos clássicos, o Rate Monotonic, atribui prioridades mais altas às tarefas que possuem períodos menores. Caso as várias execuções (jobs) de uma tarefa recebam uma mesma prioridade em um dado algoritmo, este é denominado de dirigido a prioridades fixas ou estáticas. Por outro lado, se as prioridades das tarefas mudam entre suas execuções, o algoritmo é dito ser dirigido a prioridades dinâmicas. Liu & Layland (1973) propuseram dois dos mais importantes algoritmos para o escalonamento periódico dirigido a prioridades: o Rate Monotonic (RM) e o Earliest Deadline First (EDF). O primeiro algoritmo é dirigido a prioridades fixas e é considerado como ótimo para sua classe de problemas, isto é, nenhum outro algoritmo da mesma classe pode escalonar um conjunto de tarefas que não seja escalonável por ele (Audsley et al. 1995). A política de atribuição de prioridades adotada faz com que as tarefas de menor período sejam executadas com uma frequência maior. O escalonamento RM baseia-se nas seguintes premissas: • • • • •. Todas as tarefas são periódicas; O deadline (di ) de cada tarefa é igual ao seu período (pi ); Todas as tarefas são independentes; As tarefas possuem um tempo de execução (ti ) fixo; Assume-se que o tempo de chaveamento entre elas é nulo.. Tomando como base tais premissas, assim como o fator de utilização do processador, Liu & Layland (1973) demonstraram que um conjunto de tarefas periódicas é escalonável pelo RM se n. 1 ti n −1 . ≤ n 2 ∑ i=1 pi Vale salientar que essa condição é suficiente, mas não necessária, visto que conjuntos de tarefas com utilização de processador maior que o lado direito da inequação podem ainda ser escalonados pelo algoritmo. O algoritmo Earliest Deadline First, por sua vez, é dirigido a prioridades dinâmicas e também é considerado ótimo para sua classe de problemas. Sua política de escalonamento corresponde a uma atribuição dinâmica de prioridades que define a ordenação das tarefas de acordo com os deadlines dos jobs correntes. As tarefas cujo job atual possui um tempo de deadline mais cedo têm prioridade sobre as demais. Dessa forma, toda vez que uma nova tarefa é liberada para a execução, a fila de tarefas prontas deve ser reordenada, alterando assim a distribuição de prioridades. Com base nas mesmas premissas do algoritmo de escalonamento Rate Monotonic, um.
(35) 3.2. ESCALONAMENTO P-FAIR. 13. conjunto de tarefas periódicas é escalonável através do EDF se, e somente se, n. ti. ∑ pi ≤ 1,. i=1. consistindo, assim, em uma condição suficiente e necessária para avaliar a viabilidade de um conjunto de tarefas a ser escalonado pelo algoritmo. Enquanto testes e condições de escalonabilidade estão vinculados a algoritmos, testes de viabilidade tratam do problema de decidir se um conjunto de tarefas é viável ou não, isto é, se existe algum escalonamento tal que todos os jobs das tarefas completam sua execução antes de seu deadline, independente do algoritmo a ser utilizado. Para pi 6= di , o problema de viabilidade é NP-completo (Leung & Merrill 1980, Leung & Whitehead 1982), tornando-se um dos grandes desafios do escalonamento de tarefas periódicas.. 3.2. Escalonamento P-Fair. Considere uma companhia aérea que possui m aeronaves e n tripulações, tal que n > m. Assuma que m tripulações são escaladas para trabalhar em um determinado dia. Devido a questões como antiguidade, performance ou outros fatores, algumas tripulações são escaladas para trabalhar com uma frequência maior que outras. Para cada tripulação xi ∈ X, seja wi a fração do total de dias que xi deve trabalhar em um dado período, de modo que ∑ni=1 wi = m, onde X corresponde ao conjunto de tripulações da companhia. A ideia é gerar uma escala, de acordo com a qual cada tripulação trabalhe em uma taxa uniforme, isto é, após u dias de trabalho, a tripulação xi terá que trabalhar entre bwi uc ou dwi ue dias. Essa foi umas das aplicações descritas por Baruah et al. (1996), a fim de justificar a utilização do conceito de progresso proporcional como uma forma de justiça a ser empregada em problemas de escalonamento periódico. O termo justiça, nesse contexto, pode ser entendido como uma métrica em função da qual um conjunto de tarefas deve ser escalonado. Também conhecido por P-Fairness, essa forma de justiça consiste em um tipo de escalonamento cujas restrições são mais fortes do que aquelas necessárias para a determinação do escalonamento de periódico de Liu & Layland (1973). Desse modo, um escalonamento P-Fair pode ser considerado como periódico, ao passo que o inverso não é verdadeiro. Formalmente, tal escalonamento pode ser definido como segue. Seja X = {x1 , x2 , . . . , xn } um conjunto de tarefas definidas pelo par ordenado (ti , pi ), respectivamente, o tempo e o período de execução de xi , para i = 1, . . . , n. O escalonamento P-Fair impõe que, a cada u ∈ N unidades ou slots de tempo, a tarefa xi deve ser executada por bwi uc ou dwi ue slots, onde wi = ptii representa o peso da tarefa xi . Para mostrar a diferença entre um escalonamento apenas periódico e um escalonamento P-Fair, considere a tarefa xi com pi = 7 e ti = 3. Conforme a definição de escalonamento periódico, a tarefa xi deve ser executada por três (ti = 3) unidades de tempo a cada sete. Portanto, o escalonamento da parte superior da Figura 3.1 pode ser considerado como periódico. Perceba que para ser P-Fair, a cada instante de tempo u, a tarefa xi deve ser executada por bwi uc ou dwi ue slots. Observando a Tabela 3.1, verifica-se que no.
(36) 14. CAPÍTULO 3. REVISÃO DA LITERATURA. instante u = 2, a tarefa xi só poderia ter sido executada por no máximo um slot de tempo, o que não ocorre no escalonamento em apreço. Da mesma forma, no instante u = 3, a mesma tarefa só poderia ter sido executada por no máximo dois slots. Pode-se concluir, então, que tal escalonamento é apenas periódico. Já com relação ao escalonamento da parte inferior da figura, a quantidade de slots de tempo obtidos pela tarefa xi atende às restrições impostas para o escalonamento P-Fair para todos os instantes u no intervalo examinado. Como consequência, tem-se um escalonamento periódico com um certo grau de uniformidade na distribuição dos escalonamentos ao longo do tempo, não permitindo a ocorrência de grandes distâncias temporais entre eles.. Figura 3.1: Dois escalonamentos para uma tarefa xi com pi = 7 e xi = 3. O escalonamento de cima é periódico, enquanto que o outro é P-Fair. Baruah et al. (1996) provaram que qualquer instância do problema de escalonamento periódico possui um escalonamento P-Fair, caso ∑ni=1 wi ≤ m, onde m representa o número de recursos compartilhados. Além disso, descreveram e provaram a corretude de um algoritmo de tempo polinomial capaz de gerar um escalonamento P-Fair para qualquer conjunto de tarefas viável. Como todo escalonamento P-Fair é periódico, tal algoritmo também é capaz de resolver o problema de escalonamento de tarefas periódicas. No contexto de sistemas de tempo real com um único processador, Baruah (1995) desenvolveu esquema de escalonamento, denominado de weight-monotonic, capaz de criar um escalo1 namento P-Fair se, para um conjunto X de n tarefas, ∑ni=1 wi ≤ ∑2n−1 j=n j . Cabe salientar que essa condição é apenas suficiente, não podendo prever escalonabilidade de um conjunto de tarefas com utilização de processador acima de 70%. Com base no mesmo esquema de escalonamento, Ramamurthy & Moir (2000) criaram uma condição de escalonabilidade mais abrangente, podendo ser aplicada a sistemas com múltiplos processadores.. 3.3. Problema de escalonamento pinwheel. Dado um conjunto de n inteiros positivos D = {d1 , d2 , . . . , dn }, o problema pinwheel objetiva encontrar uma sequência infinita de símbolos de X = {x1 , x2 , . . . , xn } tal que exista no mínimo um símbolo xi dentro de qualquer subsequência de di símbolos consecutivos, para i = 1, . . . , n (Holte et al. 1989). O problema de escalonamento pinwheel foi motivado pela comunicação entre satélites e estações terrestres. Como as estações só conseguiam ler apenas uma mensagem por.
(37) 3.3. PROBLEMA DE ESCALONAMENTO PINWHEEL. 15. Tabela 3.1: Intervalo de tempo (em slots) permitido para a execução tarefa xi da Figura 3.1 a cada instante de tempo u, segundo o escalonamento P-Fair. wi u c dw wi u e u bw 1 0 1 2 0 1 3 1 2 4 1 2 5 2 3 6 2 3 7 3 3 8 3 4 9 3 4 10 4 5 11 4 5 12 5 6 13 5 6 14 6 6. slot de tempo, cada satélite si enviava uma mesma mensagem por di slots em seu canal de comunicação específico. A estação terrestre, por sua vez, escolhia a cada slot de tempo um canal a ser lido a fim de que nenhuma mensagem fosse perdida. A sucessão de escolhas de canais dava origem a uma sequência infinita de mensagens, em que qualquer subsequência de tamanho di teria que apresentar no mínimo uma mensagem do satélite si . A Figura 3.2 ilustra a comunicação de um conjunto de satélites S = {1, 2, 3} com a estação terrestre. O conjunto D = {2, 4, 6} determina a quantidade de slots consecutivos durante os quais os satélites transmitem suas mensagens, respectivamente, e xi j representa a jésima mensagem do satélite si . Os slots em cinza representam as escolhas realizadas pela estação terrestre na leitura dos canais associados com cada satélite. No slot 1, a estação lê a primeira mensagem do satélite 1, no slot 2 a primeira mensagem do satélite 2, no slot 3 a segunda mensagem do satélite 1 e assim sucessivamente. Assim, a sequência resultante determinada por tais slots é 1, 2, 1, 3, 1, 2, 1, 3, . . ., cujos valores dizem respeito aos canais de comunicação associados a cada satélite, lidos a cada slot ou unidade de tempo. Note que, em qualquer subsequência de di slots consecutivos, há no mínimo uma mensagem xi j . Sendo assim, a sequência mencionada consiste em uma solução para o problema. O problema pinwheel faz parte da classe de problemas de escalonamento de processos em tempo real, diferindo do problema de escalonamento de tarefas periódicas por tratar de processos esporádicos. Em (Liu & Layland 1973) os processos possuem dois parâmetros principais, a saber, o tempo de execução (t) e o período do processo (p), e solicitam serviços periodicamente nos instantes de tempo np, onde n ∈ N. Já no problema pinwheel, os satélites são modelados como processos esporádicos, já que podem solicitar serviços a qualquer momento, sujeitos a restrição de que duas mensagens distintas de um mesmo satélite estejam separadas por no mínimo p unidades de tempo consecutivas. Outra diferença é que no último não há preempção entre processos, ou seja, uma mensagem não.
(38) 16. CAPÍTULO 3. REVISÃO DA LITERATURA. Figura 3.2: Mensagens transmitidas pelo conjunto de satélites S = {1, 2, 3} conforme a estratégia de escalonamento pinwheel. pode ser interrompida durante sua transmissão. Holte et al. (1989) definiram o conceito de densidade de uma instância como ∑ni=1 d1i e mostraram que instâncias com densidade maior do que um não são escalonáveis. Além disso, provaram que o problema de escalonamento pinwheel está em NP para instâncias densas gerais, isto é, instâncias com densidade exatamente igual a um, e é NP-difícil para instâncias criadas a partir de fatores de repetição. Chan & Chin (1993) desenvolveram os algoritmos Sa, Sx, Sbc, Sby e Sxy, capazes de encontrar escalonamentos viáveis para 2 instâncias de densidade 12 , 13 20 , 3 , 0.6964 e 0.7, respectivamente.. 3.4. Problema de escalonamento com distâncias restritas. Enquanto que no modelo de escalonamento periódico as diferentes execuções (jobs) de uma mesma tarefa são independentes, vários sistemas de tempo real apresentam restrições em relação às distâncias temporais entre as execuções de jobs consecutivos. Tais distâncias, por exemplo, não podem ser maiores do que um determinado valor. A troca de óleo é exemplo de um problema que não pode ser solucionado empregando-se apenas o modelo de escalonamento periódico. Supondo que o tempo para troca mencionada seja de seis meses, começando em janeiro, um escalonamento viável, seguindo o referido modelo, poderia eleger os meses de janeiro e dezembro como solução para o problema, visto que seria feita pelo menos uma troca de óleo a cada período de seis meses. Todavia, um escalonamento mais adequado para essa aplicação deveria considerar a distância temporal máxima de seis meses entre trocas sucessivas, com o propósito de evitar danos para o veículo. Em transmissões de dados multimídia, sobretudo de vídeo ao vivo, os formatos de codificação impõem restrições relativas ao intervalo de tempo máximo em que quadros consecutivos devem ser transmitidos, a fim de que a apresentação do vídeo ocorra sem interrupções. Restrições semelhantes são impostas a redes ATM, com a finalidade de controlar o jitter e o atraso na transmissão fim-a-fim de mensagens. Outro cenário sujeito a tais restrições diz respeito a sistemas de controle de processos químicos, os quais devem garantir que máquinas adicionem um ingrediente em um contêiner dentro de um determinado período de tempo após inclusão de outro ingrediente. Todos os cenários mencionados são exemplos de aplicações que envolvem o escalonamento de tarefas com distâncias restritas (Han et al. 1996)..
(39) 3.5. ESCALONAMENTO STRIDE. 17. Formalmente, pode-se definir o problema como segue. Considere um conjunto X = {x1 , x2 , . . . , xn } de tarefas que são executadas em um número infinito de vezes. Cada execução de uma tarefa é chamada de job, denotado por Ji j (job j da tarefa xi ). Cada tarefa xi tem um tempo de execução ti e uma restrição de distância ri . A distância entre dois jobs consecutivos é igual a fi, j+1 − fi j ≤ ri , onde fi j representa o instante de tempo no qual o job j da tarefa xi é concluído. Assumindo que os jobs são preemptíveis e que o job Ji, j+1 inicia sua execução após o job Ji, j , o problema consiste encontrar um escalonamento de tarefas que atenda às restrições de distância. Note que o problema pinwheel pode ser visto como um caso especial da versão discreta do problema de escalonamento com distâncias restritas, uma vez que não permite preempção, e o tempo de execução das tarefas é limitado a unidades de tempo discreto. A aproximação entre ambos pode ser entendida a partir do requisito, no problema Pinwheel, de haver pelo menos um símbolo xi em qualquer subsequência de di símbolos consecutivos, o que equivale a dizer que a distância temporal entre duas ocorrências consecutivas do símbolo xi deve ser menor ou igual a di . Han et al. (1996) propuseram um algoritmo, chamado de Sr, com a capacidade de 1 escalonar um conjunto de n tarefas com densidade menor ou igual a n 2 n − 1 , que coincide com a condição de escalonabilidade do algoritmo Rate Monotonic, descrito na Seção 3.1 deste capítulo.. 3.5. Escalonamento stride. O escalonamento stride é um paradigma de escalonamento universal dirigido a sistemas de tempo compartilhado. Sua principal característica fundamenta-se no controle efetivo de taxas de computação relativa, também chamado de controle de compartilhamento proporcional, e suas principais métricas de performance são a variabilidade de tempo de resposta e o erro de throughput. A primeira diz respeito à variação das distâncias temporais entre alocações sucessivas de recursos para um processo e a segunda está relacionada com a máxima diferença entre as distâncias temporais esperadas e as realmente obtidas (Waldspurger & Weihl. W. 1995). O controle de compartilhamento proporcional se dá mediante uma estratégia de atribuição de prioridades, que tem por objetivo refletir o grau de importância de cada tarefa. Diferente do escalonamento periódico de tarefas, em que as prioridades são atribuídas a partir de características relativas às restrições temporais, como tempo de deadline e período de execução, com o escalonamento stride a distribuição de prioridades pretende exprimir a importância de cada tarefa à luz de quaisquer critérios, relacionados ou não com restrições temporais. O escalonamento stride está associado a uma técnica de escalonamento determinística que pode ser definida como segue. Seja X = {x1 , x2 , . . . , xn } um conjunto de n clientes ou processos, para os quais são atribuídos ci tickets, para i = 1, . . . , n, que denotam sua prioridade. Assim, um processo que possui o dobro de tickets de outro receberá duas vezes mais determinado recurso compartilhado ou executará por duas vezes mais slots de tempo, caso o recurso compartilhado seja o processador. A ideia do escalonamento stride.
(40) 18. CAPÍTULO 3. REVISÃO DA LITERATURA. é construir uma sequência infinita de alocações de recursos, em que a escolha do cliente xi∗ a ser alocado na a unidade de tempo discreto k + 1, k = 0, 1, 2, ..., é realizada a partir de stride1 · (wik + 1) ∗ , xi = arg min ci onde wik é o número de alocações do cliente xi durante as k primeiras alocações, e stride é um inteiro positivo grande, que tem a finalidade de prover uma melhor precisão na 1 representação de stride ci , denominada de stride. Assume-se que wi0 = 0, para i = 1, . . . , n, e o desempate é realizado com base na ordem crescente dos valores de stride. Como consequência do controle de compartilhamento proporcional, os clientes com maior número de tickets obtêm mais vezes os recursos compartilhados e esperam, em geral, menos tempo para adquirir os recursos novamente. Contudo, a distância temporal entre alocações consecutivas pode variar bastante em diversas situações. Considere, por exemplo, um conjunto de 101 clientes, com o primeiro recebendo 100 tickets e o restante recebendo apenas um. Um escalonamento que minimizaria a variabilidade do tempo de reposta, bem como o erro de throughput, dar-se-ia por meio de intercalações sucessivas entre o cliente com maior número de tickets e os demais, como pode ser observado na Figura 3.3 (a).. Figura 3.3: Escalonamentos para um conjunto de clientes X = {x1 , x2 , . . . , x101 }, com o primeiro recebendo 100 tickets e os demais apenas um: (a) solução ideal segundo o paradigma de compartilhamento proporcional; (b) solução através do escalonamento stride básico. A sequência de alocações resultante do escalonamento stride básico, por sua vez, aloca o primeiro cliente nos 100 primeiros slots e os demais no slots seguintes, como ilustra a Figura 3.3 (b). Dessa maneira, permite-se que a maior distância temporal entre alocações sucessivas do primeiro cliente atinja 100 slots de tempo, como é o caso das alocações nos slots 100 e 201. Já com o primeiro escalonamento, a maior distância é de apenas um slot. Para contornar o problema, foi proposta uma nova versão para o escalonamento Stride, também em (Waldspurger & Weihl. W. 1995), chamado de escalonamento stride hierárquico. Sua ideia principal é agrupar clientes com base em sua quantidade de tickets, de modo que seja gerada uma árvore binária balanceada, cujos nós internos consistem em grupos de clientes, que, por sua vez, são representados pelas folhas. Quando um cliente que pertencente a um grupo é escolhido para obter um recurso compartilhado, o número total de alocações do grupo é atualizado, fazendo com que as escolhas tenham.
(41) 3.6. PROBLEMA DA VARIAÇÃO DA TAXA DE PRODUÇÃO. 19. um caráter coletivo. Essa estratégia limita o erro de throughput a O (log n), onde n é o número de clientes, e reduz consideravelmente a variabilidade do tempo de resposta.. 3.6. Problema da variação da taxa de produção. O principal objetivo do modelo de produção flexível é aumentar o lucro ao reduzir os custos (Dhamala & Kubiak 2005). Concebido logo após a segunda guerra mundial no Japão, tal modelo, chamado de toyotismo, tem sido amplamente explorado pela literatura e aplicado em diversas indústrias ao redor do mundo, sobretudo após a década de 70. Tendo como um de seus pilares o método de produção Just-in-Time, cuja ideia é fabricar os produtos necessários, no tempo necessário e na quantidade necessária, sua principal finalidade é atender às demandas dos clientes, reduzindo os estoques e seus custos decorrentes. Isso é feito ao manter a quantidade de cada produto fabricado tão próxima quanto possível da sua demanda por unidade de tempo. O problema de determinar uma sequência de produção que minimiza a variação da taxa de produção de diferentes produtos na linha de montagem é conhecido como problema da variação da taxa de produção (PRVP, do inglês product rate variation problem) e pode ser definido formalmente da seguinte maneira. Dados n produtos x1 , . . . , xn , n demandas m1 , . . . , mn e n funções convexas e simétricas f1 , . . . , fn de uma única variável, chamadas de desvios, encontre uma sequência de produtos S = s1 . . . sT , com T = ∑ni=1 mi , onde o produto xi ocorre exatamente mi vezes, que minimiza n. F(s) = ∑. T. ∑ fi (wik − kri) ,. (3.1). i=1 k=1. sendo wik o número de ocorrências do produto xi na subsequência s1 . . . sk e ri = mTi (Kubiak 2004). Para mostrar o posicionamento ideal dos produtos na sequência S, a partir da análise das funções de desvio, considere o produto xi com mi = 3, T = 17 e função de desvio fi (wik − kri ) = |wik − kri |. A Figura 3.4, extraída de (Kubiak 2004), exibe os gráficos das funções fi , tendo em vista que wik varia no intervalo [0, mi ]. Observe que o número 3 é o menor inteiro maior que o ponto de cruzamento entre as funções |0 − kri | e |1 − kri |, que por sua vez é o ponto onde há o menor desvio absoluto entre elas. O mesmo ocorre com os inteiros 9 e 15, com relação aos pontos de cruzamento entre as demais funções. Logo, as posições 3, 9 e 15 são aquelas que contribuem com um menor valor para a equação 3.1, de modo que são consideradas como posições ideais. O conceito de posicionamento ideal foi usado por Kubiak & Sethi (1994) para reduzir o PRVP a um problema de atribuição e assim resolvê-lo de forma eficiente. A Toyota desenvolveu uma heurística de busca local, chamada de Goal Chasing Method (Monden 1983), e Miltenburg (1989) o formulou como um problema de programação não-linear inteira, propondo vários algoritmos heurísticos como solução. Outros trabalhos podem ser encontrados nos surveys (Kubiak 1993, Dhamala & Kubiak 2005)..
Documentos relacionados
O trabalho se dará por meio da discussão teórica sobre os caminhos do Desenvolvimento crescimento e bem-estar, da importância do Ambiente Institucional na trajetória do
Para eficiência biológica, de forma geral, utiliza-se a comparação de produtividades entre sistemas (monocultivo e cultivo consorciado), sendo avaliados a partir de
Excluindo as operações de Santos, os demais terminais da Ultracargo apresentaram EBITDA de R$ 15 milhões, redução de 30% e 40% em relação ao 4T14 e ao 3T15,
O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam
Apesar dos esforços para reduzir os níveis de emissão de poluentes ao longo das últimas décadas na região da cidade de Cubatão, as concentrações dos poluentes
Analysis of relief and toponymy of the landscape based on the interpretation of the military topographic survey: Altimetry, Hypsometry, Hydrography, Slopes, Solar orientation,
Quando é necessária rotação entre percursos, é ainda importante garantir que a transição do ponto final de um para o ponto inicial do outro não compromete a integridade da
Taking into account the theoretical framework we have presented as relevant for understanding the organization, expression and social impact of these civic movements, grounded on