Escalonamento de Processos EDF Algorithm Flvio Couto frcodi

  • Slides: 20
Download presentation
Escalonamento de Processos EDF Algorithm Flávio Couto (frco@di. ufpe. br)

Escalonamento de Processos EDF Algorithm Flávio Couto (frco@di. ufpe. br)

EDF Scheduler • Software que executa um algoritmo para encontrar um escalonamento ótimo em

EDF Scheduler • Software que executa um algoritmo para encontrar um escalonamento ótimo em um único processador para um dado conjunto de processos, tal que cada processos inicia sua execução após seu release time e completa seu tempo de execução antes de seu deadline, e que um dado conjunto de relações de precedência e um dado conjunto de relações de exclusão satisfeitas. Este algoritmo pode ser aplicado para o problema do escalonamento pre-run-time de processos com relações arbitrárias de precedência e de exclusão em hard-real-time systems

Conceitos Importantes • Release Time – instante de tempo a partir do qual o

Conceitos Importantes • Release Time – instante de tempo a partir do qual o processo pode iniciar a sua execução • Computation Time – tempo de execução de um processo • Deadline – instante de tempo máximo em que um processo deve terminar sua execução para satisfazer os requisitos temporais

Conceitos Importantes (Cont. ) • Escalonador Pre-run-time – Decisões de escalonamento são tomadas antes

Conceitos Importantes (Cont. ) • Escalonador Pre-run-time – Decisões de escalonamento são tomadas antes do início da execução dos processos • Relação de Precedência – A precede B : processo A deve terminar sua execução antes do início da execução de B • Relação de Exclusão – A exclui B : processo A não pode ser preemptado pelo processo B

Relação de Precedência Processo 1 precede Processo 2: • Situação Incorreta

Relação de Precedência Processo 1 precede Processo 2: • Situação Incorreta

Relação de Precedência Processo 1 precede Processo 2: • Situação Incorreta

Relação de Precedência Processo 1 precede Processo 2: • Situação Incorreta

Relação de Precedência Processo 1 precede Processo 2: • Situação Correta

Relação de Precedência Processo 1 precede Processo 2: • Situação Correta

Relação de Exclusão Processo 1 exclui Processo 2: • Situação Incorreta

Relação de Exclusão Processo 1 exclui Processo 2: • Situação Incorreta

Relação de Exclusão Processo 1 exclui Processo 2: • Situação Correta

Relação de Exclusão Processo 1 exclui Processo 2: • Situação Correta

Algoritmo da Implementação O algoritmo usado utiliza a técnica branch-and-bound. Ele tem uma árvore

Algoritmo da Implementação O algoritmo usado utiliza a técnica branch-and-bound. Ele tem uma árvore de busca onde no nó raiz é utilizada a técnica Earliest-deadline-first para computar um “solução válida inicial” que satisfaça as restrições de release time e todas relações de exclusão e precedência existentes inicialmente. Então sistematicamente vamos desenvolvendo aquela solução inicial até um escalonamento optimal ou feasible ser encontrado.

Solução Válida (Escalonamento Válido) Deverá satifazer as seguintes condições: i, j Conj(Processos) • start.

Solução Válida (Escalonamento Válido) Deverá satifazer as seguintes condições: i, j Conj(Processos) • start. Time[i] >= release. Time[i] • Se i precede j – completion. Time[i] <= start. Time[j] • Se i exclui j e start. Time[i] < start. Time[j] – completion. Time[i] <= start. Time[j]

Solução Inicial Earliest-deadline-first • Os processos com os deadlines menores devem ser executados antes

Solução Inicial Earliest-deadline-first • Os processos com os deadlines menores devem ser executados antes dos processos com os deadlines “maiores”, desde que satisfaçam as relações de precedência e exclusão entre os processos, além do release time de cada processos

Solução Inicial Earliest-deadline-first r[P 0]= 40 ; c[P 0]=20; d[P 0]=110; r[P 1]= 60

Solução Inicial Earliest-deadline-first r[P 0]= 40 ; c[P 0]=20; d[P 0]=110; r[P 1]= 60 ; c[P 1]=20; d[P 1]= 90; r[P 2]= 50 ; c[P 2]=20; d[P 2]= 91; r[P 3]= 0 ; c[P 3]=20; d[P 3]=120; P 0 exclui P 1 - P 2 exclui P 0 P 1 exclui P 0 - P 1 exclui P 2 P 0 exclui P 2 - P 2 exclui P 1

Solução Inicial Earliest-deadline-first r[P 0]= 0 ; c[P 0]=60; d[P 0]=122; r[P 1]= 20

Solução Inicial Earliest-deadline-first r[P 0]= 0 ; c[P 0]=60; d[P 0]=122; r[P 1]= 20 ; c[P 1]=20; d[P 1]=121; r[P 2]= 30 ; c[P 2]=20; d[P 2]=120; r[P 3]= 90 ; c[P 3]=20; d[P 3]=110; P 0 exclui P 3

Refinamento da Solução Inicial Em cada nó da árvore de busca, nós encontramos o

Refinamento da Solução Inicial Em cada nó da árvore de busca, nós encontramos o último segmento na solução válida daquele nó. Nós identificamos conjuntos de segmentos de “expansão” G 1 e G 2 tal que esta solução possa ser refinada. • G 1 => o último segmento da solução do nó que será expandido é escalonado antes de um segmento de G 1. • G 2 => o último segmento da solução do nó que será expandido preempta um segmento de G 2. OBS: último segmento: segmento que é responsável pelo lateness(completion. Time - deadline) do escalonamento.

Uso do EDF Scheduler • Abrir o browser e entrar na URL: http: //www.

Uso do EDF Scheduler • Abrir o browser e entrar na URL: http: //www. di. ufpe. br/~frco/EDF/index. html • Entrar com os seguintes dados: r[A] = 0 ; r[B] = 20 ; r[C] = 30 ; r[D] = 90 c[A] = 60 ; c[B] = 20 ; c[C] = 20 ; c[D] = 20 d[A]=122; d[B]=121; d[C]=120 ; d[D] = 110

Uso do EDF Scheduler(Cont. ) • Selecionar a relação: – P 0 exclui P

Uso do EDF Scheduler(Cont. ) • Selecionar a relação: – P 0 exclui P 3 • Em seguida clicar em Adicionar Relação • Finalmente clicar em Submeter Dados

Tecnologia Utilizada • Applet Java – possibilitar que usuários da internet possam utilizar este

Tecnologia Utilizada • Applet Java – possibilitar que usuários da internet possam utilizar este software • Funcionamento: usuário entra na homepage e o applet é carregado na sua máquina. Todo processamento é feito na própria máquina do usuário

Bibliografia • Jia Xu and David Parnas, “Scheduling Processes with Release Times, Deadlines, Precedence,

Bibliografia • Jia Xu and David Parnas, “Scheduling Processes with Release Times, Deadlines, Precedence, and Exclusion Relations”, IEEE Transactions on Software Engeneering, vol. 16, March 1990.

Homepage • Provisoriamente em: http: //www. di. ufpe. br/~frco/EDF/index. html

Homepage • Provisoriamente em: http: //www. di. ufpe. br/~frco/EDF/index. html