+ All Categories
Home > Documents > Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture...

Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture...

Date post: 08-May-2018
Category:
Upload: duongkien
View: 214 times
Download: 1 times
Share this document with a friend
4
Análise de Desempenho da Arquitetura de Interface Virtual - VIA Diego Luís Kreutz, Rodrigo da Rosa Righi Laboratório de Sistemas de Computação - LSC Universidade Federal de Santa Maria - UFSM {kreutz,rodrigor}@inf .ufsm.br Resumo A arquitetura de inte1jace virtual (VIA) é uma padroniza- ção de uma rie de implementações de protocolos de re- de eficientes que visa oferecer um incremento da lar gura de banda e redução da car ga de processamento local e da latência de comunicaçtio em relação aos protocolos de re- des tradicionais. Esse documento apresenta a arquitetura VIA e compara seu desempenho com os protocolos tradici- onais usando duas aplicações desenvolvidas para essa fina- lidade. 1. Introdução Com o rápido desenvolvimento de tecnologi as para redes e o aumento da computação em agregados de computado- res, tem-se buscado maneiras para melhorar a comunica- ção entre s de uma rede. Com o objetivo de melhorar o desempenho na transmissão de dados entre computadores, a arquitetura de interface virtual foi desenvolvida de for- ma a maximizar a largura de banda e reduzir a latência de comunicação [I] . Este documento descreve a arquitetura VIA e apresenta comparações de desempenho dessa arqui- tetura em relação às tradicionais. 2. Arquitetura de Interface Virtual - VIA Na arquitetura de redes tradicionais, para toda a requisi- ção de transferência de dados entre computadores ocorre uma cópia de dados da memória do usuário para o espaço do núcleo (kernef). Há também, a troca de contexto do pro- cesso de usuário para o núcleo do sistema operacional [5]. Para fornecer um rápido caminho entre as aplicações e a rede foram propostos métodos para remover o núcleo do sistema operacional dos protocolos de comunicação entre computadores [2]. Assim, foi desenvolvido pelas empresas Intel, Compaq e Microsoft o projeto da arquitetura de inter- face virtual (Virtual Interface Architecture), ou VIA [I]. A arquitetura VIA provê para cada processo cliente um aces- so protegido e direto a interface de placa de rede, de onde 148 Marcelo Pasin Departamento de eletrônica e computação Universidade Federal de Santa Maria- UFSM pasin@inf. uf sm. br o nome interface virtual (VI). Durante o estabelecimaneto da conexão o sistema operacional é envolvido e realiza a verificação dos parâmetros. Depois de realizada a conexão, a transmissão dos dados ocorre diretamente entre a área de memória do usuário e a placa de rede. 3. Componentes da Arquitetura VIA A arquitetura VIA é composta de quatro componentes: Interfaces Virtuais (VIs), fila de requisições completas, Pro- vedor VI e Cliente VI. O Provedor VI é composto por um adaptador de rede e uma parte de software, chamado de agente do núcleo. O Cli ente VI é formado por um programa de aplicação e alguma biblioteca de comunicação. Uma interface virtual consiste de um par de filas de tra- balho: uma fila para envio e outra para Os Cli- entes VI colocam suas requisições em fonna de descritores nas filas de envio e de recepção de dados. Um descritor é uma estrutura de dados que contém todas as infonnações que o Provedor VI necessita para processar a requisição e também ponteiros para a área onde estão os dados. Uma placa de rede VIA implementa as interfaces virtuais e realiza diretamente as funções de transferência de dados [4]. O agente do núcleo é uma parte privilegiada do sistema operacional, usualmente um driver de di spositivo, que re- aliza as funções de gerenciamento necessárias para manter uma interface virtual entre o Cliente VI e um adaptador de rede VIA. 4. Aplicações e Resultados Foram realizadas ap licações utili zando os protocolos tra- dicionais TCPIIP e UDPIIP, juntamente com testes utilizan- do a arquitetura VIA. Foi utilizado o software Modul ar VIA (M-VIA) versão 1.0 [3 ]. Esse software poss ui a capacidade de realizar tes- tes com a arquitetura VIA tanto em adaptadores de rede próprios para essa arquitetura quanto para os demais, como interfaces Ethemet. Os programas envolvendo os protoco- los TCP e UDP foram produzidos utili zando-se Sockets.
Transcript
Page 1: Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture Specification. V. ... Machine, Proceedings of SC '98, Orlando, ... ferramentas SimpleScalar Tool

