Upload
internet
View
104
Download
0
Embed Size (px)
Citation preview
OutlineOutline• Visão Geral do Sistema
• Camadas Envolvidas na Comunicação
• Serviços do Microkernel
• Integração Processador à NoC
• Gerência Distribuída de Recursos
2
Visão Geral do SistemaVisão Geral do Sistema• MPSoC HeMPS
• MPSoC Homegêneo baseado em NoC• HERMES NoC• Plasma-IP (Plasma, Interface de Rede, DMA e RAM)
3
HeMPSHermes NoC
Plasma-IPSL
Router
Router
Router
Router
Router
Router
Plasma-IPSL
Plasma-IPSL
Plasma-IPSL
Plasma-IPMP
Ne
two
rk
Inte
rfa
ce
Plasma-IP SL
PLASMA
DMA
RA
M
Re
po
sitó
rio
de
a
plic
açõ
es
Visão Geral do SistemaVisão Geral do Sistema• HERMES NoC
• Topologia 2D mesh• Router
• Controle Lógico Centralizado• Até cinco portas bi-direcionais• Buffers de entrada
4
HeMPSHermes NoC
Plasma-IPSL
Router
Router
Router
Router
Router
Router
Plasma-IPSL
Plasma-IPSL
Plasma-IPSL
Plasma-IPMP
Ne
two
rk
Inte
rfa
ce
Plasma-IP SL
PLASMA
DMA
RA
M
Re
po
sitó
rio
de
a
plic
açõ
es
North
Local
West
South
EastControlLogic
F
F F
F F
Visão Geral do Sistema (controle Visão Geral do Sistema (controle centralizado)centralizado)• Plasma-IP
• Separação entre comunicação e computação• NI/DMA: envia e recebe pacotes• PLASMA: executa a tarefa• RAM: true dual port memory
5
HeMPSHermes NoC
Plasma-IPSL
Router
Router
Router
Router
Router
Router
Plasma-IPSL
Plasma-IPSL
Plasma-IPSL
Plasma-IPMP
Ne
two
rk
Inte
rfa
ce
Plasma-IP SL
PLASMA
DMA
RA
M
Re
po
sitó
rio
de
a
plic
açõ
es
arquitetura MIPS código aberto pipeline 3 estágios compilador gcc interrupções
Visão Geral do Sistema (controle Visão Geral do Sistema (controle distribuído)distribuído)• O MPSoC contém três tipos de PEs:
• Mestre Global (GMP)Mestre Global (GMP) : contém todas as funções do LMP, e as funções relacionadas com a
gerência global do sistema Acesso ao Repositório de Aplicações
• Mestres Locais (LMP) Mestres Locais (LMP) : responsáveis pelo controle dos clusters• Escravos (SP) Escravos (SP) : responsáveis pela execução das tarefas
6
SP
SP
SP
SP
SP
SP
SP
SP
LMP
SP
SP
SP
SP
SP
SP
SP
GMP
SP SP SP
SP SP
LMP SP SP
SP SP SP
SP SP SP
LMP SP SP
SP
SP
Rep
osi
tóri
o
de
Ap
licaç
ões
Visão Geral do SistemaVisão Geral do Sistema• Memória de cada processador
• Organizada em páginas• A primeira página contém o microkernel multitarefa
7
HeMPSHermes NoC
Plasma-IPSL
Router
Router
Router
Router
Router
Router
Plasma-IPSL
Plasma-IPSL
Plasma-IPSL
Plasma-IPMP
Ne
two
rk
Inte
rfa
ce
Plasma-IP SL
PLASMA
DMA
RA
M
Re
po
sitó
rio
de
a
plic
açõ
es
microkernel
task
task
task
Visão Geral do SistemaVisão Geral do Sistema
• Aplicações modeladas através de grafo de tarefas• Cada aplicação possue seu próprio grafo de tarefas• Tarefas iniciais não possuem dependências
8
Tarefa A
Tarefa B
Tarefa ETarefa D
Tarefa C
Tarefa F
Tarefa Inicial
MPSoC HeMPS MPSoC HeMPS
Características relevantes do MPSoC HeMPS:
• Processamento homogêneo
• Utilização de rede intrachip (NoC)
• Memória distribuída
• Comunicação por troca de mensagens
• Organização de memória paginada
9
OutlineOutline• Visão Geral do Sistema
• Camadas Envolvidas na Comunicação
• Serviços do Microkernel
• Integração Processador à NoC
• Gerência Distribuída de Recursos
10
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Aplicação (software)
• Composta por tarefas• Comunica-se com o microkernel através de chamadas de sistema (envio e recebimento de
mensagens)• Ex: Envio de mensagem para outro processador
11
Aplicação
Microkernel
WrapperProcessador NoC
Aplicação
Microkernel
WrapperProcessador NoC
Meio de Interconexão - NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Microkernel (software)
• Gerenciamento das tarefas• Trata interrupções, chamadas de sistema e escalona tarefas
• Monta pacotes com mensagens e envia ao wrapper
12
Aplicação
WrapperProcessador NoC
Aplicação
Microkernel
WrapperProcessador NoC
Meio de Interconexão - NoC
WrapperProcessador NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Wrapper (hardware)
• Interface de comunicação entre o processador e a NoC• Recebe o pacote do MicroKernel armazenando-o em um buffer • Envia o pacote através da NoC dividindo-o em flits
• Wrapper realiza segmentação/remontagem
13
Aplicação Aplicação
Microkernel
WrapperProcessador NoC
Meio de Interconexão - NoC
Meio de Interconexão - NoC
WrapperProcessador NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• NoC (hardware)
• Realiza a interconexão dos processadores• Encaminha os flits dos pacotes ao processador destino
14
Aplicação Aplicação
Microkernel
WrapperProcessador NoC
WrapperProcessador NoC
Meio de Interconexão - NoC
WrapperProcessador NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Wrapper
• Recebe da NoC flits referentes ao pacote • Armazena-os no buffer de recebimento• Interrompe o processador para passar o pacote ao microkernel
15
Aplicação Aplicação
Microkernel
Microkernel
WrapperProcessador NoC
Meio de Interconexão - NoC
WrapperProcessador NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Microkernel
• Lê o pacote do wrapper• Identifica a tarefa• Escreve na memória da aplicação
16
Aplicação Aplicação
Aplicação
Microkernel
WrapperProcessador NoC
Meio de Interconexão - NoC
WrapperProcessador NoC
Microkernel
Camadas envolvidas na comunicaçãoCamadas envolvidas na comunicação• Aplicação
• Recebe a mensagem através do pedido de leitura da mensagem
17
Aplicação
OutlineOutline• Visão Geral do Sistema
• Camadas Envolvidas na Comunicação
• Serviços do Microkernel
• Integração Processador à NoC
• Gerência Distribuída de Recursos
18
Serviços do MicrokernelServiços do Microkernel• Carregamento de códigos-objeto
• A microkernel e as tarefas são implementados em linguagem C e Assembly• Cada código objeto é carregado em uma página
19
1
0
2
página
3 0x6000
0x2000
0x4000
0x0000
offset
tarefa3
tarefa2
tarefa1
microkernel
Serviços do MicrokernelServiços do Microkernel
20
31 … 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
endereço físico
endereço lógico página
mem_address
mlite_cpu
mem_address_wop[31:15] & page & mem_address_wop[12:0]
mem_address_wop Mem_ctrl
Page ($10)
Instrução no kernel executada após interrupção ou escalonamento:
mtc0 offset,$10
• Múltiplas tarefas: organizadas em páginas
typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB;
Serviços do MicrokernelServiços do Microkernel
21
• Task Control Blocks (TCBs)• Informações da tarefa necessárias para seu controle
Registradores da tarefa•Argumentos•Retorno•Temporários•Salvos
typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB;
Serviços do MicrokernelServiços do Microkernel
22
• Task Control Blocks (TCBs)• Informações da tarefa necessárias para seu controle
Program Counter•Última instrução executada
typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB;
Serviços do MicrokernelServiços do Microkernel
23
• Task Control Blocks (TCBs)• Informações da tarefa necessárias para seu controle
Endereço da memória onde inicia a tarefa
•Indica a página
typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB;
Serviços do MicrokernelServiços do Microkernel
24
• Task Control Blocks (TCBs)• Informações da tarefa necessárias para seu controle
Identificador da tarefa•Numérico
•Global
typedef struct{ unsigned int reg[30]; unsigned int pc; unsigned int offset; unsigned int id; unsigned int status; }TCB;
Serviços do MicrokernelServiços do Microkernel
25
• Task Control Blocks (TCBs)• Informações da tarefa necessárias para seu controle
Estado da Tarefa
ready
terminated
running waiting
Serviços do MicrokernelServiços do Microkernel
26
• Escalonamento• preemptivo• sem prioridades• algoritmo Round Robin• somente tarefas no estado ready são escalonadas
• Controlado por interrupção• um timer define o momento do escalonamento• o tempo por tarefa é denominado timeslice (parametrizável)
tx ty tz
Serviços do MicrokernelServiços do Microkernel
27
• Tratamento de interrupções– interrupções advindas
• do contador de timeslice
• da NoC (chegada de pacotes)
• do software (chamadas de sistema)– Exemplo: operações de escrita/leitura nos pipes de mensagens
– rotina de tratamento: endereço fixo• 0x3C para contador de timeslice e chegada de pacotes
• 0x4C para chamadas de sistema
Serviços do MicrokernelServiços do Microkernel
28
• Para fim de timeslice e interrupções da NoC– 1º passo:
– salvamento dos registradores e pc no TCB da tarefa suspensa
– 2º passo:– Identificar a interrupção ocorrida e tratá-la
» Fim de timeslice: escalonamento
» Interrupção da NoC (chegada de pacotes): driver de comunicação
– 3º passo:– Carregamento do TCB da tarefa escalonada
(escalonamento) ou suspensa (chegada de pacotes)
Serviços do MicrokernelServiços do Microkernel
29
• Comunicação entre tarefas– ocorre através de pipes
• Espaço de memória reservada para armazenamento de mensagens
– primitivas que geram chamadas de sistema • WritePipe(&mensagem, id_destino) • ReadPipe(&mensagem, id_fonte)
Serviços do MicrokernelServiços do Microkernel
30
typedef struct { unsigned int remote_addr; /* Remote processor address */ unsigned int pkt_size; /* NoC packet size (flits) */ unsigned int service; /* Service identifier */ unsigned int local_addr; /* Local processor address */ unsigned int target; /* Target task */ unsigned int source; /* Source task */ unsigned int length; /* Message lenght (32 bits words)*/ unsigned int message[MSG_SIZE]; enum PipeSlotStatus status;
} PipeSlot;
PipeSlotStatus {EMPTY, LOCKED, USED};
Serviços do MicrokernelServiços do Microkernel
31
• Comunicação Local– Tarefas da mesma CPU
t1
t2
t3
pipe
While(!WritePipe(&msg,2));
microkernel
msg t3 tenta enviar msg para t2
Serviços do MicrokernelServiços do Microkernel
32
• Comunicação Local– Tarefas da mesma CPU
t3 tenta enviar msg para t2 Microkernel
tem espaço no pipe?Copia msg para o pipe
t1
t2
t3
pipe
While(!WritePipe(&msg,2));
microkernel
msg
Serviços do MicrokernelServiços do Microkernel
33
• Comunicação Local– Tarefas da mesma CPU
t2 tenta receber a msg de t3
t1
t2
t3
pipe
While(!WritePipe(&msg,2));
microkernel
msg
While(!ReadPipe(&msg,3));
msg
Serviços do MicrokernelServiços do Microkernel
34
• Comunicação Local– Tarefas da mesma CPU
t2 tenta receber a msg de t3 Microkernel
t3 é local?
t1
t2
t3
pipe
While(!WritePipe(&msg,2));
microkernel
msg
While(!ReadPipe(&msg,3));
msg
Serviços do MicrokernelServiços do Microkernel
35
• Comunicação Local– Tarefas da mesma CPU
t2 tenta receber a msg de t3 Microkernel
t3 é local? tem msg de t3 para t2? Copia msg do pipe para página da tarefa
t1
t2
t3
pipe
While(!WritePipe(&msg,2));
microkernel
msg
While(!ReadPipe(&msg,3));
msg
Serviços do MicrokernelServiços do Microkernel
36
• Comunicação Remota t2 tenta enviar msg para t5
t1
t2
t3
pipe
While(!Write_pipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
Serviços do MicrokernelServiços do Microkernel
37
• Comunicação Remota t2 tenta enviar msg para t5 Microkernel
tem espaço no pipe?Copia msg para o pipe
t1
t2
t3
pipe
While(!Write_pipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
Serviços do MicrokernelServiços do Microkernel
38
• Comunicação Remota t5 tenta receber msg de t2 Microkernel
t2 é local?
t1
t2
t3
pipe
While(!WritePipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
While(!ReadPipe(&msg,2));
msg
Serviços do MicrokernelServiços do Microkernel
39
• Comunicação Remota t5 tenta receber msg de t2 Microkernel
t2 é local? Requisita mensagem
t1
t2
t3
pipe
While(!WritePipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
While(!ReadPipe(&msg,2));
msg
driver
Req_Msg
Serviços do MicrokernelServiços do Microkernel
40
• Comunicação Remota t5 tenta receber msg de t2 Microkernel
t2 é local? Requisita mensagem Destino recebe requisiçãoTem msg para t5?
t1
t2
t3
pipe
While(!WritePipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
While(!ReadPipe(&msg,2));
msg
driver driver
Req_Msg
Serviços do MicrokernelServiços do Microkernel
41
• Comunicação Remota t5 tenta receber msg de t2 Microkernel
t2 é local? Requisita mensagem Destino recebe requisição Tem msg para t5? Envia msg para t5 Driver recebe msg
t1
t2
t3
pipe
While(!WritePipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
While(!ReadPipe(&msg,2));
msg
driver
Deliver_Msg
driver
Serviços do MicrokernelServiços do Microkernel
42
• Comunicação Remota t5 tenta receber msg de t2 Microkernel
t2 é local? Requisita mensagem Destino recebe requisição Tem msg para t5? Envia msg para t5 Driver recebe msg Copia para a página de t5
t1
t2
t3
pipe
While(!WritePipe(&msg,5));
t4
t5
t6
pipe
HERMES
microkernel microkernel
msg
While(!ReadPipe(&msg,2));
msg
driver
Deliver_Msg
driver
Serviços do MicrokernelServiços do Microkernel
43
Estrutura dos pacotes de Aplicações e Tarefas
typedef struct { int id; int code_size; int initial_address; int proc; int dependences_number; DependencePackage dependences[10];} TaskPackage;
typedef struct { int size; TaskPackage tasks[MAX_APP_SIZE];} ApplicationPackage;
Serviços do MicrokernelServiços do Microkernel44
Lista de Serviços
• MESSAGE_REQUEST 0x00000010• MESSAGE_DELIVERY 0x00000020• TASK_ALLOCATION 0x00000040• TASK_ALLOCATED 0x00000050• TASK_REQUEST 0x00000060• TASK_TERMINATED 0x00000070• TASK_DEALLOCATED 0x00000080• LOAN_PROCESSOR_RELEASE 0x00000090• DEBUG_MESSAGE 0x00000100• LOCATION_REQUEST 0x00000120• NEW_TASK 0x00000130• APP_TERMINATED 0x00000140• NEW_APP 0x00000150• INITIALIZE_CLUSTER 0x00000160• INITIALIZE_SLAVE 0x00000170• TASK_TERMINATED_OTHER_CLUSTER 0x00000180• LOAN_PROCESSOR_REQUEST 0x00000190• LOAN_PROCESSOR_DELIVERY 0x00000200
OutlineOutline• Visão Geral do Sistema
• Camadas Envolvidas na Comunicação
• Serviços do Microkernel
• Integração Processador à NoC
• Gerência Distribuída de Recursos
45
Integração do Processor à NoCIntegração do Processor à NoC
• Envolve:
• Wrapper – hardware de interface
• Drivers – software de comunicação
46
Integração do Processor à NoCIntegração do Processor à NoC
• WrapperWrapper• Interface entre o processador e a NoC
• Receber dados do processador e enviar para a NoC• Dividindo os dados em flits
• Receber dados da NoC e entregar ao processador
47
Processador Plasma
data_read data_write
address mem_pause_in
write_byte_enable
Wrapper
tx data_out credit_i data_in credit_o rx
gpio0_out gpioA_in
Integração do Processor à NoCIntegração do Processor à NoC
• WrapperWrapper• Interface com a NoC – envio de dados
48
Processador Plasma
data_read data_write
address mem_pause_in
write_byte_enable
Wrapper
tx data_out credit_i data_in credit_o rx
gpio0_out gpioA_in
tx: informa à NoC que tem dados a
enviar
data_out: dado a ser enviado
credit_i: informa se a NoC pode
receber dados
Integração do Processor à NoCIntegração do Processor à NoC
• Driver de comunicação• localizado no microkernel• envio e recebimento de pacotes
• monta pacotes
• Serviços:• Message_Request• Message_Deliver
65
destino tamanho serviço parâmetros do serviço
cabeçalho conteúdo
Integração do Processor à NoCIntegração do Processor à NoC
• Wrapper segmenta o pacote em flits• Exemplo:
• O código C ReadPipe(&msg,5) da tarefa 1 gera um pacote de requisição de dados: • Processador destino: 0010• Tamanho do pacote: 8 • Serviço: Message_Request (00000010)• Processador fonte: 0011• Tarefa destino: 1• Tarefa fonte: 5
• NoC com flit de 16 bits
66
00 10 00 08 00 00 00 10 00 00 00 11 00 00 00 01 00 00 00 05
Req Msg
destino
tamanho
Proc Fonte
Tarefa Destino
Tarefa Fonte
OutlineOutline• Visão Geral do Sistema
• Camadas Envolvidas na Comunicação
• Serviços do Microkernel
• Integração Processador à NoC
• Gerência Distribuída de Recursos
67
Gerência Distribuída de RecursosGerência Distribuída de Recursos
• Divide o MPSoC em n clusters com tamanhos iguais, definidos em tempo de projeto.
68
SP
SP
SP
SP
SP
SP
SP
SP
LMP
SP
SP
SP
SP
SP
SP
SP
SP
LMP
SP
SP
SP
SP
SP
SP
SP
GMP
SP SP SP SP SP
SP SP SP SP SP
LMP SP SP LMP SP SP
SP
SP
SP SP SP SP SP
SP SP SP SP
LMP SP SP LMP SP SP
SP
SP
SP SP SP SP SP
SP SP SP SP SP
LMP SP SP LMP SP SP
SP
SP
SP
SP
Re
po
sit
óri
o
de
A
plic
aç
õe
s
Gerência Distribuída de RecursosGerência Distribuída de Recursos• Vantagens dessa abordagem:
• O número de PEs dedicados à função de gerência é limitado ao número de clusters.
• A abordagem clusterizada reduz o número de hops entre tarefas pertencentes a uma mesma aplicação
• Não é necessário criar/destruir agentes toda a vez que uma nova aplicação entra/deixa o sistema
69
70
SP
SP
SP
LMP
SP
SP
GMP
SP
Rep
osi
tóri
o
de
Ap
licaç
ões
SP
SP
SP
LMP
SP
SP
LMP
SP
GMP INFORMA TODOS OS LMPs QUAL REGIÃO ELE IRA GERENCIARInicialização dos ClustersInicialização dos Clusters CADA LMP INFORMA PARA SEUS
SPS, QUE ELE IRA SER SEU GERENTE
Inserção de uma Nova AplicaçãoInserção de uma Nova Aplicação
71
HeMPS
SPRouter
Router
Router
Router SP
SP
LMP
Rep
ositó
rio d
e A
plic
açõe
s
SPRouter
Router
Router
Router SP
SP
GMP
CLUSTER 1
CLUSTER 0
app
Requisição de uma nova Aplicação
GMP executa a heurística de “Seleção
de Cluster”
GMP encontra uma Cluster para a Aplicação
GMP obtem a Descrição da Aplicação no Repositório
de Aplicações
GMP programa o módulo de DMA para enviar para o LMP do Cluster escolhido
LMP procura um SP para Mapear as Tarefas Inicias
da Aplicação
LMP encontra um SP disponível
LMP envia uma mensagem para o GMP mapear a
Tarefa
GMP obtém o código objeto da Tarefa no
Repositório de Aplicações
GMP programa o módulo de DMA para alocar a
Tarefa no SP selecionado
Processo de Mapeamento de TarefasProcesso de Mapeamento de Tarefas
72
HeMPS
SPRouter
Router
Router
Router SP
SP
LMP
Rep
osi
tório
de
Apl
icaç
ões
SPRouter
Router
Router
Router SP
SP
GMP
CLUSTER 1
CLUSTER 0
SP requesita uma Tarefa para o seu LMP
LMP executa a heurística de Mapeamento de
Tarefas
LMP escolhe um PE para mapear a Tarefa
LMP requisite a alocação da Tarefa para o GMP
O GMP obtém o código-objeto da Tarefa
O GMP aloca a Tarefa no PE selecionado
O LMP informa para os PES as posições das
Tarefas
Gerência com Regiões Dinamicamente Adaptadas às Gerência com Regiões Dinamicamente Adaptadas às AplicaçõesAplicações
Processo de Reclusterização: Ajuste em tempo de execução do tamanho de um determinado cluster.
• aumento do tamanho do cluster, por indisponibilidade de recursos
• migrar tarefas que foram mapeadas em clusters vizinhos, com o objetivo de melhorar o desempenho das aplicações
73
SP
SP
SP
SP
SP
SP
SP
SP
LMP
SP
SP
SP
SP
SP
SP
SP
GMP
SP SP SP
SP SP
LMP SP SP
SP SP SP
SP SP SP
LMP SP SP
SP
SP
Aumento Dinâmico do Tamanho do ClusterAumento Dinâmico do Tamanho do Cluster
74
SP requesita uma Tarefa para o seu LMP
LMP executa a heurística de Mapeamento de
Tarefas
LMP não encontrou recursos disponíveis em
seu Cluster
LMP envia uma “Requisição de Empréstimo” para seus
Clusters vizinhos
Os LMPs vizinhos buscam recursos em seus clusters
Os LMPs vizinhos respondem a “Requisição de Empréstimo”
Os LMPs reservam seus recursos
O LMP recebe todas as mensagens e escolhe qual
recurso irá usar
O LMP libera os recursos que não utilizará
O LMP requisite para o GMP a alocação da Tarefa
O GMP aloca a Tarefa no SP selecionado
Migração de TarefasMigração de Tarefas
75
É condicionado não apenas à existência de recursos livres, mas também ao ganho de desempenho pela redução do número de redução do número de
hopshops entre as tarefas comunicantes
Características da Migração de tarefas:•As tarefas podem ser migradas a qualquer momentomigradas a qualquer momento•Migração de tarefa completa, incluindo contexto, código contexto, código e dados dados•Mensagens são entregues em ordementregues em ordem, conforme foram criadas
Migração de TarefasMigração de Tarefas
76
F
LMP
GMP
LMP
D/E
LMP B A/C
Cluster 3 Cluster 4
Cluster 2Cluster 1
Migração de TarefasMigração de Tarefas
77
F
LMP
GMP
LMP
D/E
LMP B A/C
Cluster 3 Cluster 4
Cluster 2Cluster 1
Migração de TarefasMigração de Tarefas
78
LMP
GMP
LMP
F D/E
LMP B A/C
Cluster 3 Cluster 4
Cluster 2Cluster 1
Migração de TarefasMigração de Tarefas
79
LMP SP1 SP2Termino de
TarefaVerifica se há
tarefas em outros clusters
Requisição de Migração
Transmissão de contexto e
reescalonamento da tarefa Task
Requisição de Leitura
Encaminhamento da Requisição de Leitura
Mensagem entregue com a nova posição da tarefa
SP3
1
2
3
4
6
7
8
5
Perguntas?Perguntas?
80