Análise Multiparamétrica do Overhead de Rede em Máquinas Virtuais WSO 2007 – Rio de Janeiro/RJ...

Preview:

Citation preview

1Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Análise Multiparamétrica Análise Multiparamétrica do do Overhead Overhead de Redede Rede ememMáquinas VirtuaisMáquinas Virtuais

Flávio Urschei1, Éder José Pelegrini2, Márcio Augusto de Lima e Silva1, Edson Toshimi Midorikawa3, Tereza Cristina Melo de Brito Carvalho1

{furschei, carvalho, msilva}@larc.usp.br, {eder.pelegrini,edson.midorikawa}@poli.usp.br

1Laboratório de Arquitetura e Redes de Computadores2Laboratório de Linguagens e Técnicas Adaptativas3Laboratório de Arquitetura e Computação de Alto Desempenho

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica da Universidade de São Paulo – São Paulo – Brasil

2Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

AgendaIntroduçãoObjetivoMotivaçãoXENExperimentosResultadosConclusões

3Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

IntroduçãoIntroduçãoMonitor de Máquinas Virtuais

(MMV) - camada de software que provê uma interface entre os recursos reais e as máquinas virtuais, fornecendo uma abstração de tais recursos para as mesmas.

MMV virtualiza a CPU, o sistema de gerenciamento de memória e o sistema de entrada/saída (E/S).

Maior overhead de virtualização: operações de E/S, em razão da complexidade dos protocolos de entrada e saída.

4Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Motivação

Barham, P., et al, Xen and the Art of Virtualization

Há poucos artigos que versam especificamente sobre desempenho de rede em máquinas virtuais, principalmente considerando múltiplos parâmetros.

5Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

ObjetivoObjetivoO objetivo deste trabalho é avaliar

a influência do overhead introduzido pela camada de virtualização no desempenho de rede.

Complementar outros trabalhos por meio da análise multiparamétrica do desempenho de rede em ambientes virtualizados.

Os experimentos consideraram ambientes virtualizados pelo XEN.

6Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

XENXENXEN é um monitor de máquinas virtuais

para plataforma x86.Utiliza a abordagem de

paravirtualização.XEN não emula dispositivos de hardware

existentes como é feito nos ambientes com virtualização completa.

Dados de entrada e saída são transferidos para (e de) cada domínio via XEN, por meio de memória compartilhada (shared-memory) e buffer-descriptor rings assíncronos

7Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7XEN – Anéis de XEN – Anéis de DescritoresDescritores

Um anel é uma fila circular de descritores (referente a um bulk data) alocadas por um domínio, mas acessadas internamente ao XEN.

Buffers de dados de E/S são indiretamente referenciados por estes descritores.

Baseado em dois pares de ponteiros produtor-consumidor. Função produtor/consumidor alternam-se entre XEN e o sistema operacional (SO) hóspede.

Uma vez tratado os descritores, os dados são copiados diretamente nos frames de páginas dos respectivos hóspedes/hospedeiro.

Chaveamento de E/S: Hypercall para o Hypervisor.

8Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

XEN - RedeXEN - RedeHá dois anéis, um para transmissão e

outro para recepção.Para transmitir um pacote, o SO

hóspede enfileira um descritor de buffer no anel de transmissão.

O XEN copia o descritor e, por questões de segurança (safety), copia o cabeçalho do pacote e executa eventuais ações de filtragem de pacotes.

O payload do pacote não é copiado.Implementa uma Bridge virtual.

9Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

XENEstrutura de rede virtual

10Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Experimentos (1)Experimentos (1)Métrica utilizada: Vazão da Rede

(Mbps)Fatores:

◦ MTU ◦ Tamanho do Buffer da Aplicação (Message Size) ◦ Tamanho do Buffer de Sistema (Socket Size ou

Window Size)Benchmark: NetperfIntervalo de confiança usado: 95%Dois computadores com igual

configuração ligados diretamente: Pentium D 3 GHz, 2GB de memória RAM, placa de rede gigabit.

11Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Experimentos (2)Experimentos (2)

Avaliar a influência do XEN hypervisor com uma máquina virtual (Xen1) na vazão da rede.

Xen13

Avaliar a influência do kernel modificado (Xen0) na vazão da rede em relação à primeira configuração.

Xen02