Análise de Desempenho da Arquitetura de Interface Virtual - VIA

Diego Luís Kreutz, Rodrigo da Rosa Righi Laboratório de Sistemas de Computação - LSC Universidade Federal de Santa Maria - UFSM

{kreutz,rodrigor }@inf.ufsm.br

Resumo

A arquitetura de inte1jace virtual (VIA) é uma padroniza­ção de uma série de implementações de protocolos de re­de eficientes que visa oferecer um incremento da largura de banda e redução da carga de processamento local e da latência de comunicaçtio em relação aos protocolos de re­des tradicionais. Esse documento apresenta a arquitetura VIA e compara seu desempenho com os protocolos tradici­onais usando duas aplicações desenvolvidas para essa fina­lidade.

1. Introdução

Com o rápido desenvolvimento de tecnologias para redes e o aumento da computação em agregados de computado­res, tem-se buscado maneiras para melhorar a comunica­ção entre nós de uma rede. Com o objetivo de melhorar o desempenho na transmissão de dados entre computadores, a arquitetura de interface virtual foi desenvolvida de for­ma a maximizar a largura de banda e reduzir a latência de comunicação [I]. Este documento descreve a arquitetura VIA e apresenta comparações de desempenho dessa arqui­tetura em relação às tradicionais.

2. Arquitetura de Interface Virtual - VIA

Na arquitetura de redes tradicionais, para toda a requisi­ção de transferência de dados entre computadores ocorre uma cópia de dados da memória do usuário para o espaço do núcleo (kernef). Há também, a troca de contexto do pro­cesso de usuário para o núcleo do sistema operacional [5].

Para fornecer um rápido caminho entre as aplicações e a rede foram propostos métodos para remover o núcleo do sistema operacional dos protocolos de comunicação entre computadores [2]. Assim, foi desenvolvido pelas empresas Intel, Compaq e Microsoft o projeto da arquitetura de inter­face virtual (Virtual Interface Architecture), ou VIA [I]. A arquitetura VIA provê para cada processo cliente um aces­so protegido e direto a interface de placa de rede, de onde

148

Marcelo Pasin Departamento de eletrônica e computação

Universidade Federal de Santa Maria- UFSM pasin@inf. ufsm. br

o nome interface virtual (VI). Durante o estabelecimaneto da conexão o sistema operacional é envolvido e realiza a verificação dos parâmetros. Depois de realizada a conexão, a transmissão dos dados ocorre diretamente entre a área de memória do usuário e a placa de rede.

3. Componentes da Arquitetura VIA

A arquitetura VIA é composta de quatro componentes: Interfaces Virtuais (VIs), fila de requisições completas, Pro­vedor VI e Cliente VI. O Provedor VI é composto por um adaptador de rede e uma parte de software, chamado de agente do núcleo. O Cliente VI é formado por um programa de aplicação e alguma biblioteca de comunicação.

Uma interface virtual consiste de um par de filas de tra­balho: uma fila para envio e outra para recepçã~. Os Cli­entes VI colocam suas requisições em fonna de descritores nas filas de envio e de recepção de dados. Um descritor é uma estrutura de dados que contém todas as infonnações que o Provedor VI necessita para processar a requisição e também ponteiros para a área onde estão os dados.

Uma placa de rede VIA implementa as interfaces virtuais e realiza diretamente as funções de transferência de dados [4]. O agente do núcleo é uma parte privilegiada do sistema operacional, usualmente um driver de dispositivo, que re­aliza as funções de gerenciamento necessárias para manter uma interface virtual entre o Cliente VI e um adaptador de rede VIA.

4. Aplicações e Resultados

Foram realizadas aplicações utilizando os protocolos tra­dicionais TCPIIP e UDPIIP, juntamente com testes utilizan­do a arquitetura VIA.

Foi utilizado o software Modular VIA (M-VIA) versão 1.0 [3]. Esse software possui a capacidade de realizar tes­tes com a arquitetura VIA tanto em adaptadores de rede próprios para essa arquitetura quanto para os demais, como interfaces Ethemet. Os programas envolvendo os protoco­los TCP e UDP foram produzidos utilizando-se Sockets.

