Sei sulla pagina 1di 61

Afonso Zimmermann

Asterisk Cluster

So Jos SC a e Maro / 2008 c

Afonso Zimmermann

Asterisk Cluster
Monograa apresentada a Coordenaao do ` c Curso Superior de Tecnologia em Sistemas de Telecomunicaoes do Centro Federal de Edc ucaao Tecnolgica de Santa Catarina para c o a obteno do diploma de Tecnlogo em Sisca o temas de Telecomunicaes. co

Orientador:

Marcelo Araujo
Co-orientador:

Prof. Eraldo Silveira e Silva

Curso Superior de Tecnologia em Sistemas de Telecomunicacoes Centro Federal de Educacao Tecnologica de Santa Catarina

So Jos SC a e Maro / 2008 c

Monograa sob o t tulo Asterisk Cluster, defendida por Afonso Zimmermann e aprovada em 18 de maro de 2008, em So Jos, Santa Catarina, pela banca examinadora c a e assim constitu da:

Marcelo Araujo Orientador

Prof. M. Eraldo Silveira e Silva Coorientador

Prof. M. Emerson Ribeiro de Mello CEFET / SC

Resumo
Neste trabalho so apresentadas duas tcnicas de Cluster poss a e veis de se usar com sistemas baseados no Asterisk. O DNS Round-Robin e o DUNDi. O DNS Round-Robin congurado diretamente e no servidor DNS, podendo ser usado para programas compat veis com o Linux. O DUNDi est incorporado ao Asterisk desde a verso 1.0. Este possui um arquivo de a a conguraao prpria, necessitando de um canal de comunicaao entre os servidores que c o c compe o Cluster. Sozinho ou aliado a outras tcnicas, pode ser usado para prover vrias o e a formas de Cluster. Nesse trabalho foi usado para prover balanceamento de carga com a ajuda do DNS Round-Robin. Para se chegar a essas duas tcnicas, foi realizada uma pesquisa para ver quais tcnicas e e poderiam ser usadas com o Asterisk. Ento passou-se para um estudo das tcnicas para a e realizar a implementao das mesmas. Por m foi testada a ecincia do DUNDi, de ca e forma a permitir avaliar a necessidade ou no de seu uso. a Palavras-Chave: Cluster, Asterisk, IAX.

Abstract
In this work are presented two techniques of Cluster possible to use with systems based on Asterisk. The DNS Round-Robin and the DUNDi. The DNS Round-Robin is congured directly on the DNS server and it can be used for programs compatible with Linux. The DUNDi is incorporated to Asterisk since version 1.0. He has a conguration le itself and require a channel of communication between the machines that make up the cluster. Alone or together with other techniques, it can be used to provide various forms of Cluster. That work was used to provide load balancing, with the help of the DNS Round-Robin. It tested its eectiveness in some situations. To achieve these two techniques, a search was carried out to see what techniques could be used with Asterisk. Then it moved to a study of techniques to achieve the implementation of them. Finally was tested the eciency of DUNDi, to allow assess the need or otherwise of their use. Keywords: Cluster, Asterisk, IAX.

Sumrio a

Lista de Figuras 1 Introduo ca 1.1 1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Organizao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca p. 9 p. 10 p. 10 p. 11 p. 11 p. 11 p. 11 p. 12 p. 12 p. 13 p. 15 p. 15 p. 15

2 Fundamentao Terica ca o 2.1 2.2 Histrico sobre Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . o Deniao de Cluster e apresentaao de seus componentes . . . . . . . . c c 2.2.1 2.2.2 2.3 2.4 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tipos de Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Softwares Capazes de Implementar um Cluster . . . . . . . . . . . . . .

3 Cluster Asterisk com DUNDi e DNS Round-Robin 3.1 3.2 3.3 DNS Round-Robin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Uso do DUNDi e do DNS Round-Robin para a formaao de um Cluster c Asterisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16 p. 20 p. 22 p. 33

4 Experimentos Realizados 4.1 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Concluses o

Anexo A -- Anexos A.1 Conguraao do Bind 9 para permitir o uso do DNS Round-Robin . . . c A.2 Instalao do DUNDi no DISC-OS . . . . . . . . . . . . . . . . . . . . ca A.2.1 Comandos para Testes . . . . . . . . . . . . . . . . . . . . . . . A.3 Sa dos comandos vmstat e sipp . . . . . . . . . . . . . . . . . . . . . da Referncias e

p. 34 p. 34 p. 34 p. 40 p. 41 p. 59

Lista de Figuras
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Cenrio inicial de testes . . . . . . . . . . . . . . . . . . . . . . . . . . a Mensagens DPDISCOVER e DPRESPONSE . . . . . . . . . . . . . . . Cenrio de Teste sem Cluster . . . . . . . . . . . . . . . . . . . . . . . a Cenrio de Teste com Cluster . . . . . . . . . . . . . . . . . . . . . . . a 100 chamadas SIP em um unico Servidor . . . . . . . . . . . . . . . . . 50 chamadas SIP sendo tratadas e 50 sendo encaminhadas via DUNDi . 50 chamadas SIP recebidas via DUNDi . . . . . . . . . . . . . . . . . . 200 chamadas SIP em um unico Servidor . . . . . . . . . . . . . . . . . 100 chamadas SIP sendo tratadas e 100 sendo encaminhadas via DUNDi 100 chamadas SIP recebidas via DUNDi . . . . . . . . . . . . . . . . . 300 chamadas SIP em um unico Servidor . . . . . . . . . . . . . . . . . 150 chamadas SIP sendo tratadas e 150 sendo encaminhadas via DUNDi 150 chamadas SIP recebidas via DUNDi . . . . . . . . . . . . . . . . . p. 17 p. 18 p. 20 p. 21 p. 23 p. 24 p. 25 p. 26 p. 27 p. 28 p. 29 p. 30 p. 31

Sa do comando vmstat 5 10 para 100 chamadas SIP em um unico PC p. 41 da Sa de status do SIPP para 100 chamadas SIP em um unico PC . . . da Sa do comando vmstat 5 10 para 50 chamadas SIP recebidas e 50 da encaminhadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . p. 43 p. 42

17

Sa de status do SIPP para 50 chamadas SIP recebidas e 50 encaminda hadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 44

18 19 20

Sa do commando vmstat 5 10 para 50 chamadas recebidas via DUNDi p. 45 da Sa de status do SIPP para 50 chamadas recebidas via DUNDi . . . . da p. 46

Sa do comando vmstat 5 10 para 200 chamadas SIP em um unico PC p. 47 da

21 22

Sa de status do SIPP para 200 chamadas SIP em um unico PC . . . da Sa do comando vmstat 5 10 para 100 chamadas SIP recebidas e 100 da encaminhadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . .

p. 48

p. 49

23

Sa de status do SIPP para 100 chamadas SIP recebidas e 100 encamda inhadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

24

Sa do commando vmstat 5 10 para 100 chamadas recebidas via da DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 51 p. 52

25 26 27 28

Sa de status do SIPP para 100 chamadas recebidas via DUNDi . . . da

Sa do comando vmstat 5 10 para 300 chamadas SIP em um unico PC p. 53 da Sa de status do SIPP para 300 chamadas SIP em um unico PC . . . da Sa do comando vmstat 5 10 para 150 chamadas SIP recebidas e 150 da encaminhadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . p. 55 p. 54

29

Sa de status do SIPP para 150 chamadas SIP recebidas e 150 encamda inhadas via DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56

30

Sa do commando vmstat 5 10 para 150 chamadas recebidas via da DUNDi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 57 p. 58

31

Sa de status do SIPP para 150 chamadas recebidas via DUNDi . . . da

Introduo ca

Atualmente, centrais telefnicas baseadas em VoIP (Voz sobre IP) esto se tornando o a cada vez mais comuns. Entre as plataformas mais utilizadas est o Asterisk, que se a executa em sistemas UNIX compat veis. Entre as vrias vantagens que ele possui est o a a fato do limite de ramais e troncos ser determinado pelo computador onde est o PABX. a Por outro lado, sistemas maiores podem demandar uma carga de processamento muito alta at mesmo para computadores modernos. e Para operar com vrios ramais SIP ou IAX2 e com troncos SIP ou IAX2, um bom a volume de chamadas podem ser estabelecidas por um s servidor. Isso usando codecs PCM o alaw ou ulaw. O uso de outros codecs causa um aumento na carga do processador, pois alm de gerar o PCM ainda precisam fazer a codicao para o respectivo codec e ca para aumentar a compresso. Mas mesmo com alaw ou ulaw, ao se aumentar muito a o volume de chamadas, comea a ocorrer picos de processamento que fazem com que c ocorra picotamento da voz ou at a ausncia dela por um longo per e e odo no canal. Esse problema pode ser ainda agravado pelo uso de placas para a interconexo do a PABX com a PSTN, sendo tanto via entroncamento E1 como via entroncamento analgico. o Isso porque essas placas utilizam muitas interrupoes por segundo, usando processamento c e principalmente congestionando a IRQ atribu ao barramento em que essa placa se da encontra. Uma das formas para poder aumentar a capacidade do PABX a formaao de arranjos e c computacionais. Tais sistemas, denominados de Clusters, se utilizam de tcnicas e e ferramentas espec cas para a distribuio de carga de processamento, redundncia ou ca a tanto balanceamento de carga como redundncia. a Neste projeto foi implementado um sistema que utiliza vrios servidores, balanceando a carga entre elas, de forma a permitir uma maior capacidade no PABX com o Asterisk. As ferramentas escolhidas foram o DNS Round Robin e o DUNDi. Como PABX foi escolhido o DISC-OS (DISC-OS, 2007), distribuio baseada no Asterisk. ca

1.1 Objetivo

10

1.1

Objetivo

O objetivo geral deste trabalho implementar um sistema capaz de melhorar o dee sempenho do DISC-OS, fazendo com que ele consiga atender uma carga maior de servios, c com capacidade de espanso se necessrio. a a

1.2

Organizao do texto ca

O texto est organizado da seguinte forma: No cap a tulo 2 apresentado a fundae mentao terica que serviu de base para denir o rumo do projeto. No cap ca o tulo 3 so a apresentadas as ferramentas escolhidas para realizaao do Projeto. No cap c tulo 4 so a apresentados os experimentos realizados e os seus resultados. No cap tulo 5 so apresena tadas as concluses sobre este projeto. Por m, no anexo A so apresentadas informaoes o a c extras das instalaes, conguraoes e testes realizados. co c

11

Fundamentao Terica ca o

2.1

Histrico sobre Cluster o

Em 1993 comea-se a trabalhar em um sistema de Cluster distribu usando comc do putadores convencionais no lugar dos Mainframes. O projeto batizado de Beowulf e (MERKEY, 2004) . Ele obtm xito e acaba sendo usado pela Nasa entre outros. e e O primeiro prottipo do Beowulf era composto de processadores DX4 e eram coneco tados por uma rede Ethernet 10Mbit/s. Em 1997 se usava 16 processadores P6 de 200 MHz e rede Ethernet de 100Mbiti/s (SUSIN, 2001).

2.2

Denio de Cluster e apresentao de seus comca ca ponentes

Cluster um sistema composto por dois ou mais computadores independentes e ine terligados entre si por alguma forma de rede (BAKER, 2000). Um cluster composto tanto por hardware quanto por software, e juntos viabilizam e o Cluster.

2.2.1

Hardware

Os hardwares principais associados ao Cluster so os ns (computadores indepena o dentes) executando algum processo e a rede de comunicaao dedicada entre eles (BAKER, c 2000). O n possu vrios componentes que iro inuenciar na capacidade do Cluster. So o a a a eles o Processador, Memria, M o dia de Armazenamento e Interface de Rede. Todos esses componentes j esto presentes tanto nas estaoes de trabalho quanto em servidores de alto a a c desempenho, no sendo necessrio adquiri-los especicamente para realizar um Cluster a a

2.3 Tipos de Cluster

12

(BAKER, 2000). Para que os ns possam se comunicar e formar efetivamente um Cluster, necessria o e a uma rede que os interligue. Clusters do tipo Beowulf usavam a tecnologia Ethernet para a interconexo dos ns. Dependendo da necessidade de trfego e da latncia pode-se a o a e empregar tcnicas de interconexo espec e a cas para o Cluster (BAKER, 2000).

2.2.2

Software

Apenas possuir computadores independentes e uma interconexo entre eles no forma a a um Cluster. O software deve ser capaz de prover a interligao lgica entre os ns e ca o o permitir o processamento paralelo (BAKER, 2000). Os softwares usados em Clusters so divididos em duas categorias: Ferramentas de a Programaao e Sistema de Gesto de Recursos (BAKER, 2000). c a As ferramentas de programao fornecem linguagens, bibliotecas e ferramentas de ca debug para prover a programao paralela (BAKER, 2000). ca Os sistemas de gesto de recursos relacionam a instalao, congurao e adminisa ca ca traao do hardware e do software existente (BAKER, 2000). c

2.3

Tipos de Cluster

Os Clusters so classicados de Trs formas (SILVA, 2005): a e Alta Disponibilidade Balanceamento de Carga Alto Desempenho Clusters de Alta Disponibilidade so arranjos de Failover (Redundncia). Normala a mente so constitu a dos de servidores com a mesma funao. Um servidor trabalha preferc encialmente, e quando ele para de funcionar, o outro assume (SILVA, 2005). Clusters de Balanceamento de Carga so arranjos que tem o objetivo de dividir o a processamento entre os servidores, fazendo com que cada servidor trabalhe uma requisio ca dirente do processo. Normalmente possuem um elemento balanceador de carga, para dividir as requisies (SILVA, 2005). co

2.4 Softwares Capazes de Implementar um Cluster

13

Clusters de Alto Desempenho so arranjos que tem como objetivo dividir processaa mento, como no Balanceamento de Carga. Porm eles devem tratar partes de um mesmo e processo, de forma a aumentar a performance do processamento. Normalmente se utilizam de processamento paralelo (SILVA, 2005).

2.4

Softwares Capazes de Implementar um Cluster

Alguns softwares que so capazes de implementar sistemas de Cluster esto listados a a abaixo: DNS Round-Robin OpenMosix OpenMP PVM MPI O DNS Round-Robin a capacidade que o servidor DNS tem de atribuir dois ou mais e endereos IP para um mesmo nome. Com isso pode-se realizar um balanceamento de c carga simples. O OpenMosix uma extenso ao Kernel Linux que transforma uma rede de computae a dores em um super-computador. Os servidores com OpenMosix se monitoram am de saber se um servidor tem recursos dispon veis (processador e memria) para compartilhar. o Quando encontra, o servidor com mais carga envia um ou mais processos para que o outro servidor possa auxili-la (KNOX, 2002). a O OpenMP uma API para multiprocessamento para as linguagens C/C++ e Fortran. e Pode ser usados em sistemas UNIX e no Windows NT. Ele prov processamento paralelo e (FRIEDMAN, 1997). O PVM um programa que permite servidores UNIX e/ou Windows trabalharem em e uma rede de dados distribuindo os seus processos para que esses sejam usados de forma paralela. A partir da sua terceira verso em 1993 adquiriu suporte a tolerncia a falhas a ` a (Fault-Tolerant) (PVM, 2007).