Medida de referência para a vazão da rede, em função dos 3 parâmetros considerados.

Linux Nativo

1

ObjetivoMáquina 1

12Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Experimentos (3)Experimentos (3)Para cada uma das configurações

foram variados (2x7x8 medidas):◦MTU: 500 e 1500 bytes.◦Buffer do sistema: 4096, 8192, 16384,

65536, 114688, 131072 e 262144 bytes. ◦Buffer da aplicação: 512, 1024, 2048,

4096, 8192, 32768, 65536 e 1048576 bytes.

Resultados apresentados em termos de eficiência (vazão medida no experimento contra a vazão medida no Linux nativo).

13Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7Eficiência XEN Dom0/MTU Eficiência XEN Dom0/MTU 500500

14Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7Eficiência XEN Dom0/MTU Eficiência XEN Dom0/MTU 15001500

15Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7Eficiência XEN Dom1/MTU Eficiência XEN Dom1/MTU 500500

16Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7Eficiência XEN Dom1/MTU Eficiência XEN Dom1/MTU 15001500

17Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7Vazão Medidas Vazão Medidas (Comparativo)(Comparativo)

0100200300400500600700800900

1000

256 128 112 64 16 8 4

Vazão

(

Mbps)

Buffer de Sistema (KB)

Buffer de Aplicação 1MB - MTU 1500

Linux Xen0 Xen1

18Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Resultados (1)Resultados (1)O overhead de virtualização de rede

depende dos parâmetros de rede utilizados.

A alta eficiência do Xen0 deve-se ao fato de, apesar de utilizar uma estrutura virtual de rede (bridged), não utiliza o mecanismo de virtualização de E/S (anéis de descritores).

O aumento do overhead em função da diminuição do MTU deve-se ao fato de que cada descritor (do anel de descritores), representa uma menor quantidade de dados.

19Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Resultados (2)Resultados (2)Em relação aos buffers:A variação do tamanho do buffer de aplicação

e do buffer de sistema afeta a freqüência de troca de contextos entre o espaço de usuário e do sistema operacional hóspede.

Caso o buffer de sistema não seja múltiplo do MTU, existe queda de desempenho motivado pela existência de pacotes transmitidos (em uma determinada freqüência) menor que 1 MTU.

Por fim, existe uma queda de desempenho motivada pela operação de desfragmentação da fila de envio/recebimento de pacotes. ◦ Tipicamente, as posições da fila têm o espaço de 1

MTU. Entretanto, o Xen aloca um frame de memória – 4k – para pacotes recebidos e transmitidos, resultando em fragmentação interna.

20Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

ConclusõesConclusõesA variação dos parâmetros de rede

influencia no overhead ocasionado pela camada de virtualização.

Determinados valores reduzem o overhead, aproximando o vazão da máquina virtual da vazão da máquina nativa.

Utilizar aplicações que exijam desempenho de rede em máquinas virtual requer um estudo a cerca dos parâmetros a serem usados.

21Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Trabalhos FuturosMonitorar outras variáveis de

sistema, como carga da CPU, número de faltas de página, etc.

Desempenho do protocolo UDPSuporte a virtualização: Intel VT /

AMD-VEstudo do KVM (Kernel Virtual

Machine)

22Aná

lise

Mul

tipar

amét

rica

do

Aná

lise

Mul

tipar

amét

rica

do O

verh

ead

Ove

rhea

d de

Red

ede

Red

e emem

M Máq

uina

s Vi

rtua

isáq

uina

s Vi

rtua

isW

SO 2

007

– R

io d

e Ja

neiro

/RJ

– 4

e 5

de ju

lho

de 2

007

WSO

200

7 –

Rio

de

Jane

iro/R

J –

4 e

5 de

julh

o de

200

7

Análise Multiparamétrica Análise Multiparamétrica do do Overhead Overhead de Redede Rede ememMáquinas VirtuaisMáquinas Virtuais

Flávio Urschei1, Éder José Pelegrini2, Márcio Augusto de Lima e Silva1, Edson Toshimi Midorikawa3, Tereza Cristina Melo de Brito Carvalho1

Departamento de Engenharia de Computação e Sistemas Digitais – Escola Politécnica da Universidade de São Paulo – São Paulo – Brasil

Contato: edson.midorikawa@poli.usp.br

Recommended