Escolar Documentos
Profissional Documentos
Cultura Documentos
Cesar Albenes Zeferino(1), Jaison Valmor Bruch(1), Thiago Felski Pereira(1) Mrcio Eduardo Kreutz(2), Altamiro Amadeu Susin(3) Universidade do Vale do Itaja CTTMar MCA GSED Rodovia SC 407, Km 04 Bairro Serto do Maruim 88122-000 So Jos SC Universidade de Santa Cruz do Sul Departamento de Informtica GPSEM Av. Independncia, 2293 Bairro Universitrio 96815-900 Santa Cruz do Sul RS Universidade Federal do Rio Grande do Sul II PPGC Av. Bento Gonalves, 9500 91501-970, Porto Alegre RS
{zeferino,jaison,felski}@univali.br; kreutz@unisc.br; altamiro.susin@ufrgs.br
(3) (2) (1)
Abstract. Future technologies for integrated circuits will drive systems-on-achip (SoCs) construction comprised of several dozens of cores. Communication architectures based on busses architecture will not face communications performance constraints needed to these SoCs efficiency. As a solution, Networks-on-Chip (NoCs) has been considered as the best solution to meet dedicated applications requirements. Since the design space of NoCs is wide and thus, requires a specific infrastructure for exploration, this work presents the modeling of a parameterized NoC architecture by using SystemC, at the RT level, together with a set of CAD tools concerning to evaluate the performance of NoCs architectures under different configurations and traffic patterns. Also communication modeling for traffic of real applications based on the characterization of their traffic is presented. Results show the configuration of network that allows obtaining the best performance metrics. Resumo. As prximas tecnologias de fabricao de circuitos integrados permitiro a integrao de dezenas de ncleos em um mesmo chip. As arquiteturas de comunicao baseadas no barramento no atendero s demandas de desempenho desses sistemas. Como soluo, consenso na literatura que as Networks-on-Chip (NoCs) oferecero a melhor soluo em desempenho em comunicao. Como o espao de projeto de NoCs bastante amplo e requer infra-estrutura especfica para a sua explorao, este trabalho, apresenta a modelagem de uma arquitetura de NoC parametrizvel utilizando o SystemC no nvel RT e um conjunto de ferramentas de apoio que permitem avaliar o desempenho da rede sob diferentes configuraes do seu espao de projeto e condies de trfego, possibilitando, tambm, realizar a modelagem do perfil de comunicao de aplicaes reais a partir da caracterizao de seu trfego. Os resultados obtidos evidenciam a configurao de rede que apresenta os melhores ndices de desempenho.
559
1. Introduo
O advento das tecnologias de processo submicrnico tem permitido o projeto de sistemas completos em um nico chip, os quais so denominados Sistemas Integrados ou SoCs (Systems-on-Chip). As metodologias de projeto de sistemas integrados so baseadas no reuso de blocos de circuito em silcio pr-projetados e pr-verificados, contendo, usualmente, pelo menos 5.000 portas lgicas [Gupta e Zorian 1997]. Esses blocos reutilizveis, que recebem o nome de ncleos (ou cores), podem ser aplicados na construo de diferentes sistemas. A capacidade de reuso dos mesmos vital para minimizar o tempo de projeto e de verificao de novos produtos e garantir o aumento da competitividade e dos rendimentos de seus fabricantes. Os ncleos de um sistema integrado so interligados por meio de uma arquitetura de comunicao, sendo que, atualmente, devido a sua reusabilidade, a arquitetura preferencial o barramento. Contudo, embora o barramento seja adequado a sistemas com poucas dezenas de ncleos, ele no atender aos requisitos dos futuros SoCs, os quais integraro de vrias dezenas a centenas de ncleos. Essa inadequao deve-se ao fato de que sua freqncia de operao e sua largura de banda se degradam com o aumento do nmero de ncleos a ele conectados, e tambm porque um barramento suporta apenas uma nica comunicao a cada instante, entre outros fatores [Guerrier e Greiner, 2000]. Dadas as limitaes dos barramentos, diversos pesquisadores tm defendido o uso de arquiteturas de comunicao denominadas Redes-em-Chip ou NoCs (Networkson-Chip) [Jantsch e Tenhunen, 2003], que so redes chaveadas integradas em chip baseadas nas arquiteturas de redes de interconexo para computadores paralelos. Entre as vantagens das NoCs sobre os barramentos destacam-se: (i) a largura de banda das NoCs cresce com o aumento do nmero de ncleos, enquanto que a do barramento fixa; e (ii) as NoCs oferecem paralelismo em comunicao e o barramento no. Alm disso, as NoCs possuem capacidade de reuso equivalente do barramento e so prprias para sistemas GALS (Global Assynchronous, Local Synchronous) em que o chip divido em regies sncronas que se comunicam de maneira assncrona [Hermani et al. 1999]. No entanto, apesar de suas vantagens, as NoCs tambm apresentam limitaes e desvantagens, sendo que a principal delas consiste na latncia de comunicao. Como os ncleos so separados por um ou mais roteadores, cada comunicao sujeita aos atrasos inerentes dos roteadores e competio por canais da rede. Outros problemas que se destacam so o seu sobrecusto de silcio e de energia. Dado esse cenrio, desde o final dos anos 90, diversos projetos de pesquisa tm sido desenvolvidos no sentido de abordar um ou mais problemas potencias das NoCs. O Projeto SoCIN (System-on-Chip Interconnection Network), iniciado na Universidade Federal do Rio Grande do Sul UFRGS e hoje realizado em pareceria entre pesquisadores da UFRGS, da Universidade do Vale do Itaja UNIVALI e da Universidade de Santa Cruz do Sul UNISC, objetiva a explorao de arquiteturas de NoCs com baixo custo de silcio, visando realizao de sistemas embarcados escalveis com alta demanda de comunicao. Nesse projeto, foi desenvolvida uma arquitetura de roteador parametrizvel denominado ParIS (Parameterized
560
Interconnection Switch). O modelo VHDL do roteador ParIS permite a simulao e sntese de redes em malha 2-D com diferentes configuraes de mecanismos de roteamento, controle de fluxo, arbitragem e memorizao (buffers de entrada e de sada com profundidade parametrizvel). Essas alternativas de configurao tendem a apresentar ndices de desempenho diferenciados em funo das caractersticas do trfego apresentado rede. Para avaliar o desempenho de cada configurao de rede sob diferentes padres de trfego, necessrio realizar a simulao de sistemas reais ou sintticos, em que ncleos ou geradores de trfego sejam conectados rede e injetem pacotes a taxas predeterminadas e que o trfego da rede seja analisado a partir de dados coletados por unidades de medio. Embora o modelo VHDL do roteador ParIS permita tanto a simulao quanto a sntese, a simulao de redes descritas em VHDL pode apresentar elevado custo computacional no que diz respeito ao tempo de simulao, conforme o tamanho do sistema. Alm disso, a construo de geradores e analisadores de trfego voltados execuo nos mesmos ambientes de simulao e de sntese da rede limitada ao subconjunto do VHDL suportado pelo ambiente de desenvolvimento utilizado. Isso, por sua vez, restringe a generalidade desses modelos. Essas limitaes levam necessidade do uso de outras alternativas de modelagem que permitam caracterizar melhor o desempenho de cada configurao da rede em um tempo computacional menor, a fim de facilitar a explorao do espao de projeto.Visando resolver esse problema, e ainda mantendo a preciso em nvel de ciclos e assegurando a possibilidade de realizar a sntese da rede, foi realizada a modelagem do roteador ParIS e da rede SoCIN em SystemC no nvel RT (Register Transfer). O modelo implementado permite avaliar o desempenho da rede sob diferentes configuraes de parmetros e condies de trfego. Experimentos de simulao e avaliao de desempenho so suportados por um conjunto de ferramentas para automatizar a gerao e a execuo de benchmarks para a rede SoCIN. Esses benchmarks so baseados em um modelo de gerador de trfego que possibilita a representao de diferentes padres de trfego, configurando-se a distribuio espacial das comunicaes realizadas, bem como parmetros referentes carga de comunicao oferecida rede. Modelos para medir o trfego e ferramentas de anlise de dados coletados permitem obter mtricas de desempenho como, por exemplo, a latncia mdia da rede e o trfego aceito para uma dada carga oferecida, entre outras. O artigo organizado como segue. Na Seo 2, so apresentados conceitos sobre SystemC e trabalhos relacionados. A arquitetura da rede SoCIN e a organizao do roteador ParIS so brevemente descritos na Seo 3. Na Seo 4, so descritos aspectos referentes modelagem e ao fluxo de simulao da rede SoCIN usando o SystemC, e so apresentados os modelos de componentes e as ferramentas desenvolvidas para suportar a avaliao de desempenho da rede. Na Seo 5, so mostrados resultados de experimentos realizados buscando avaliar o impacto da variao da configurao rede sob diferentes padres de trfego. Finalizando, a Seo 6 apresenta concluses e comentrios adicionais referentes a pesquisas em andamento e a trabalhos futuros.
561
562
VHDL e com desempenho avaliado atravs de uma simulao hbrida SystemC/VHDL, na qual os geradores de trfego so modelados em SystemC (no nvel de sistema) e o roteador modelado em VHDL (no RTL). Essa abordagem facilita o desenvolvimento do gerador de trfego, pois permite o uso de estruturas da linguagem C++ que so mais adequadas para a implementao desse tipo de componente, o qual deve injetar pacotes na rede e colher os dados estatsticos necessrios para a avaliao do seu desempenho. Contudo, essa abordagem hbrida ainda apresenta custo computacional razovel no que tange ao tempo para a execuo da simulao. Tambm possvel realizar uma modelagem hbrida totalmente em SystemC, com custo computacional de simulao intermedirio. Utilizando-se um subconjunto de primitivas do SystemC, possvel modelar alguns componentes de um sistema no RTL e outros em nveis mais abstratos. Alm disso, diversos fabricantes de ferramentas de automao do projeto eletrnica (EDA Electronic Design Automation), como a Synopsys (2003) e a Forte Design Systems (2007) j oferecem ferramentas que traduzem um modelo SystemC para uma linguagem de descrio de hardware sintetizvel, como o Verilog e o VHDL.
0,3
1,3
2,3
3,3
N L W
ParIS
X,Y
0,2
1,2
2,2
3,2
S
1
0,1 1,1 2,1 3,1
0,0
1,0
2,0
3,0
X
0 1 2 3
3.2 Organizao do roteador ParIS O roteador ParIS possui arquitetura cannica parametrizvel. Internamente, a arquitetura composta por mdulos que podem ser estendidos para suportar diferentes alternativas de mecanismos de comunicao. Atualmente, so disponibilizadas as seguintes alternativas: Chaveamento: wormhole; Controle de fluxo: handshake e baseado em crditos; Memorizao: buffer FIFO (na entrada e, opcionalmente, na sada); Roteamento: XY e WF (West-First); e Arbitragem: esttica e dinmica (randmica e circular). O roteador, ilustrado na Fig. 2, organizado em mdulos de entrada (ex. Lin) e de sada (ex. Lout) e por um mdulo central (CPM) que representa a estrutura de conexes relacionada com o tipo de roteamento implementado (ex. XY ou West-First).
Lin
req[ ]
Lout
OC
IC
din val ret
din
IFC
wr wok
FIFO
dout rok rd
O D S O W S
din wr wok
FIFO
dout rok rd
OFC
CPM
Win
req[ ]
Wout
OC
IC
din val ret
din
IFC
wr wok
FIFO
dout rok rd
O D S O W S
din wr wok
FIFO
dout rok rd
OFC
O mdulo de entrada constitudo por blocos de controle de fluxo (IFC Input Flow Controller), armazenamento (buffer FIFO First-In, First-Out), roteamento (IC Input Controller) e de chaveamento (IRS Input Read Switch). O mdulo de sada composto por um rbitro (OFC Output Flow Controller), chaveadores (ODS Output Data Switch e OWS Output Write Switch), armazenamento de sada (opcional) e controle de fluxo de sada (OFC Output Flow Controller).
564
Quando um pacote enviado a um canal de entrada i do roteador, o bloco IFC utiliza um protocolo de dois fios (val e ret) para regular a admisso dos flits (flow control units) presentes no canal de dados (din) de acordo com o espao disponvel no buffer de entrada. Quando o cabealho do pacote atinge a sada do buffer de entrada, ele roteado pelo bloco IC que seleciona o canal de sada j a ser utilizado para encaminhlo em direo ao seu destino. O bloco IC envia uma requisio (req) ao bloco OC do canal de sada j, o qual realiza a arbitragem de mltiplas requisies, selecionando uma delas e comandando os chaveadores (IRS, ODS e OWS) para estabelecer a conexo entre o canal de entrada selecionado e o buffer de sada. Os flits recebidos por esse buffer so encaminhados para fora do roteador, sendo que a emisso dos flits controlada pelo bloco OFC. Esse buffer um bloco opcional do circuito. Mais detalhes sobre o roteador ParIS e a sua implementao em VHDL so fornecidos por Zeferino, Santo e Susin (2004).
TG
T M
TG
T M
TG
T M
ParIS
ParIS
ParIS
ParIS
TG
T M
TG
T M
TG
T M
TG
T M
ParIS
T M
ParIS
T M
ParIS
T M
ParIS
T M
TG
TG
TG
TG
ParIS
ParIS
ParIS
ParIS
TG
T M
TG
T M
TG
T M
TG
T M
ParIS
ParIS
ParIS
ParIS
565
4.2 Modelos SystemC O modelo SystemC do roteador ParIS foi totalmente implementado no nvel RT e reproduz a arquitetura modelada originalmente em VHDL (ilustrada na Fig. 2). Esse modelo pode ainda ser estendido pela incluso de diretivas de compilao que permitam a realizao da sntese utilizando compiladores como o da Synopsys, conforme j mencionado na Seo 2.1. O modelo de gerador de trfego foi implementado no nvel de sistema no SystemC. O modelo implementa o mtodo genrico para gerao de trfego proposto por Tedesco (2005). Com base nesse mtodo, o gerador de trfego pode enviar pacotes com tamanho fixo ou varivel e com intervalo entre pacotes tambm fixo ou varivel. Esses valores so calculados em tempo de compilao ou em tempo de simulao e podem ser configurados de modo a submeter a rede a uma determinada carga de trabalho. A taxa de gerao pode ser constante ou regida por funes de probabilidade como a Normal, a Exponencial ou a Pareto On/Off. O perfil da comunicao tambm pode ser caracterizado especificando-se a distribuio espacial de comunicao entre geradores de trfego. Atualmente, os seguintes padres so suportados: a) Padres com um nico destinatrio por remetente (emissor) detalhes disponveis em [Duato, Yalamanchili e Ni, 1997]:
bit-reversal; perfect-shuffle; butterfly; matriz transposta; e complemento uniforme: todos os nodos do sistema tm a mesma probabilidade de serem destinatrios. Cada remetente envia o mesmo nmero de pacotes a todos os demais nodos; no-uniforme: a probabilidade de um nodo enviar pacotes a outro nodo diminui com a distncia entre eles. Nodos vizinhos trocam uma quantidade de pacotes mxima, enquanto que nodos no vizinhos trocam um nmero de pacotes que inversamente proporcional ao nmero de roteadores entre eles. local: todos os nodos vizinhos tem a mesma probabilidade de serem destinatrios, recebendo o mesmo nmero de pacotes. Porm, nodos no adjacentes possuem probabilidade nula (nenhum pacote lhes remetido).
O TG se baseia em arquivo de configurao (traffic.cfg) que descreve o perfil de trfego para gerao de pacotes por todas as instncias de TGs (nodos) em um dado sistema. Esse arquivo gerado automaticamente por uma ferramenta de apoio (denominada gtr) que recebe os parmetros do trfego e gera o arquivo correspondente aos parmetros fornecidos. A Fig. 4 mostra o contedo do arquivo de configurao de
566
trfego para um sistema com 16 TGs conectados a uma rede 4x4, utilizando o padro de trfego espacial do tipo complemento (cada TG envia pacotes ao TG com endereo complementar ao seu). Por exemplo, no arquivo ilustrado, o tg_0_0 (00,00 em binrio) deve enviar 1000 pacotes com 49 flits (mais o cabealho) ao tg_3_3 (11,11 em binrio), a uma taxa de injeo constante com uma largura de banda requerida de 20%. Para pacotes com 50 flits, devem ser inseridos 800 ciclos de intervalo entre o fim de um pacote e o incio do pacote seguinte.
tg_0_0 1 0 3 3 49 1000 0.200000 800 0 0 0 0.00 0.00 tg_0_1 1 0 3 2 49 1000 0.200000 800 0 0 0 0.00 0.00 (...) tg_3_3 1 0 0 0 49 1000 0.200000 800 0 0 0 0.00 0.00 // Parameters (from left to right) 0 type 1 x_dest 2 y_dest 3 payload_length 4 pck_2send 5 required_bw 6 idle_cycles 7 iat 8 burst_size 9 last_payload_length 10 alfa_on (for Pareto-based generation) 11 alfa_off(for Pareto-based generation) Figura 4. Exemplo de arquivo de configurao de trfego (o trecho central foi omitido por ser desnecessrio ao entendimento)
O modelo do medidor de trfego tambm foi implementado no nvel de sistema no SystemC. Durante a execuo de uma simulao, esse modelo gera um arquivo de sada em que so registrados os dados referentes a cada pacote recebido pelo medidor. Conforme ilustrado na Fig. 5 (a seguir), as informaes incluem o nmero do pacote recebido, incluindo: as coordenadas XY dos TGs destinatrio e fonte do pacote, os ciclos de relgio em que o pacote foi criado e injetado na rede (que podem ser diferentes no caso de conteno), os ciclos de relgio em que o cabealho (header) e o terminador (trailer) foram recebidos pelo destinatrio, o tamanho do pacote e a largura de banda requerida. As informaes referentes s coordenadas e ao momento de criao e injeo dos pacotes so includas no seu cabealho e em parte do seu corpo no momento do envio e lidas pelo medidor de trfego no momento da sua recepo.
567
Packet Packet Creation Injection 3 1003 2003 3003 4003 5003 3 1003 2003 3003 4003 5003 (...)
Trailer Packet Req. at cycle Length Band. 629 1629 2629 3629 4629 5629 50 50 50 50 50 50 0.20 0.20 0.20 0.20 0.20 0.20
Figura 5. Segmento inicial do arquivo de sada gerado pelo medidor de trfego conectado ao roteador de coordenadas 0,0
Os arquivos gerados por cada medidor de trfego so analisados por uma ferramenta, denominada atr, que l todos os arquivos, determina a latncia acumulada em funo da latncia de cada pacote e calcula a latncia mdia e o trfego aceito pela rede (nmero de flits por nodo por ciclo). Ele tambm permite obter outras informaes, como o nmero de pacotes cuja latncia situa-se em uma determinada faixa (ex. de 10% a 20% acima da latncia mnima a vazio) ou que violaram requisitos de tempo de entrega, entre outras. A modelagem no nvel de sistema oferece bastante flexibilidade para incluso de diferentes tipos de anlise. A Fig. 6 ilustra um dos formatos de relatrio resumido apresentado pela ferramenta atr. Nela, observa-se que foram gastos 80004 ciclos de relgio para entregar 16.000 pacotes com uma latncia mdia de 30 ciclos por pacote (neste caso, pacotes com tamanho igual a 50, incluindo o cabealho). O trfego aceito pela rede foi de 0,10 flits/nodo/ciclo.
Simulation time = 80004 cycles 16000 packets were delivered Average latency = 30.00 cycles/packet Accepted traffic= 0.10 flits/node/cycle Figura 6. Relatrio de sada da ferramenta atr
4.3. Fluxo para Avaliao de Desempenho Para automatizar a gerao de modelos de redes e de sistemas de qualquer tamanho, bem como o processo de gerao de padres de trfego e de anlise de resultados da simulao, foi implementado um conjunto de ferramentas de apoio que so utilizadas conforme o fluxo mostrado na Fig. 7. A ferramenta gnoc gera redes compatveis com a arquitetura SoCIN (socin.h), enquanto que a ferramenta gsys gera a descrio de um sistema (main.cpp) com arquitetura baseada na plataforma ilustrada na Fig. 3. Essa descrio compilada pelo gcc que gera um simulador do sistema (system.x). Na sua execuo, esse simulador l o arquivo de configurao de trfego gerado pela ferramenta gtr e produz arquivos de log (ext_x_y.out) gerados pelos medidores de trfego. Esses arquivos so ento analisados pela ferramenta atr que determina os ndices de desempenho da rede.
568
Dimenses da Rede
Parmetros do trfego
gnoc
gsys
gtr
socin.h
main.cpp
paris
tg
tm
traffic.cfg
gcc
system.x
atr
Relatrio Final
4.4 Validao Os modelos e as ferramentas desenvolvidas foram validados exaustivamente ao longo do desenvolvimento e aps a sua integrao. Para cada componente do modelo do roteador ParIS, foi construdo um testbench voltado verificao funcional do modelo. A validao da plataforma completa foi feita com a simulao de sistemas de diferentes tamanhos, desde redes 2x2 at redes 8x8, com 64 geradores de trfego enviando pacotes a todos os demais geradores da rede. Esse tipo de simulao oferece uma taxa de cobertura para validao bastante alta, pois explora a grande maioria dos caminhos e circuitos da rede.
569
5 Experimentao
5.1 Configuraes Nos diferentes experimentos realizados algumas variveis da simulao foram mantidas constantes, incluindo: Tamanho da rede: 4x4; Largura do flit: 32 bits Arbitragem: round-robin; Tcnica de controle de fluxo: Baseada em crditos; Tamanho do pacote: 16 flits (mais o cabealho) Nmero de pacotes enviados de um remetente para um destinatrio: 1000 pacotes (na distribuio no-uniforme, esse nmero diminui com a distncia entre remetente e destinatrio); e Tipo de injeo de trfego: constante. A partir dessa configurao base, as demais variveis foram alteradas para estabelecer diferentes configuraes de experimentos, incluindo: Algoritmos de roteamento: XY e WF; Armazenamento (buffers): somente na entrada e na entrada e na sada; Profundidade dos buffers: 2, 4 e 8 posies; Distribuies espaciais: complemento, uniforme, no-uniforme e local; Carga oferecida (largura de banda requerida): 10 a 55% da largura de banda mxima do canal (com incrementos de 5%); As distribuies espaciais bit-reversal, perfect-shuffle, butterfly e matriz transposta no so consideradas nesses experimentos, pois, em seus padres, nem todos os nodos da rede injetam pacotes, levando a uma largura de banda efetiva menor do que a especificada pela taxa de injeo, dificultando a comparao dos resultados. Por exemplo, quando especificada uma taxa de injeo de 40% da largura de banda da rede, no padro butterfly, onde apenas metade dos nodos injeta pacotes, a carga efetiva de 20%, enquanto que nos padres em que todos os nodos injetam pacotes, a carga efetiva de 40%. 5.2 Aspectos gerais dos experimentos realizados A partir dos espaos de configuraes acima, foi realizado um conjunto de experimentos de modo a avaliar o impacto da variao dos parmetros do roteador e/ou dos padres de trfego no desempenho da rede. A execuo dos mltiplos experimentos foi suportada por uma ferramenta (denominada gsim) que automatiza a execuo de uma seqncia de simulaes em que so variadas apenas a distribuio espacial e a carga oferecida. Por exemplo, com uma nica interao com o usurio, possvel realizar simulaes para todas as oito distribuies espaciais disponveis, variando-se a carga de trabalho de 10% a 60% com
570
incremento de 2%. Sem o uso dessa ferramenta, seriam necessrias 240 interaes com o usurio para a definio de todas essas configuraes. Na anlise dos pacotes transferidos na rede, so desconsiderados os primeiros (0 a 10% do total) e os ltimos (90% a 100% do total) pacotes recebidos por cada nodo, pois esses podem ser beneficiados com uma menor conteno na rede. No contexto dos resultados apresentados a seguir, utiliza-se o termo ponto de saturao para definir o momento a partir da qual a rede no mais capaz de aceitar quallquer trfego adicional. Conforme Duato, Yalamanchili e Ni (1997), a vazo da rede pode ser medida pelo seu trfego aceito, expresso pelo nmero de flits por nodo por ciclo. Acima do ponto de saturao, mesmo incrementando a taxa de injeo da rede, com o aumento da carga de trabalho oferecida, ela no consegue suportar a largura de banda desejada e a latncia mdia sofre um aumento excessivo em relao ao seu valor com a rede trabalhando sob uma carga mais leve, ou seja, a rede est saturada. Isso caracteriza um ponto de operao a partir do qual a configurao utilizada inadequada para o trfego aplicado. 5.3 Resultados O primeiro experimento compara os diferentes tipos de distribuio de trfego espacial, com carga oferecida variando de 10 a 55% da largura de banda disponvel (medida em flits/ciclo/nodo), a uma taxa de injeo constante. utilizada uma configurao de rede com roteamento XY, buffers de 4 flits apenas na entrada dos roteadores e controle de fluxo baseado em crditos. Com exceo do padro no-uniforme, cada comunicao envolve a transferncia de 1000 pacotes com 16 flits (mais o cabealho). No padro nouniforme, o nmero de pacotes transmitidos diminui com o aumento da distncia entre os nodos. Por exemplo, nodos no vizinhos, separados por 3 roteadores, trocam 500 pacotes, enquanto que os separados por 4 roteadores, trocam 250 pacotes, e assim por diante. Os nodos mais distantes na rede 4x4, (0,0) e (3,3), trocam apenas 32 pacotes. A Fig 8 ilustra a latncia mdia de cada distribuio e a sua relao com o aumento da carga oferecida. A distribuio com menor latncia mdia a local, pois cada nodo se comunica apenas com seus nodos vizinhos, com uma distncia de 2 roteadores entre cada par de nodos comunicantes. Na distribuio uniforme, cada nodo envia pacotes a todos os demais nodos da rede, com uma distncia mdia de 3,94 roteadores entre nodos comunicantes, para a rede considerada (4x4). J na distribuio complemento, embora cada nodo envie pacotes para apenas um nodo, a distncia mdia entre nodos comunicantes de 5 roteadores. Por isso, a sua latncia mdia maior que a das demais. A distribuio no-uniforme tem distncia e latncia mdias intermedirias entre as da distribuio local e as da distribuio uniforme, pois cada nodo se comunica com todos os demais da rede, mas com probabilidade maior para se comunicar com nodos mais prximos.
571
Experimento 1
140 120 100 80 60 40 20 0 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 Complemento Uniforme No-Uniforme Local
Figura 8. Comparao da latncia mdia para diferentes padres de distribuio espacial configurao: roteamento XY, buffers de 4 flits nas entradas, controle de fluxo baseado em crditos
A Fig 9 ilustra as medies tomadas quanto ao trfego aceito. Neste grfico, observa-se que as distribuies com maior localidade so as que aceitam menos trfego. Isso acontece porque nessas distribuies h uma probabilidade maior de ocorrer conteno no uso dos canais Lout dos roteadores pelos quais os pacotes saem da rede.
Experim ento 1 0,5 Trfego aceito (flits/nodo/ciclo) 0,4 0,3 0,2 0,1 0 0,10 0,15 0,20 0,25 0,30 0,35 0,40 0,45 0,50 0,55 Carga oferecida (flits/nodo/ciclo) Complemento Uniforme Non-Uniforme Local
Figura 9. Comparao do trfego aceito para diferentes padres de distribuio espacial configurao: roteamento XY, buffers de 4 flits nas entradas, controle de fluxo baseado em crditos
Analisando-se os dois grficos acima, observa-se que as distribuies que possuem uma maior competio por enlaces entre roteadores (uniforme e no-uniforme) so as que saturam mais cedo, com uma menor carga oferecida. Nota-se, ainda, que a distribuio local capaz de sustentar sua latncia mdia para cargas maiores que as demais distribuies, comeando a saturar com uma carga de 55%, quando a latncia mdia ultrapassa 100 ciclos de relgio. Considerando as aplicaes tpicas para sistemas embarcados, das quatro distribuies analisadas, as de maior localidade so que mais se aproximam do padro
572
de comunicao de aplicaes reais, onde os ncleos no se comunicam com a mesma probabilidade. Por isso, o mapeamento dos ncleos na rede deve ser feito de maneira a manter mais prximos aqueles que se comunicam com maior freqncia. No entanto, a distribuio local muito restritiva, e no considera a comunicao entre nodos no adjacentes, o que de fato ocorre em aplicaes reais. Por isso, a distribuio nouniforme usada nos experimentos a seguir que comparam o desempenho da rede utilizando diferentes configuraes do roteador ParIS. Nesses experimentos, cada simulao envolve a transferncia de 104.116 pacotes de 16 flits entre os 16 geradores de trfego. No segundo experimento, compara-se o desempenho da rede sob duas configuraes de rotamento: XY e WF (West-First). Como pode ser observado nos grficos a seguir, o uso do roteamento XY resulta em uma latncia mdia levemente menor e em um maior trfego aceito. Alm disso, a rede consegue sustentar uma latncia mais baixa para uma carga oferecida maior, saturando em 50% no XY contra 45% no WF. O pior desempenho do roteamento WF se deve ao fato de ele ser parcialmente adaptativo (o XY determinstico) e permitir o uso de diferentes caminhos para pacotes enviados em direo ao leste. Com o aumento do trfego, ele produz uma concentrao de pacotes no meio da rede, aumentando a conteno.
Experimento 2
140
Experimento 2
0,50 Trfego aceito (flits/nodo/ciclo) 0,40 0,30 0,20 XY 0,10 0,00 0,10 0,20 0,30 0,40 0,50 WF
XY WF
Figura 10. Avaliao do impacto do algoritmo de roteamento na latncia mdia e no trfego aceito pela rede configurao: buffers de 4 flits nas entradas, controle de fluxo baseado em crditos, distribuio espacial no-uniforme
No terceiro experimento, avalia-se a influncia da profundidade dos buffers de entrada no desempenho da rede. A Fig. 11 ilustra resultados para simulaes com buffers de profundidade igual a 2, 4, 8 e 16 flits. Analisando-se os resultados, nota-se que buffers muito rasos limitam demasiadamente o trfego aceito pois, quando um pacote bloqueado, ele mantm alocados todos os canais e buffers j reservados. Com buffers de dois flits nos roteadores e pacotes de 16 flits (mais o cabealho), em uma rede 4x4, um pacote pode reservar todos os roteadores do seu caminho enquanto estiver bloqueado, provocando um aumento da conteno na rede. Com buffers mais profundos, esse efeito minimizado, reduzindo-se a latncia e estendendo-se o ponto de saturao. Mas, pode-se perceber que buffers de profundidade igual a 8 e a 16 flits possuem latncias mdias similares para uma carga oferecida de at 25%.
573
Experimento 3 200 180 160 140 120 100 80 60 40 20 0 0.10 0.20 0.30 0.40
Experimento 3 0.50
Trfego aceito (flits/nodo/ciclo)
0.50
0.10
0.20
0.30
0.40
0.50
Figura 11. Avaliao do impacto da profundidade dos buffers de entrada na latncia mdia e no trfego aceito pela rede configurao: roteamento XY, controle de fluxo baseado em crditos, distribuio espacial no-uniforme
No quarto experimento, avalia-se o efeito da incluso de buffers (com capacidade de armazenar 4 flits) nos canais de sada dos roteadores. Dois efeitos podem ser notados a partir da anlise dos resultados ilustrados na Fig. 12. Primeiro, h um aumento da latncia mdia, o que se deve ao ciclo adicional para registro do cabealho nos buffers de sada dos roteadores (a latncia mnima para o cabealho de um pacote atravessar um roteador aumenta de 3 para 4 ciclos, incluindo o roteamento, a arbitragem e o armazenamento nos buffers de entrada e de sada). O segundo efeito o aumento do trfego aceito. Isso ocorre porque os buffers de sada reduzem a conteno dentro dos roteadores. Por exemplo, considerando um pacote de 16 flits bloqueado na rede e que seu ltimo flit esteja bloqueado em um roteador, sem o uso de buffers de sada, esse flit ir reservar uma conexo interna do roteador at que ele possa ser encaminhado para outro roteador. Com o buffer no canal de sada, o flit absorvido por esse buffer, liberando a conexo interna e a sada do buffer do canal de entrada pelo qual ele chegou no roteador.
Experimento 4 140 Experimento 4 0,50
0,20
0,30
0,40
0,50
Figura 12. Avaliao do impacto do uso de buffers nos canais de sada na latncia mdia e no trfego aceito pela rede configurao: buffers de 4 flits, roteamento XY, controle de fluxo baseado em crditos, distribuio espacial nouniforme
574
A melhoria do desempenho proporcionada pela incluso dos buffers de sada se deve, tambm, ao aumento da capacidade de armazenamento dos roteadores, no apenas pela posio dos buffers. Por exemplo, o quinto experimento mostra que se for dobrada a capacidade dos buffers na configurao que no adota memorizao de sada (ou seja, 8 flits), essa passa a ter melhor desempenho do que com uso de buffers de 4 flits nas entradas e nas sadas dos roteadores.
Experimento 5 Experimento 5 0,50
120
0,40 0,30 0,20 0,10 0,00 0,10 0,20 0,30 0,40 0,50
Sem buffers de sada Com buffers de sada
Figura 13. Avaliao do impacto do uso de buffers nos canais de sada na latncia mdia e no trfego aceito pela rede configurao: buffers de entrada de 8 flits e buffers de entrada e de sada de 4 flits, roteamento XY, controle de fluxo baseado em crditos, distribuio espacial no-uniforme
A melhoria do desempenho proporcionada pela incluso dos buffers de sada se deve, tambm, ao aumento da capacidade de armazenamento dos roteadores, no apenas pela posio dos buffers. Por exemplo, o quinto experimento mostra que se for dobrada a capacidade dos buffers na configurao que no adota memorizao de sada (ou seja, 8 flits), essa passa a ter melhor desempenho do que com uso de buffers de 4 flits nas entradas e nas sadas dos roteadores. A Tabela 1 apresenta uma sntese das concluses tomadas a partir a anlise dos resultados dos experimentos apresentados neste artigo.
Tabela 1. Resumo das concluses dos experimentos
No 1 2 3 Caracterstica avaliada Distribuies espaciais Roteamento Profundidade dos buffers de entrada Concluses Quanto maior a localidade, melhor a latncia mdia (menor) e pior o trfego aceito (menor). O roteamento XY possui latncia mdia menor e aceita mais trfego. Buffers de entrada muito rasos (2 flits) resultam em um desempenho pior (latncia maio e trfego aceito menor). Porm buffers de entrada muito profundos (16 flits) no oferecem desempenho muito melhor que buffers com menor profundidade (8 flits). O acrscimo de buffers de sada reduz a conteno dentro dos roteadores e aumenta o trfego aceito. Porm, a latncia mdia tambm cresce. A diviso da capacidade de buffering entre buffers de entrada e de sada produz um desempenho pior do que a alocao dessa capacidade apenas em buffers de entrada. O trfego aceito igual, mas a latncia mdia aumenta com o uso de buffers na sada.
Incluso de buffers de sada Distribuio da capacidade de buffering entre buffers de entrada e de sada
575
Alm dos experimentos mostrados acima, foram realizados outros que permitiram analisar o impacto da configurao do roteador no desempenho da rede sob diferentes padres de trfego. Esses experimentos tambm confirmaram a capacidade do ambiente desenvolvido (modelos SystemC + ferramentas de apoio ao projeto de experimentos) em auxiliar na anlise das melhores alternativas de configurao de rede. No entanto, os resultados obtidos permitem extrair concluses apenas para padres de trfego genricos. O objetivo do projeto ao qual este trabalho est associado construir um ambiente integrado para modelagem em SystemC de aplicaes reais baseadas em arquiteturas de comunicao do tipo Rede-em-Chip, e posterior anlise de trfego para auxiliar na escolha tanto do mapeamento da aplicao na rede, quanto da configurao de roteador a ser adotada.
7 Concluses
Neste artigo, foi apresentado a modelagem de uma Rede-em-Chip em SystemC visando a simulao da rede para avaliar o impacto de diferentes configuraes de roteador no desempenho da rede. Foi adotadata uma abordagem de modelagem hbrida, em que os roteadores foram descritos no nvel RT e os demais componentes de benchmarking no nvel de abstrao de sistema. Tambm foi descrito um conjunto de ferramentas de apoio desenvolvidas para automatizar os processos de gerao de sistema e de gerao e anlise de trfego. Os resultados obtidos com os experimentos realizados permitiram mostrar que, para o padro de trfego considerado, o roteamento XY oferece melhor desempenho que o roteamento WF. Tambm se pde verificar que o uso de buffers muito rasos limita o desempenho das redes, mas que buffers muito profundos (16 flits), no trazem benefcios significativos, sendo que o uso buffers de 8 flits produziu os resultados mais satisfatrios. Alm disso, pde-se identificar que essa configurao de buffer tambm supera, em desempenho, a configurao com buffers de entrada e de sada com 4 flits. Como j mencionado, este trabalho ser complementado com a construo de um ambiente integrado para modelagem e avaliao de desempenho de aplicaes reais, integrada a uma ferramenta j desenvolvida que realiza o mapeamento das tarefas da aplicao nos terminais de Redes-em-Chip. Para esse ambiente integrado, ser construda uma interface visual e sero modeladas outras alternativas de configurao do roteador. Tambm ser realizada a construo de modelos do roteador em SystemC em nveis mais abstratos, com potencial de oferecer um melhor tempo computacional nas primeiras etapas de explorao do espao de projeto. Esse ambiente integrado servir de apoio tomada de decises no desenvolvimento de sistemas baseados em Redes-em-Chip, propiciando a explorao do espao de projeto em diferentes nveis de abstrao. O grupo de pesquisadores associados a este trabalho tambm est investigando questes relativas ao provimento de QoS (Quality-of-Service) para NoCs para aplicaes multimdia e de telecomunicaes, uma vez que o roteador ParIS do tipo melhor esforo (best effort) e no oferece qualquer garantia de QoS. O objetivo desenvolver uma arquitetura de NoC de baixo custo que consiga possa prover nveis de servio diferenciados e garantir a latncia e/ou a vazo necessrios para atender s restries de projeto de aplicaes dedicadas.
576
Agradecimentos
Este trabalho recebeu apoio do programa de bolsas Art. 170 do Governo do Estado de Santa Catarina (2006) e conta com fomento do Edital Universal 2006 do CNPq (20072008).
Referncias
Andriahantenaina, A. et al. (2003), SPIN: a Scalable, Packet Switched On-Chip MicroNetwork, In: Design, Automation and Test on Europe - DATE, 2003, Munich. Proceedings... Los Alamitos: IEEE Computer Society. p. 70 73. Bolotin, E. et al. (2004), QnoC: QoS Architecture and Design Process for Network-onChip, Journal of Systems Architecture, v.5, n.2-3, p.105-128. Chan, J., Parameswaran, S. (2003), NoCGen - a Template Based Reuse Strategy for Networks-on-Chip, In: International Conference on VLSI DESIGN, 17, 2004, India. Proceedings... Los Alamitos: IEEE Computer Society. p. 70 73. Duato, J., Yalamanchili, S., Ni, L. (1997), Interconnection Networks. Los Alamitos, IEEE CS Press. Forte Design Systems (2007). Cynthesizer Closes the ESL-to-Silicon Gap, disponivel em: <http://www.forteds.com/products/cynthesizer.asp>. Acesso em: 11 maio 2007. Guerrier, P., Greiner, A. (2000), A Generic Architecture for On-Chip Packet-Switched Interconnections, In: Design, Automation and Test on Europe - DATE, 2000, Paris. Proceedings... Los Alamitos: IEEE Computer Society Press. p. 250-256. Gupta, R. K., Zorian, Y. (1997), Introducing core-based system design, IEEE Design & Test of Computers, [S.l.], v. 14, n. 4, p. 15-25. Hemani et al. (1999), Lowering Power Consumption in Clock by Using Globally Asynchronous Locally Synchronous Design Style, Design Automation Conference, ACM Press. p. 873-878. Jantsch, A., Tenhunen, H. (2003), Networks on Chip. Boston: Kluwer Academic Publishers. 303p. Kreutz, M. E. et al. (2005), Design Space Exploration Comparing Homogeneous and Heterogeneous Network-on-Chip Architectures In 18th Symposium on Integrated Circuits and Systems Design. Proceedings... New York: ACM. Martin, G. (2003), SystemC: from Language to Applications, from Tools to Methodologies, In: Symposium on Integrated Circuits and Systems, 16, 2003, So Paulo. Proceedings... Los Alamitos: IEEE Computer Society. p. 3. Moraes, F. et al. (2003), A Low Area Overhead Packet-Switched Network-on-Chip: Architecture and Prototyping, In: IFIP WG 10.5 VLSI-SoC, 2003, Darmstadt. Proceedings Darmstadt: Technische Universitt Darmstadt. p. 318-323. OSCI (2002), SystemC version 2.0 users guide. 212p. OSCI (2005), Draft Standard SystemC Language Reference Manual. 438 p. Swan, S. (2001), An introduction to system level modeling in SystemC 2.0. [S.l.]: OSCI, May. 10p.
577
Synopsys (2003), CoCentric SystemC Compiler RTL: user and modeling guide. VU2003.06. Synopsys. Tedesco, L. P. (2005), Uma Proposta para Gerao de Trfego e Avaliao de Desempenho para NoCs, Dissertao (Mestrado em Cincia da Computao), PUCRS, Programa Ps-Graduao em Cincia da Computao. Zeferino, C. A., Santo, F. G. M. E., Susin, A. A. (2004), Paris: A Parameterizable Interconnect Switch for Networks-on-Chip, In: 17th Symposium on Integrated Circuits and Systems, 2004, Porto de Galinhas. Proceedings. New York : ACM Press. p. 204-209.
578