Page 2: Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture Specification. V. ... Machine, Proceedings of SC '98, Orlando, ... ferramentas SimpleScalar Tool

Anais WSCAD (2002) 148-149

Os testes foram realizados em duas máquinas do agre­gado do Laboratório de Sistemas de Computação. Cada máquina contém dois processadores de I GHz Pentium Ill , com 768 Mbytes de memória principal e 512 Kbytes de mamória Cache L2 e sistema operacional Linux, versão 2.2.14-5.0smp. Foi utilizada a placa de rede Intel EtherEx­press 10/ IOOMbps em ambas as máquinas e a comunicação entre estas ocorre de modo direto e ponto-a-ponto, sem a utilização de um comutador.

4.1. Largura de Banda e Tempo de Comunicação

Essa aplicação tem a função de medir a qualidade da rede com diferentes protocolos, realizando uma transmissão de dados pingpong entre duas máquinas. Ambos os programas recebem como parâmetros de entrada o número de pacotes a serem enviados e o tamanho, em bytes, de cada pacote. O cliente envia uma mensagem, o servidor recebe e a re-envia para a máquina cliente. Esse processo é repetido segundo o número de pacotes.

r .

... . ..

.• ..41 ··· " ........ ,r···· -'t ' .... ; -··

> •• •• •. "' • ;~.~ ...... J.:

........