2.4 Softwares Capazes de Implementar um Cluster

14

O MPI uma biblioteca para processamento paralelo. Ele prov uma comunicaao e e c bsica entre os processadores. Como o OpenMP, implementado em C/C++ e Fortran, a e alm de prover uma API para o processamento paralelo (GROPP; LUSK, 2005). e Alm desses softwares, pode ser usado o OpenSER integrado ao Asterisk se o Cluster e for uma central Telefnica VoIP. O OpenSER um servidor SIP. Ele bem mais leve que o e e o Asterisk como servidor de registro. E usado como servidor de registro e interligado ao Asterisk que cuida dos servios. c Existem tambm softwares capazes de implementar Clusters em aplicaoes espec e c cas. Um deles o DUNDi. e O DUNDi um sistema para interligao de PABX Asterisk. Possui uma rede prpria e ca o para a pesquisa de nmeros de ramais, e usa os protocolos SIP/RTP, IAX2 ou H323 para u a transmisso de voz. Os pacotes DUNDi usam o protocolo de transporte UDP. O DUNDi a pode ser usado para balanceamento de carga.

15

Cluster Asterisk com DUNDi e DNS Round-Robin

Para a escolha dos softwares a serem utilizados no projeto foi feita uma pesquisa sobre os softwares citados no item anterior. Como o projeto tem como objetivo implementar um sistema de Cluster no Asterisk, mais precisamente usando o sistema DISC-OS, que usa o Asterisk 1.2, considerou-se o DUNDi a melhor opo, por ser um programa feito pelo prprio criador do Asterisk e ca o imcorporado ao mesmo. Tambm optou-se por implementar o DNS Round-Robin por se tratar de uma soluo e ca muito simples e que poderia usada junto com outras solues. co

