1 / 20

Escalonamento de Processos EDF Algorithm

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

tevin
Download Presentation

Escalonamento de Processos EDF Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Escalonamento de ProcessosEDF Algorithm Flávio Couto (frco@di.ufpe.br)

  2. 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 iniciasua 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 sã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

  3. 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

  4. 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

  5. Relação de Precedência Processo 1 precede Processo2: • Situação Incorreta

  6. Relação de Precedência Processo 1 precede Processo2: • Situação Incorreta

  7. Relação de Precedência Processo 1 precede Processo2: • Situação Correta

  8. Relação de Exclusão Processo 1 exclui Processo2: • Situação Incorreta

  9. Relação de Exclusão Processo 1 exclui Processo2: • Situação Correta

  10. 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 optimalou feasible ser encontrado.

  11. Solução Válida(Escalonamento Válido) Deverá satifazer as seguintes condições:  i, j  Conj(Processos) • startTime[i] >= releaseTime[i] • Se i precede j • completionTime[i] <= startTime[j] • Se i exclui j e startTime[i] < startTime[j] • completionTime[i] <= startTime[j]

  12. Solução InicialEarliest-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 releasetime de cada processos

  13. Solução InicialEarliest-deadline-first r[P0]= 40 ; c[P0]=20; d[P0]=110; r[P1]= 60 ; c[P1]=20; d[P1]= 90; r[P2]= 50 ; c[P2]=20; d[P2]= 91; r[P3]= 0 ; c[P3]=20; d[P3]=120; P0 exclui P1 - P2 exclui P0 P1 exclui P0 - P1 exclui P2 P0 exclui P2 - P2 exclui P1

  14. Solução InicialEarliest-deadline-first r[P0]= 0 ; c[P0]=60; d[P0]=122; r[P1]= 20 ; c[P1]=20; d[P1]=121; r[P2]= 30 ; c[P2]=20; d[P2]=120; r[P3]= 90 ; c[P3]=20; d[P3]=110; P0 exclui P3

  15. 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” G1 e G2 tal que esta solução possa ser refinada. • G1 => o último segmento da solução do nó que será expandido é escalonado antes de um segmento de G1. • G2 => o último segmento da solução do nó que será expandido preempta um segmento de G2. • OBS: último segmento: segmento que é responsável pelo lateness(completionTime - deadline) do escalonamento.

  16. 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

  17. Uso do EDF Scheduler(Cont.) • Selecionar a relação: • P0 exclui P3 • Em seguida clicar em Adicionar Relação • Finalmente clicar em Submeter Dados

  18. 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

  19. 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.

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

More Related