... hHWthOdli ...... """" ( ....... ~

Figura 1. Largura de Banda (100·1400 bytes)

Primeiramente, a aplicação foi executada com o tama­nho das mensagens variando de 100 a 1400 bytes (aproxi­madamente o tamanho do pacote Ethemet). A figura I de­mostra uma superioridade do protocolo VIA em relação aos demais. Constata-se também que a aplicação que possui os piores resultados é aquela que utiliza o protocolo TCP. Também foi realizado uma comparação entre os protocolos de melhor desempenho: VIA e UDP. Neste teste o tamanho das mensagens foi variado de 100 a 100000 bytes. A largu­ra de banda em ambas os programas tendem a estabilização, onde o protocolo UDP atinge proximadamente 79% da lar­gura de banda máxima provida pelo adaptador de rede e a programa utilizando VIA alcança 92% deste máximo.

4.2. Geração de Fractal e Certificação dos Resulta­dos

Essa aplicação foi realizada utilizando os protocolos TCP e VIA. Na aplicação em questão é utilizado o fractal de Mandelbrot, com o tamanho da janela variando de 200x200

149

a 800x800 pixels, com incrementos de I 00. É utilizada uma matriz quadrada para especificar a região do fractal.

A máquina cliente calcula o valor de cor para todos os pontos de uma linha e a transmite para a máquina servidora. Após a passagem de todas as linhas, a aplicação coletora dos dados, desenha o fractal de Mandelbrot. Como o desenho do fractal é determinístico, pode-se inferir sobre a correta transmissão dos dados. O programa cliente retoma o tempo decorrido para transmitir todo o fractal através da rede, ou seja, é calculado o tempo de rede juntamente com o tempo de processamento.

Ambos os programas, TCP e VIA, transmitem os dados com precisão. Em todos os tamanhos de janela, o progra­ma com VIA obteve melhor desempenho. Com o tamanho de 800x800 pontos, há a maior diferença de tempo, onde é atingido aproximadamente 1450ms e 1290ms para os pro­gramas utilizando TCP e VIA, respectivamente.

5. Conclusões e Trabalhos Futuros

A arquitetura VIA permite realizar uma comunicação confiável e eficiente entre as estações de trabalho de uma rede de sistema. As aplicações realizadas usando o soft­ware M-VIA demostram a eficácia da arquitetura VIA em relação aos protocolos tradicionais: TCP e UDP .

Futuros testes incluem a execução das aplicações especi­ficadas utilizando-se um chaveador Ethemet.

Referências

[I] Compaq Computer Corp.; Intel Corp.; Microsoft Corp. Virtual Interface Architecture Specification. V. 1.0, http: I / www . viarch. org, Dec 1997.

[2] EICKEN, E. V.; VOGELS, W. Evolution ofVirtual ln­terface Architecture. IEEE Computer Magazine, Nov. 1998, p. 61-68.

[3] NERSC - National Energy Research Scientific Com­puting Center, M-VIA: High Pe1jormance Modular VIA for Linux, University of. Califomia, Berkeley, http://www.nersc.gov/ research/ FTG/ via, 2001.

[4] BUONADONNA, P.; GEWEKE, A.; CULLER, D. An implementation and Analisys of the Virtual Interface Machine, Proceedings of SC '98, Orlando, Florida, Nov. 1998, p. 7- 13

[5] DRUSCHEL, P. Operating System Support for High­Speed Networking. Communications of the ACM, 39(9), Sep. 1996, p. 41 - 51.

Page 3: Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture Specification. V. ... Machine, Proceedings of SC '98, Orlando, ... ferramentas SimpleScalar Tool

SuperSim: Ferramenta de Simulação para Arquiteturas Superescalares

Rogério Ferreira da Silva, Ronaldo A. L. Gonçalves, João Angelo Martini Departamento de Informática. Universidade Estadual de Maringá

r(silva@din. uem. br ronaldo@din. uem. br jangelo@din. uem. br

Resumo

Este trabalho apresenta o SuperSim, uma ferramenta de monitoração e simulação para arquiteturas superescalares. O objetivo da construção da ferramenta é .fàcilitar a análise e interpretação dos dados obtidos após a realização de um grande número de simulações. feitas com o simulador sim-outorder. do conjunto de ferramentas SimpleScalar Tool Set.

1. Introdução

O processamento superescalar é a última de uma longa série de inovações que possuem o intuito de produzir microprocessadores mais rápidos [I]. Ao longo do tempo, surgiram várias implementações para a arquitetura superescalar. Normalmente, para análise de arquiteturas experimentais, para as quais ainda não existem protótipos, utiliza-se a simulação. Um simulador arquitetura! é uma ferramenta capaz de reproduzir o comportamento de um sistema de computação [2].

O Departamento de Computação da Universidade de Wisconsin-Madison, disponibiliza gratuitamente para uso não comercial, um conjunto de ferramentas de simulação para a arquitetura superescalar, chamado The SimpleScalar Tool Set. Este é um conjunto de sete ferramentas (simuladores) para sistemas de computação de alto nível, que pode simular a execução de programas sobre uma grande quantidade de processadores modernos.

Um inconveniente verificado na utilização d~sses simuladores, é que eles são executados e configurados por linha de comando, através do console do sistema operacional. Os resultados da simulação também são dispostos na forma de texto, o que muitas vezes dificulta o aprendizado e a interpretação dos resultados obtidos.

Para solucionar o problema, este trabalho apresenta a implementação de uma ferramenta, construída em Java®, para o simulador sim-outorder, do Simplesca/ar Tool Set, na qual as configurações podem ser feitas utilizando-se componentes de interface gráfica com o usuário. Os resultados da simulação, são lidos pelo aplicativo, e transformados em dados apresentáveis em tela, como tabelas e gráficos de linha.

150

2. Simulação e o Conjunto de Ferramentas SimpleS calar

Simulação é uma técnica de avaliação que representa através de um modelo o comportamento de um sistema no domínio do tempo [3]. Quando pesquisadores da área de arquitetura de computadores precisam aperfeiçoar um sistema de computação, frequentemente usam um simulador para analisar o sistema proposto. O mais complexo simulador do conjunto de ferramentas SimpleScalar é chamado de sim-outorder, ele reúne as funcionalidades mais importantes dos outros simuladores. O sim-outorder implementa um processador superescalar, com dois níveis de hierarquia de memória e remessa de instruções muito detalhada. Este simulador tem sido amplamente utilizado em diversos trabalhos que avaliam o comportamento de microprocessadores [4, 5].

No sim-outorder, existem 54 argumentos diferentes de linha de comando, que configuram o simulador. Como as estatísticas geradas também são dispostas na tela em formato de texto, muitas vezes é trabalhoso realizar diversas simulações e interpretar os resultados das mesmas. A ferramenta apresentada neste trabalho tem o intuito de facilitar este processo.

3. Definição da Ferramenta

A ferramenta desenvolvida possui três funcionalidades básicas: configurar o simulador sim-outorder, através de componentes de interface gráfica com o usuário; realizar diversas simulações com o mesmo benchmark, variando até duas opções de configuração dentro de um intervalo determinado; transformar os resultados gerados pelo simulador em dados apresentáveis em tela, como tabelas e gráficos de linha.

A interpretação dos resultados obtidos por um grande número de simulações é complexa, tornando extremamente difícil a análise dos dados. Portanto, a mais importante das funcionalidades apresentadas pela ferramenta, é permitir a execução de várias simulações, e viabilizar uma fácil leitura dos resultados, gerando gráficos de linha para qualquer um dos parâmetros resultantes da simulação, mostrando a variação dos mesmos ao longo das simulações.

Page 4: Análise de Desempenho da Arquitetura de Interface …. Virtual Interface Architecture Specification. V. ... Machine, Proceedings of SC '98, Orlando, ... ferramentas SimpleScalar Tool

Anais WSCAD (2002) 150-151

3.1. O Ambiente de Simulação

O ambiente de simulação é composto basicamente de duas partes. A primeira delas é o simulador sim-outorder, que realiza as simulações e gera as estatísticas. A segunda parte é a ferramenta em si, que lê e processa as estatísticas geradas pelo simulador, apresentando-as graficamente. A comunicação entre a ferramenta e o simulador, esquematizada na figura l , é feita através de chamadas ao sistema operacional.

Ferramenta SuperSim

Figura 1. Esquema de Comunicação entre a Ferramenta SuperSim e o simulador

sim-outorder

4. Simulações com a ferramenta

Esta seção apresenta um exemplo de simulação com o benchmark go.ss, utilizando a ferramenta de visualização. Ao longo de 15 simulações, verificou-se como se comportou o número de faltas (misses) na cache de instruções de primeiro nível, em função da variação do número de conjunto e da associatividade da cache.

Com a utilização da ferramenta, a interpretação dos resultados é facilitada, pois os gráficos que mostram o comportamento de um determinado parâmetro são gerados automaticamente. O usuário precisa apenas escolher um ou dois parâmetros variáveis e disparar a simulação uma única vez.

Após ter escolhido o benchmark a ser simulado, o primeiro passo é configurar as opções que se manterão fixas durante a simulação, e depois escolher as opções que irão variar. Neste exemplo, variou-se o número de conjuntos da cache de instruções de primeiro nível, de 128 até 2048 e, para cada um desses valores, variou-se a associatividade de 1 até 4 , totalizando quinze simulações.

A ferramenta inicia o processo de simulação, armazenando o resultado d.as simulações em matrizes. Terminadas as simulações, é possível verificar o comportamento de qualquer um dos parâmetros gerados como resultado, através de gráficos de linha. A figura 2, mostra a interface principal da ferramenta, onde é possível ver o gráfico com o comportamento do número de faltas

151

da cache de instruções de primeiro nível, ao longo das 15 simulações realizadas.

lltliPII*Sialcao ~~1m' ® º 5 • s.,.,........,..~t541t15

Figura 2. Interface principal da ferramenta SuperSim

5. Conclusões

A técnica de simulação é essencial para a área de arquitetura de computadores, pois é necessário avaliar o desempenho de uma arquitetura antes de implementá-la. A ferramenta SuperSim integrou o simulador sim-outordei-, que é amplamente utilizado em diversos trabalhos de pesquisa, num ambiente em que os resultados gerados pela simulação podem ser apresentados na forma de gráficos e tabelas, o que facilita bastante a interpretação desses resultados. A ferramenta ainda tomou mais fácil a interação e a configuração do simulador. Devido a essas facilidades e à sua interface amigável, a ferramenta também pode ser utilizada no ambiente acadêmico, para o ensino das disciplinas da área de arquitetura de computadores.

6. Referências

[I] Smith, James E., and Sohi, Gurindar S., "The Micro­architecture of Superscalar Processors•·, Proceedings o f the IEEE, December 1995.

[2] Burger, D. , and Austin, T. M. , "The Simplescalar Tool Set, Version 2.0", Computer Architecture News, June 1997, pp. 13-25.

(3) Ferrari, D. "Computer Systems Performance Evaluation", Englewood Cliffs: Prentice Hall, 1988.

(4] Brooks, D., Tiwari, V. , and Martonosi, M., " Wattch: A Framework for Architecturai-Level Power Analysis and Optimizations", 27'h Anual lntemational Symposium on Computer Architecture, 2000.

[5] Naishlos, D., Nuzman, J., Tseng, C., and Vishkin, U., "Evaluating the XMT Parallel Programming Model", The 6'h Workshop on High-Level Parallel Programming and Supportive Environments, Apr, 200 I.


Recommended