3.1

DNS Round-Robin

O DNS Round-Robin uma forma de realizar um balanceamento de carga pelo prprio e o servidor DNS. Seu funcionamento consiste em dividir as conexes entre os servidores. Essa o diviso feita a partir do primeiro endereo cadastrado no arquivo at o ultimo. a e c e Algo importante sobre o DNS Round-Robin que ele no uma soluo de ree a e ca dundncia. Se um dos servidores parar de funcionar, o DNS Round-Robin continuar a a mandando requisioes para esse servidor. c

3.2

DUNDi

Segundo J.R.Richardson (RICHARDSON, 2006a), DUNDi um sistema peer-to-peer para localizao de gateways Internet e ca para servios de telefonia em um Cluster Asterisk. Diferente dos servios c c centralizados tradicionais (como o padro ENUM consideravelmente simples a

3.3 Uso do DUNDi e do DNS Round-Robin para a formao de um Cluster Asterisk ca

16

e conciso), o DUNDi completamente distribu sem nenhuma hierarquia e do centralizada.. Com o DUNDi poss e vel localizar uma extenso em qualquer um dos servidores a do Cluster. Para isso pode-se usar um servidor de consultas, que ser responsvel por a a fazer todas as consultas, ou ligar os servidores do Cluster diretamente. O servidor de consultas ser responsvel por procurar a extenso nos servidores de registro. Se um dos a a a servidores de registro falhar, ele continuar procurando em outros servidores pela extenso a a (MEGGELEN; SMITH; MADSEN, 2005) (RICHARDSON, 2006b). O DUNDi tambm pode ser integrado ao Asterisk Realtime. Este um sistema que e e permite ter a congurao do Asterisk num Banco de dados SQL. Com isso poss ca e vel realizar alteraoes no plano de discagem sem ter de reiniciar o Asterisk (e perder as c chamadas correntes). Outra utilidade que se um dos servidores do Cluster DUNDi e parar de funcionar, o Asterisk Realtime pode localizar e ligar essa extenso mesmo que a ela no esteja registrada (se ela for um ramal ou servio que apenas se registrava no a c servidor). Existe tambm a Rede DUNDi, ao qual participam algumas empresas do Brasil e e do mundo. O seu objetivo facilitar a interligao dos sistemas Asterisk, alm de facilitar ca e a interconexo com a PSTN. a

