C. Koruma Yükümlülükleri ve Edim Yükümlülüğünden Bağımsız Borç ĠliĢkiler
III. Ġġ HUKUKU AÇISINDAN ĠġÇĠYĠ KORUMA YÜKÜMLÜLÜĞÜ
2. ĠĢ SözleĢmesinin Unsurları
O emprego de serviços diferenciados não é novidade em redes em chip [HAR04] [BOL04]. Na MoNoC, eles são diferenciados no nível físico, onde prioridades distintas são atribuídas a canais virtuais existentes em cada roteador para utilização do canal físico de transmissão de dados, canais virtuais estes ilustrados na Figura 5.3.
Figura 5.3 - Roteador da MoNoC empregando canais virtuais para a diferenciação de serviços.
O canal virtual de mais baixa prioridade é chamado de Best Effort Lane (BE), implementan- do o atendimento a serviços sem requisitos de latência ou com requisitos flexíveis. Dois canais, chamados Adapt Lane A (AdaptA) e Adapt Lane B (AdaptB), são utilizados para serviços com requi- sito alto de desempenho, sendo empregados para a adaptação de rotas no contexto deste traba- lho. AdaptA e AdptB têm prioridades equivalentes, sendo superior a prioridade do canal virtual BE. O último canal virtual, chamado Control Lane (CTRL), representa o serviço de mais alta prioridade, sendo utilizado para notificações e troca de mensagens de controle. Na MoNoC, a prioridade des- tes serviços é definida nas portas de saída pelos árbitros dos canais virtuais que analisam a requisi- ção de transmissão. Nas portas de entrada há um módulo direcionador, que encaminha os pacotes para seus devidos canais virtuais. Não há possibilidade de mudança de canal virtual após a entrada de um pacote na rede, o que mantém a prioridade de cada pacote durante seu trânsito pela rede.
A Figura 5.4 ilustra uma competição possível entre os canais virtuais e as regras de prioridade em- pregadas.
Na Figura 5.4 apresenta-se 4 pacotes (i.e. A, B, C e D), cada um composto por 4 flits assim divididos: um flit representando a rota (h), um flit terminador (t), um flit de tamanho do pacote (s) e um flit de corpo do pacote (p). O conteúdo destes flits é aqui ignorado para permitir focar na re- gra de prioridade dos canais virtuais. A ordem de aparecimento de pacotes para transmissão é i- dentifica pela ordem alfabética associada a cada pacote. Assim, o pacote A tem sua transmissão requisitada em t1, sendo BE o único canal virtual a usar o canal físico nos tempos t1 e t2. Em t3, os
canais virtuais AdaptA e AdaptB requisitam transmissão. Como ambos possuem a mesma priorida- de, que é superior àquela de BE, dos tempos t3 a t6 a transmissão dos pacotes é intercalada entre
AdaptA e AdaptB. No momento t7 CTRL solicita transmissão e por ter a maior prioridade este ganha
o canal físico até o tempo t10. Quando CTRL conclui a transmissão, os canais AdaptA e AdaptB vol-
tam a intercalar a transmissão até que concluem em t14. Em t15, a transmissão de BE é retomada e
concluída em t16.
Figura 5.4 – Exemplo de ganho de prioridade para transmissão de pacotes a partir dos canais virtuais da MoNoC. Os pacotes (A, B, C, D) são compostos de 4 flits. Os pacotes A, B, C e D chegam aos distintos canais
virtuais nos instantes t1, t2, t2 e t7 respectivamente.
Sendo Maxbw a capacidade máxima de transmissão por canal físico, a regra de prioridades
permite definir a disponibilidade dos canais virtuais através das equações 5.1, 5.2 e 5.3. Nas Equa- ções 5.1 e 5.3, CTRLbw e BEbw representam as larguras de banda disponíveis para os canais virtuais
CTRL e BE, respectivamente. Na equação 5.2, AdaptLanesbw representa a largura de banda disponí-
vel para compartilhamento entre os canais virtuais AdaptA eAdaptB.
Equação 5.2
AdaptLanesbw = (Maxbw–CTRLbwInUse), onde:
CTRLbwInUse é a largura de banda em uso pelo canal virtual CTRL.
Equação 5.3
BEbw = Maxbw–(CTRLbwInUse+ AdaptLanesbwInUse), onde:
CTRLbwInUse é a largura de banda em uso pelo canal virtual CTRL e AdaptLanesbwInUse é a soma das lar-
guras de banda em uso pelos canais virtuais AdaptA e AdaptB.
Como dito anteriormente, a prioridade é implementada por um árbitro de canais virtuais presente nas portas de saída de cada roteador. Note que na Figura 5.4 transmissões realizadas por canais virtuais de menor prioridade são bloqueadas até que aqueles de maior prioridade transmi- tam os flits de seus pacotes. Este bloqueio está sujeito a disponibilidade da transmissão dos canais virtuais de maior prioridade, ou seja, é observada a existência de crédito (i.e. controle de fluxo).
A Figura 5.5 explora potenciais situações de bloqueio e as decisões tomadas pelo árbitro de canais virtuais. Nela, a regra de prioridades é respeitada até t8 e a partir de t9 pode-se observar o bloqueio por falta de crédito dos canais virtuais CTRL, AdaptA e AdaptB, enquanto BE mantém-se com crédito. Neste caso BE ganha prioridade para a transmissão. Em t10, AdaptA e AdaptB voltam a
ter crédito e, por consequência, prioridade, sendo a transmissão de BE bloqueada. Como a última transmissão dos canais virtuais de mesma prioridade foi feita por AdaptB, em t10, AdaptA ganha
preferência. Dado que a prioridade é intercalada para estes canais virtuais, em t11 AdaptB volta a
ganhar acesso ao canal físico. No momento em t12 o canal AdaptA deveria voltar a ganhar priorida-
de, porém este volta a ficar bloqueado por falta de crédito, e neste caso AdaptB mantém a prefe- rência de uso do canal físico, concluindo a transmissão do pacote C. A partir de t13, os bloqueios se
desfazem e a regra de prioridades volta a ser seguida como ocorrera entre os tempos t1 e t8.
Com relação à adaptação de rotas, o emprego de serviços diferenciados foi adotado para que notificações e mensagens de controle sofram o mínimo possível com concorrência por recur-
sos na rede. Para este tipo de mensagem, deve-se empregar o canal virtual CTRL. Os dois canais virtuais, AdaptA e AdaptB, têm por objetivo dar suporte à mencionada complementaridade dos algoritmos de roteamento. Um dos algoritmos é assumido em cada canal, evitando assim a quebra das regras que garantem a inexistência de deadlock.
Figura 5.5 – Comportamento projetado para o ganho de prioridade sob situações de bloqueio na transmissão de pacotes a partir dos canais virtuais da MoNoC. Os pacotes (A, B, C, D) são compostos de 4
flits. Os pacotes A, B, C e D chegam aos distintos canais virtuais nos instantes t1, t2, t2 e t7 respectivamente.
Independente do canal virtual a ser utilizado na transmissão de pacotes, a estrutura dos pa- cotes respeita àquela definida na Seção 3.1.1. O cabeçalho do pacote contém a rota a ser utilizada, finalizada por um flit terminador, e o tamanho do corpo do pacote. O restante dos flits que com- põem o pacote define o corpo deste, espaço este reservado à carga útil. Todavia, a MoNoC foi de- senvolvida para dar suporte à adaptação de rotas. Tal adaptação leva em consideração o estado de ocupação de um conjunto de canais na rede, que é capturado em tempo de execução. A captura do estado de ocupação de canais é realizada a partir de pacotes especiais que trafegam pelo canal virtual CTRL e operam com sondas espalhadas pela rede. Assim, cuidado especial deve ser tomado para pacotes que trafegam por este canal virtual, dadas algumas peculiaridades de operação com sondas de rede, assumidos a tal canal. Isto, porém, não inviabiliza o uso deste canal para a trans- missão de outros tipos de pacotes.