3.3

Uso do DUNDi e do DNS Round-Robin para a formao de um Cluster Asterisk ca

Aps realizar a conguraao do DNS Round-Robin e do DUNDi, foi vericado o seu o c comportamento:

3.3 Uso do DUNDi e do DNS Round-Robin para a formao de um Cluster Asterisk ca

17

Figura 1: Cenrio inicial de testes a Nesse caso, o DNS Round-Robin atua como se fosse um servidor proxy. Ele receber a requisiao dos ramais para registro e enviar para um dos PABX , balanceando a c a as requisies dos mesmos. O DUNDi permitir a esses ramais se localizarem como se co a estivessem todos na mesma central. Supondo que o usurio do ramal 9901, que est registrado no PABX1 deseja falar a a com o usurio do ramal 2010, que est no PABX2, o usurio do ramal 9901 discar: 2010. a a a a O PABX1 vericar se o ramal 2010 est registrado nele para realizar a chamada. Ao a a vericar que ele no se encontra registrado, far uma consulta DUNDi ao PABX2 para a a saber se o ramal est registrado nele. Nesse caso receber uma resposta armativa do a a PABX2. A partir desse ponto os dois PABX estabelecem um canal IAX para a chamada. Ento ela transcorre no PABX2 normalmente. a Abaixo segue uma troca de sinalizao DUNDi, para o exemplo anterior. Foi retirado ca do PABX onde estava o ramal 2010, logo a sinalizaao comea com um pacote recebido. c c Foi gerado pelo console do Asterisk:

3.3 Uso do DUNDi e do DNS Round-Robin para a formao de um Cluster Asterisk ca

18

Figura 2: Mensagens DPDISCOVER e DPRESPONSE Alguns parmetros dessas mensagens so (SPENCER, 2004): a a DIRECT EID = Identicaao do outro n do Cluster. Normalmente usado o enc o e dereo MAC da interface de rede. c CALLED NUMBER = Nmero procurado. u CALLED CONTEXT = Contexto onde a extenso deve ser procurada. Na verdade o a seu valor refere-se ao tronco que o DUNDi usar para fazer a pesquisa. Na conguraao a c do DUNDi se associa esse tronco ao contexto local onde deve existir o nmero procurado. u Para mais detalhes sobre a conguraao do DUNDi, olhar a seao 7.2. c c TTL = Nmero de poss u veis encaminhamentos desse pacote. No igual ao TTL do a e IP. Para mais detalhes sobre o que o TTL, olhar a seo 7.2. e ca ANSWER = A resposta enviada pela mensagem DPRESPONSE. No caso de uma resposta armativa, usa-se o formato denido na congurao do DUNDi. Este pode ser ca consultado na seo 7.2. ca O objetivo da mensagem DPDISCOVER dar in a procura de um nmero DUNDi e cio u dentro do Cluster. O DPDISCOVER inicia com uma operao e respondida inicialca e mente com um ACK (mensagem de conrmaao de recebimento) e ento seguida da c a e mensagem DPRESPONSE. O objetivo da mensagem DPRESPONSE responder uma e DPDISCOVER. Existem mais mensagens, porm essas so as mensagens principais. O console do Ase a terisk tambm exibe algumas mensagens relacionadas ` criptograa, mas para uma anlise e a a

3.3 Uso do DUNDi e do DNS Round-Robin para a formao de um Cluster Asterisk ca

19

completa com todas as mensagens, necessrio usar um programa para captura de pae a cotes. O comando dundi debug, usado para ajudar a resolver problemas relacionados e ao DUNDi. Mas supondo agora que o usurio do ramal 9901, que est registrado no PABX1 deseja a a falar com o usurio do ramal 2015, que no est registrado em nenhum PABX, o usurio a a a a do ramal 9901 discar: 2015. O PABX1 vericar se o ramal 2015 est registrado nele para a a a realizar a chamada. Ao vericar que ele no se encontra registrado, far uma consulta a a DUNDi ao PABX2 para saber se o ramal est registrado nele. Nesse caso receber uma a a resposta negativa do PABX2. Como no h outro PABX para ser consultado, o PABX1 a a enviar a mensagem not found que ser convertida pelo softphone, ata ou telefone IP a a em tom de ocupado.

20

Experimentos Realizados

Para a realizao dos testes de desempenho do DUNDi foram congurados dois ca cenrios. O primeiro cenrio congurado foi: a a

Figura 3: Cenrio de Teste sem Cluster a Nesse caso, no h cluster envolvido. Esse cenrio serve apenas para comparar o a a a desempenho de um servidor rodando o DUNDi e um servidor sozinho. Para gerar o trfego telefnico, foi usado o programa SIPp (SIPP, 2004). Foram a o gerados diferentes volumes de chamadas para a URA congurada no DISC-OS do servidor PABX1. O segundo cenrio congurado foi: a

4 Experimentos Realizados

21

Figura 4: Cenrio de Teste com Cluster a Cada um dos dois servidores do Cluster possui os mesmos ramais congurados (2002, 2010, 9001), o mesmo plano de discagem e os mesmos servios. Num primeiro momento c esses ramais foram usados para testar o funcionamento correto do DUNDi. O DNS RoundRobin foi usado para distribuir os ramais nos servidores de forma transparente. Foi congurada uma URA (Atendimento Automtico) com uma msica de aproxia u madamente 7 minutos, para que todas as ligaoes cassem estacionadas nessa URA (como c se fossem ligaes telefnicas). co o Para gerar o trfego telefnico, foi usado o programa SIPp. Foram gerados diferentes a o volumes de chamadas para a URA congurada no DISC-OS do PABX1. Para que o DUNDi operasse nessa situao, parte das chamadas foram geradas para o ramal 2010 ca (que estava cadastrado no PABX2). No PABX2, foi alterado o dialplan do ramal 2010 para que tudo o que viesse para esse ramal fosse encaminhado para a URA do mesmo servidor. Dessa forma, o PABX1 teve de fazer a consulta DUNDi para saber se o ramal 2010 estava presente no PABX2, e depois encaminhar a chamada via tronco IAX para o mesmo. A linha original:

exten => 2010,1,ChanIsAvail(IAX2/2010|sj) Foi mudado para:

exten => 2010,1, Goto(disc-ivr-7000,s,1)

4.1 Resultados

22

Sendo 7000 o nmero correspondente a URA congurada no PABX2. u

4.1

Resultados

O PABX1 composto de um processador Intel Pentium D 2.8GHz, com 4MB de e memria cache L2, 512MB de memria RAM, Kernel 2.6.9 (CentOS 4). o o O PABX2 composto de um processador Pentuim 4 3.0GHz, com 1MB de memria e o cache L2, 512MB de memria RAM, Kernel 2.6.9 (CentOS 4). o Para gerar os dados, foi usado o comando vmstat. Ele mede n veis de processamento, memrias e outros parmetros do sistema. As sa o a das do comando vmstat e sipp usadas na geraao desses grcos esto na seo 7.3. Nesse caso, foi aproveitado c a a ca somente o n de processamento. O comando vmstat 5 10 indica que que esto sendo vel a feitas 10 amostras de 5 em 5 segundos. O unico problema do comando vmstat que e a sua primeira amostra imprecisa. Por isso aparecero valores na primeira amostra e a as vezes muito diferentes do resto das amostras. A primeira amostra deve ser sempre desconsiderada. Para gerar os grcos, foi usado o software GNUPlot (GNUPLOT, 1999). Ele l valores a e inscritos em arquivos de texto, linha a linha, separados por espao. Como a sa do c da comando vmstat na sua primeira possui os nomes dos campos do comando, o GNUPlot comeou a fazer os grcos a partir da segunda linha. Logo, todos eles comeam a partir c a c do valor 2 no eixo X. No eixo Y, os valores esto referenciados em porcentagem, como a na sa do comando vmstat. da Aps os testes realizados, foram gerados os seguintes dados: o

4.1 Resultados

23

Figura 5: 100 chamadas SIP em um unico Servidor O parmetro IDLE o percentual livre do processador. O parmetro US o pera e a e centual de uso do processador com processos de usurios. O parmetro SYS o pera a e centual de uso do processador com processos do sistema. Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 80%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema.

4.1 Resultados

24

Figura 6: 50 chamadas SIP sendo tratadas e 50 sendo encaminhadas via DUNDi Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 80%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema. Houve um aumento no n de processamento livre de aproximadamente 2% nesse vel servidor, o que de forma alguma justicaria o uso de uma soluo assim. ca

4.1 Resultados

25

Figura 7: 50 chamadas SIP recebidas via DUNDi Ao analisar esse grco, percebe-se que o PABX2 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 90%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema.

4.1 Resultados

26

Figura 8: 200 chamadas SIP em um unico Servidor Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 60%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema.

4.1 Resultados

27

Figura 9: 100 chamadas SIP sendo tratadas e 100 sendo encaminhadas via DUNDi Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 70%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema. Houve um aumento no n de processamento livre de aproximadamente 6% nesse vel servidor, o que no justicaria o uso de uma soluao assim. a c

4.1 Resultados

28

Figura 10: 100 chamadas SIP recebidas via DUNDi Ao analisar esse grco, percebe-se que o PABX2 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre acima de 90%. Nessa condiao, vel c e poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando vel e vel c sem comprometer a qualidade do sistema.

4.1 Resultados

29

Figura 11: 300 chamadas SIP em um unico Servidor Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a com grandes diculdades, com um n de processamento livre em torno de 25%. Nessa vel condiao, no poss ouvir nitidamente o som da URA, j que apesar de ter em mdia c a e vel a e 25% de processamento livre, ocorrem alguns picos de processamento. Como o processador nesse caso no tem condioes de processar tudo no instante do pico, acaba por fazer o a c audio da URA sair com algumas falhas (picotamento). Para o trfego em questo, no aconselhvel usar esse servidor sozinho de forma a a a e a alguma.

4.1 Resultados

30

Figura 12: 150 chamadas SIP sendo tratadas e 150 sendo encaminhadas via DUNDi Ao analisar esse grco, percebe-se que o PABX1 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre em torno de 60%. Nessa condiao, vel c poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando e vel e vel c sem comprometer a qualidade do sistema, desde que os outros servios no consumissem c a muito processamento. Houve um aumento no n de processamento livre de aproximadamente 35% nesse vel servidor, alm do fato de ser poss ouvir sem falhas o udio da URA. Isso justicaria e vel a o uso de uma soluo assim. ca

4.1 Resultados

31

Figura 13: 150 chamadas SIP recebidas via DUNDi Ao analisar esse grco, percebe-se que o PABX2 foi capaz de suportar a carga imposta a sem diculdades, com um n de processamento livre prximo de 90%. Nessa condio, vel o ca poss ouvir nitidamente o som da URA, e ainda poss ter outros servios rodando e vel e vel c sem comprometer a qualidade do sistema. Observando os grcos, percebe-se que quanto maior o volume de trfego, maior o a a ganho de processamento com o DUNDi. Mas apesar dos servidores com o DUNDi estarem relativamente folgadas com 150 chamadas cada, um fator fez com que no se avanasse a c sobre os testes. O mdulo chan iax, que implementa o IAX, limita o buer de dados o com tamanho suciente de dados para 200 chamadas. Isso fez com que, ao testar com 200 ligaoes via DUNDi e usar mais um ramal somente para escutar a URA como forma c de vericar a qualidade do udio, o Asterisk exibisse um warninge o audio no sa a a sse de forma adequada. Abaixo segue o aviso:

Feb 18 16:14:25 WARNING[5430]: chan\_iax2.c:3806 iax2\_trunk\_queue: Maximum trunk data space exceeded to 192.168.130.10:4569 Para contornar o problema, podem-se seguir as soluoes apresentadas no link abaixo: c http://bugs.digium.com/view.php?id=8267

4.1 Resultados

32

Outra soluo para o caso seja necessrio mais de 200 chamadas via DUNDi conguraca a e lo com o SIP. Perde-se o suporte a criptograa, mas se ganha na capacidade de ligaoes c sem conguraoes adicionais. c

33

Concluses o

As tcnicas de Cluster estudadas nesse trabalho mostraram cada uma a sua ecincia. e e O DNS Round-Robin foi capaz de distribuir os ramais entre os dois servidores congurados para responder ao dom usado no teste. Como j conhecido pelos seus adeptos, nio ae ele no faz por si s o failover, porm uma soluao muito simples de ser implementada. a o e e c O DUNDi tem um ganho m nimo quando o volume de ligaoes simultneas baixo c a e (100 ligaoes). c Porm com o aumento do volume de trfego (200 a 300 chamadas), o DUNDi se e a mostrou bastante eciente, pois conseguiu melhorar signicativamente o processamento. Nas referncias usadas para auxiliar a congurao do DUNDi, normalmente ele vem e ca associado ao Asterisk Realtime, porm por ser uma soluao muito complexa de implemene c tar e no implementar sozinho nenhuma forma de Cluster, no foi integrada ao DUNDi. a a Apesar de poucos, os materiais que ensinam a congurar o DUNDi so sucientes a para realizar a sua implementao. Quando feita uma nova instalaao do Asterisk para ca e c congurar o DUNDi, a tarefa se torna um pouco simples. Porm quando se tem um e sistema pronto que no foi concebido com o DUNDi, nesse caso o DISC-OS, a tarefa a de implementar se torna mais complexa. Isso porque adaptar o DUNDi a um PABX j a congurado exige o conhecimento do sistema, alm de necessitar de cuidado para que no e a se percam as funcionalidades do PABX em funao do uso do DUNDi. c

34

ANEXO A -- Anexos

A.1

Congurao do Bind 9 para permitir o uso do ca DNS Round-Robin

Para habilitar o DNS Round-Robin no Bind 9 (BIND, 2000), deve-se apenas colocar os endereos dos servidores e relaciona-los com o mesmo nome de servidor: c

registro IN registro IN

A A

192.168.130.102 192.168.65.100

A.2

Instalao do DUNDi no DISC-OS ca

O DISC-OS no foi planejado para usar o DUNDi por padro. Porm no h nada a a e a a que impessa o DISC-OS de usar o DUNDi. Para usar o DUNDi no DISC-OS deve-se carregar o seu mdulo no arquivo /etc/aso terisk/modules.conf:

load => pbx_dundi.so Alm dele, usaremos mais dois mdulos no sistema: e o

load => res_crypto.so load => app_chanisavail.so e a a O mdulo res crypto.so o responsvel pelo suporte a criptograa no Asterisk. J o o mdulo app chanisavail.so permite o uso da aplicaao ChanIsAvail do dialplain do o c Asterisk.

A.2 Instalaao do DUNDi no DISC-OS c

35

Aps colocar os mdulos no arquivo, reinicia-se o Asterisk para carregar os mdulos. o o o Opcionalmente, pode-se carregar os mdulos usando o comando load no CLI do Astero isk. Porm ao reiniciar o asterisk, esta conguraao ser perdida. e c a Depois de carregados os mdulos, necessrio criar o arquivo /etc/asterisk/dundi.conf, o e a pois o mesmo no vem por padro no DISC-OS. O arquivo pode ser encontrado em: a a http://www.voip-info.org/wiki/index.php?page=Asterisk+cong+dundi.conf O arquivo deve ter o dono asterisk e o grupo asterisk. Pode-se ento congurar o entroncamento entre as centrais via interface do DISC. a Neste caso, foi feito usando IAX. Depois, edita-se o /etc/asterisk/iax.conf e adicionamos o seguinte parmetro no a tronco:

dbsecret=dundi/secret O parmetro dbsecret dene a senha que ser usada nas requisioes para localizaao a a c c do ramal. Ento congura-se uma rota de entrada, uma rota de sa para o tronco e os ramais: a da Depois de terminado o trabalho com a interface do DISC-OS, passa-se ento para a a conguraao do DUNDi e conguraoes adicionais. Deve ser adicionado tanto no c c sip.conf como no iax.conf o seguinte parmetro dentro do contexto general: a

regcontext=dundiextens regcontext: contexto que ser dinamicamente criado (se o mesmo no existir) e ser a a a incluso uma extenso com o comando NoOp quando um ramal se registrar no DISC-OS. a

dundi.conf [general] entityid=00:13:72:02:F5:F6 cachetime=5 ttl=1

A.2 Instalaao do DUNDi no DISC-OS c

36

autokill=yes secretpath=dundi [mappings] dundi => dundiextens,0,IAX2,dundi:${SECRET}@192.168.65.100/${NUMBER},nopartial [00:13:72:02:F5:E3] model = symmetric host = 192.168.130.102 inkey = priv outkey = priv include = all permit = all qualify = yes order = primary Parmetros: a entityid: Dene o identicador do peer na rede DUNDi. O padro o endereo MAC a e c da primeira interface de rede, mas recomendvel especicar esse valor manualmente. e a cachetime: Dene o tempo de validade de uma consulta DUNDi. ttl: dene o nmero de saltos que o pedido DUNDi pode ter antes de ser descartado. u autokill: Dene o que acontece quando um ACK no recebido depois de 2 segundos. a e Quando setado em yes, ele cancela a requisiao. c secretpath: Dene a fam da chave criada. O padro dundi sendo que a chave lia a e ser mantida em secret/dundi. a A linha de mapeamento segue a seguinte sintaxe: dundi_context => local_context,weight,tech,dest[,options] Parmetros: a dundi context: o nome do contexto que ser usado nas consultas DUNDi. e a local context: o nome do contexto onde o servidor local buscar o nmero para e a u responder sobre a existncia ou no desse nmero. e a u

A.2 Instalaao do DUNDi no DISC-OS c

37

weight: o peso para a resposta da requisio. Quanto menor o nmero, maior a e ca u prioridade da sua resposta. Podem ser usados valores de 0 a 60000. tech: indica a tecnologia do ramal a ser buscado. Pode ser SIP, IAX2 ou H323. dest: dene os valores para que o destino encontre o nmero desejado. Trs valores u e so repassados: a $NUMBER: O nmero requisitado u $IPADDR: O endereo IP a se conectar c $SECRET: A senha que est sendo usada no momento. a Algumas opoes tambm podem ser selecionadas. No nosso caso, foi usada a opo c e ca nopartial, que faz com que as respostas indiquem somente o valor exato que foi pedido, sem pesquisas parciais. Por ultimo, vem a identicao do outro peer. O primeiro valor o entityid do outro ca e peer. Os outros parmetros so: a a model: Indica se a conexo DUNDi ser s de envio, recebimento ou de envio e a a o recebimento. host: E o endereo IP do outro peer. c inkey: E a chave que o outro peer usar para autenticar com este peer. a outkey: E a chave que ser usada por este peer para autenticar com o outro peer. a include: Dene a permisso que o outro peer ter de fazer consultas em um contexto a a particular deste peer. O valor all permite que o outro peer faa consultas em todos os c contextos. permit: Dene a permisso que o outro peer ter de fazer consultas no contexto a a DUNDi deste peer. O valor all permite que o outro peer faa consultas em todos os c contextos. qualify: Tem a mesma funao do autokill, porm especicado na pr c e e pria identicaao do peer. c order: Dene a ordem da pesquisa. Pode ser primrio, secundrio, tercerio e a a a quaternrio. a Aps congurar o DUNDi, passa-se para as conguraes do plano de discagem: o co

A.2 Instalaao do DUNDi no DISC-OS c

38

extensions_disc.conf: [disc-ext-local] exten => 2002,1,ChanIsAvail(SIP/2002|sj) exten => 2002,2,Goto(disc-ext-local,2002,4) exten => 2002,3,Hangup exten => 2002,102,Goto(lookupdundi,2002,1) exten => 2002,103,Hangup exten => 2002,4,Macro(disc-exten-vm,novm,2002) exten => 2002,5,Hangup [disc-inrt-from_taho] exten => _[*#0-9].,1,Set(FROM_DID=${EXTEN}) exten => _[*#0-9].,2,Set(CDR(userfield)=from_taho) exten => _[*#0-9].,3,Macro(disc-blacklist,,${CALLERID(NUM)},in) exten => _[*#0-9].,4,Goto(disc-ext-local,${FROM_DID},1) extensions_local.conf: [lookupdundi] switch => DUNDi/dundi No contexto local do DISC-OS usada a aplicao ChanIsAvail para vericar se o e ca ramal est registrado neste servidor ou no. Se estiver, ele direcionado para o dialplain a a e do DISC-OS para que seja realizada a chamada. Caso o ramal no esteja registrado, a ele enviado para o contexto lookupdundi, que ser responsvel por fazer a consulta e a a DUNDi. Na rota entrante, foi feita uma alterao para que as chamadas vindas do tronco ca usado para o DUNDi sejam direcionadas para o contexto local do DISC-OS. Lgica do plano de discagem: o [disc-ext-local] exten => 2002,1,ChanIsAvail(SIP/2002|sj) Testa se o ramal (2002 SIP) est registrado e dispon para receber uma chamada. a vel Caso esteja ativo, ir para a extenso n+1 (2). Se no estiver, ir para a extenso n+101 a a a a a (102).

A.2 Instalaao do DUNDi no DISC-OS c

39

exten => 2002,2,Goto(disc-ext-local,2002,4) A chamada redirecionada para a prioridade 4 desse mesmo contexto. e

exten => 2002,3,Hangup Desliga a chamada.

exten => 2002,102,Goto(lookupdundi,2002,1) A chamada redirecionada para o contexto lookupdundi procurando pelo ramal e 2002 na prioridade 1 desse contexto. exten => 2002,103,Hangup Desliga a chamada. exten => 2002,4,Macro(disc-exten-vm,novm,2002) E chamada a macro disc-exten-vm informando que o mesmo no possu voicemail a habilitado e que se trata da extenso 2002. Essa a primeira sequncia original do a e e DISC-OS. exten => 2002,5,Hangup Desliga a chamada. [disc-inrt-from_taho] exten => _[*#0-9].,1,Set(FROM_DID=${EXTEN}) Seta a varivel FROM DID com o valor da varivel EXTEN. a a exten => _[*#0-9].,2,Set(CDR(userfield)=from_taho) Seta a varivel CDR(usereld) com o nome da rota de entrada. a exten => _[*#0-9].,3,Macro(disc-blacklist,,${CALLERID(NUM)},in)

A.2 Instalaao do DUNDi no DISC-OS c

40

Chama a macro disc-blacklist para testar se essa ligaao no deve ser bloqueada. c a exten => _[*#0-9].,4,Goto(disc-ext-local,${FROM_DID},1) Envia a chamada para o contexto local, no nmero discado na prioridade 1. u [lookupdundi] switch => DUNDi/dundi A partir daqui o DUNDi se encarrega de fazer a consulta no contexto de consultas. Aps essas conguraoes, reiniciamos o Asterisk, de forma a faze-lo reconhecer as o c alteraoes realizadas. c

A.2.1

Comandos para Testes

Alguns comandos do CLI do Asterisk podem ser usados para vericar o funcionamento das conguraoes realizadas: c dundi show peers: Mostra o estado das conexes com os peers. o Ex:

discOS2*CLI> dundi show peers EID 00:13:72:02:f5:e3 discOS2*CLI> Host 192.168.130.102 (S) Symmetric Model Unavail AvgTime OK (1 ms)

Sta

1 dundi peers [1 online, 0 offline, 0 unmonitored]

dundi lookup extenso (Consulta o outro peer se a extenso extenso est rega a a a istrada nele) Ex:

discOS2*CLI> dundi lookup 2010@dundi 1. 0 IAX2/dundi:SGUBCZR+0GPV9MkTuQwsHA@192.168.130.102/2010 (EXISTS)

A.3 Sa dos comandos vmstat e sipp da

41

from 00:13:72:02:f5:e3, expires in 5 s DUNDi lookup completed in 15 ms discOS2*CLI>

A.3

Sa dos comandos vmstat e sipp da

Figura 14: Sa do comando vmstat 5 10 para 100 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

42

Figura 15: Sa de status do SIPP para 100 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

43

Figura 16: Sa do comando vmstat 5 10 para 50 chamadas SIP recebidas e 50 da encaminhadas via DUNDi

A.3 Sa dos comandos vmstat e sipp da

44

Figura 17: Sa de status do SIPP para 50 chamadas SIP recebidas e 50 encaminhadas da via DUNDi

A.3 Sa dos comandos vmstat e sipp da

45

Figura 18: Sa do commando vmstat 5 10 para 50 chamadas recebidas via DUNDi da

A.3 Sa dos comandos vmstat e sipp da

46

Figura 19: Sa de status do SIPP para 50 chamadas recebidas via DUNDi da

A.3 Sa dos comandos vmstat e sipp da

47

Figura 20: Sa do comando vmstat 5 10 para 200 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

48

Figura 21: Sa de status do SIPP para 200 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

49

Figura 22: Sa do comando vmstat 5 10 para 100 chamadas SIP recebidas e 100 da encaminhadas via DUNDi

A.3 Sa dos comandos vmstat e sipp da

50

Figura 23: Sa de status do SIPP para 100 chamadas SIP recebidas e 100 da encaminhadas via DUNDi

A.3 Sa dos comandos vmstat e sipp da

51

Figura 24: Sa do commando vmstat 5 10 para 100 chamadas recebidas via DUNDi da

A.3 Sa dos comandos vmstat e sipp da

52

Figura 25: Sa de status do SIPP para 100 chamadas recebidas via DUNDi da

A.3 Sa dos comandos vmstat e sipp da

53

Figura 26: Sa do comando vmstat 5 10 para 300 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

54

Figura 27: Sa de status do SIPP para 300 chamadas SIP em um unico PC da

A.3 Sa dos comandos vmstat e sipp da

55

Figura 28: Sa do comando vmstat 5 10 para 150 chamadas SIP recebidas e 150 da encaminhadas via DUNDi

A.3 Sa dos comandos vmstat e sipp da

56

Figura 29: Sa de status do SIPP para 150 chamadas SIP recebidas e 150 da encaminhadas via DUNDi

A.3 Sa dos comandos vmstat e sipp da

57

Figura 30: Sa do commando vmstat 5 10 para 150 chamadas recebidas via DUNDi da

A.3 Sa dos comandos vmstat e sipp da

58

Figura 31: Sa de status do SIPP para 150 chamadas recebidas via DUNDi da

59

Referncias e
BAKER, M. Cluster computing white paper. In: PORTSMOUTH University of Portsmouth. 2000. Dispon em: <http://arxiv.org/ftp/cs/papers/0004/0004014.pdf>. vel Acesso em: 4 mar. 2008. BIND. [s.n.], 2000. Dispon em: <http://www.isc.org/index.pl?/sw/bind/index.php>. vel Acesso em: 4 mar. 2008. DISC-OS. [s.n.], 2007. Dispon em: <http://www.disc-os.org>. Acesso em: 4 mar. vel 2008. FRIEDMAN, R. OpenMP Architecture Review Board. [s.n.], 1997. Dispon em: vel <http://www.openmp.org/blog/about>. Acesso em: 27 nov. 2007. GNUPLOT. [s.n.], 1999. Dispon em: <http://www.gnuplot.info>. Acesso em: 4 mar. vel 2008. GROPP, W. D.; LUSK, E. The Message Passing Interface (MPI) standard. [s.n.], 2005. Dispon em: <http://www-unix.mcs.anl.gov/mpi>. Acesso em: 27 nov. 2007. vel KNOX, B. The OpenMosix Project. [s.n.], 2002. Dispon vel em: <http://openmosix.sourceforge.net>. Acesso em: 27 nov. 2007. MEGGELEN, J. V.; SMITH, J.; MADSEN, L. Asterisk: O futuro da Telefonia. In: . Traduo de Armando Figueiredo e Betina Macedo. [S.l.]: Alta Books, Rio de ca Janeiro, RJ, 2005. MERKEY, P. Beowulf History. [s.n.], 2004. Dispon vel em: <http://www.beowulf.org/overview/history.html>. Acesso em: 8 fev. 2008. PVM. PVM Paralelal Virtual Machine. [s.n.], 2007. Dispon vel em: <http://www.csm.ornl.gov/pvm>. Acesso em: 27 nov. 2007. RICHARDSON, J. DUNDi, So Easy a Caverman Could Do It. [s.n.], 2006. Dispon vel em: <http://www.voip-info.org/wiki-DUNDi>. Acesso em: 16 jan. 2008. RICHARDSON, J. JR Richardson Writepaper. [s.n.], 2006. Dispon vel em: <http://www.voip-info.org/wiki-Asterisk+DUNDi+Call+Routing>. Acesso em: 11 nov. 2007. SILVA, G. P. Clusters. In: RIO DE JANEIRO,Universidade Federal do Rio de Janeiro. 2005. Dispon em: <http://equipe.nce.ufrj.br/gabriel/sispar/ArqPar6.pdf>. Acesso vel em: 25 fev. 2008. SIPP. [s.n.], 2004. Dispon em: <http://sipp.sourceforge.net>. Acesso em: 4 mar. vel 2008.

Referncias e

60

SPENCER, M. Universal number discovery (dundi) draft-mspencer-dundi-01. In: DIGIUM. 2004. Dispon em: <http://www.dundi.com/dundi.txt>. Acesso em: 25 vel fev. 2008. SUSIN, G. Anlise de desempenho de um cluster para execuo do modelo de previso a ca a do tempo arps. In: FLORIAOPOLIS Universidade Federal de Santa Catarina. 2001. Dispon em: <http://www.tede.ufsc.br/teses/PGCC0470.pdf>. Acesso em: 22 jan. vel 2008.

Potrebbero piacerti anche