Otimização de Desempenho e Escalabildade do Sistema Falibras-Web com o uso de Grid Computing João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito Laboratório de Pesquisa e Extensão em Computação - LAPEC Universidade Federal de Alagoas - Campus Arapiraca 6 de novembro de 2015 João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 1 / 38
1 Introdução O sistema Falibras-Web Arquitetura centralizada 2 Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache 3 Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node 4 Elaboração do experimento Análise dos resultados 5 6 João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 2 / 38
Introdução Introdução O sistema Falibras-Web Arquitetura centralizada No dia 24 de Abril de 2002 foi sancionada no Brasil a LEI N o 10.436 que propõe medidas para a igualdade de direitos e a inclusão social do deciente auditivo. Essa lei estabelece a inserção da Língua Brasileira de Sinais (LIBRAS) como disciplina curricular, bem como a presença de intérpretes em sala de aula e o uso e difusão da LIBRAS para o acesso das pessoas surdas à educação. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 3 / 38
Introdução Introdução O sistema Falibras-Web Arquitetura centralizada No entanto, para que professores e intérpretes atuem neste processo de inclusão, é necessário tanto conhecimento em LIBRAS, quanto no domínio a ser interpretado, o que exige preparo prévio e, muitas vezes, é feito sem o apoio fundamental adequado. Para o surdo, o português é tida como uma segunda língua. Porém a língua portuguesa utiliza de um meio oral auditivo. Já a LIBRAS se sustenta no canal viso-gestual. Necessidade de sites que ajudem na propagação de informações para usuários surdos na Internet. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 4 / 38
O sistema Falibras-Web Introdução O sistema Falibras-Web Arquitetura centralizada Figura : Tela Principal do Falibras-Web. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 5 / 38
O sistema Falibras-Web Introdução O sistema Falibras-Web Arquitetura centralizada O Falibras-Web utilizava-se de uma arquitetura cliente-servidor. Módulo cliente consistia em uma extensão (add-on) do navegador Web Firefox. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 6 / 38
O sistema Falibras-Web Introdução O sistema Falibras-Web Arquitetura centralizada Figura : Interface do add-on usado no browser Firefox. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 7 / 38
Arquitetura centralizada Introdução O sistema Falibras-Web Arquitetura centralizada Figura : Arquitetura centralizada do Falibras-Web. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 8 / 38
Arquitetura centralizada Introdução O sistema Falibras-Web Arquitetura centralizada Tempo médio de tradução: 6542 ms. Em requisições concorrentes de tradução, a mesma só conseguia atender em média 16 requisições. Apresentando erro fatal logo após (OutOfMemoryException). Falta de recursos computacionais sucientes. Ausência de um servidor de escalonamento. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 9 / 38
Arquitetura Centralizada Introdução O sistema Falibras-Web Arquitetura centralizada Como resolver esse problema? João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 10 / 38
Proposta de uma nova arquitetura distribuída Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache Viabilizar tecnicamente a utilização do Falibras-Web por um número crescente de usuários, em tempo de execução. Técnicas de sistemas distribuídos. Balanceamento de carga. Restrições na aquisições de recursos (custos). Uso de cluster? João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 11 / 38
Grid Computing Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache Figura : Representação artística de uma infraestrutura em Grid Computing. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 12 / 38
Grid Computing Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache Aquisição de recursos dispersos geogracamente. Heterogeneidade de recursos. Como adquirir esses recursos? João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 13 / 38
Volunteer Computing Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache Aquisição de recursos de modo voluntário. Nós em estado ocioso. Diminuição de custos. Exemplo de projetos que usam essa abordagem: SETI@Home, BOINC, etc. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 14 / 38
Replicação de dados com o uso cache Proposta de uma nova arquitetura distribuída Grid Computing Volunteer Computing Replicação de dados com o uso cache Aumento de desempenho na execução. Diminuição no tráfego de rede. Ex.: Uso de cache colaborativo (Tannebaum 2007). João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 15 / 38
Frameworks e bibliotecas utilizadas Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node Implementação do grid: JPPF 5.0.4. Implementação dos webservices para os nodes: Jersey 2.22.1. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 16 / 38
Nova arquitetura de tradução distribuída Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node Figura : Nova arquitetura de tradução distribuída do Falibras-Web. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 17 / 38
Nova arquitetura de tradução distribuída Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node Nodes; Clientes; Servidor Web; Servidor de banco de dados; Servidor Load Balancer. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 18 / 38
Falibras Node Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node Módulo extendido do JPPF Node. Possui o módulo tradutor do Falibras. Habilita a contribuição de recursos computacionais do usuário voluntário ao grid. Proteção de tela. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 19 / 38
Falibras Node Frameworks e bibliotecas utilizadas Nova arquitetura de tradução distribuída Falibras Node Figura : Proteção de tela do Falibras Node. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 20 / 38
Elaboração do experimento Elaboração do experimento Análise dos resultados Realização de testes de performance. Aumento progressivo de clientes. Baixa disponibilidade de nodes voluntários. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 21 / 38
Elaboração do experimento Elaboração do experimento Análise dos resultados 5 computadores HP EliteDesk 800; Processador Intel Core i5 vpro; 4GB de RAM. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 22 / 38
Elaboração do experimento Elaboração do experimento Análise dos resultados 4 computadores com SO Linux Ubuntu 14.04 x64 (1 para a simulação de clientes, 1 servidor mestre e 2 escravos); 1 computador com SO Windows 8 Pro x64 (escravo); João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 23 / 38
Elaboração do experimento Elaboração do experimento Análise dos resultados Simulação de clientes (3 testes). Script escrito em Java. ArrayList com 24 frases distintas. Executado em várias threads (1 thread = 1 cliente). Duração de cada teste: 5 minutos. Monitoramento usando o painel console do JPPF. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 24 / 38
Elaboração do experimento Elaboração do experimento Análise dos resultados Figura : JPPF console apresentando 3 nodes conectados. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 25 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Primeiro teste (1 node). 16 clientes. 1568 traduções processadas. Tempo médio de tradução: 407 ms. Tempo médio de Network Overhead: 79 ms. Tempo de espera na la: 274 ms. Total: 760 ms. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 26 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Primeiro teste (1 node). 16 clientes. 1568 traduções processadas. Tempo médio de tradução: 407 ms. Tempo médio de Network Overhead: 79 ms. Tempo de espera na la: 274 ms. Total: 760 ms. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 27 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Segundo teste (2 nodes). 16 clientes. 1588 traduções processadas. Tempo médio de tradução: 241 ms. Tempo médio de Network Overhead: 76 ms. Tempo de espera na la: 110 ms. Total: 427 ms. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 28 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Terceiro teste (3 nodes). 16 clientes. 1588 traduções processadas. Tempo médio de tradução: 196 ms. Tempo médio de Network Overhead: 81 ms. Tempo de espera na la: 53 ms. Total: 330 ms. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 29 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Figura : JPPF console apresentando 3 nodes conectados. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 30 / 38
Análise dos resultados Elaboração do experimento Análise dos resultados Figura : Resultado dos testes de performance. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 31 / 38
Conclusões O Balanceamento de carga é uma técnica bastante explorada em áreas como a Computação paralela e Sistemas distribuídos. Grid Computing é um modelo computacional com alta capacidade de escalabilidade e heterogeneidade de recursos dispersos geogracamente. O uso de Volunteer Computing permite a agregação de recursos fornecidos por voluntários, diminuindo custos de infraestrutura. O processo de replicação de dados com o uso de cache diminui o tráfego de rede, oferencendo desempenho no processamento. Melhor infraestrutura para a utilização real do Falibras-Web como um novo módulo educacional. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 32 / 38
Trabalhos futuros Avaliar a atuação do grid em cenários reais de demanda crítica, tais como redes sociais e dispositivos móves. Implementação de criptograa no processo de transmissão das mensagens. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 33 / 38
Andrew S. Tannebaum, M. V. S. (2007). Sistemas Distribuídos: Princípios e Paradigmas. Person Education Inc., 2 a edição. Leonard Richardson, S. R. (2007). RESTFul Web Services. O'Reilly, 1st edition. Ian Sommerville (2011). Engenharia de Software. Person Education Inc., 9 a edição. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 34 / 38
Andrew S. Tannebaum (2008). Sistemas Operacionais Modernos. Person Education Inc., 3 a edição. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 35 / 38
Ian Foster (1999). The grid: Blueprint for a new computing infrastructure. In Francisco, C. S., editor. Morgan Kaufmann Publishers. Reis, V. Q. (2005). Escalonamento em grids computacionais: estudo de caso. Dissertação de mestrado. Departamento de Informática e Estatística - Universidade Federal de Santa Catarina. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 36 / 38
Patrick H. Brito, Natália M. Franco, L. C. C. (2012). Falibras: uma ferramenta exível para promover acessibilidade de pessoas surdas. Memorias del XVII Congreso Internacional de Informática Educativa, TISE. Natália M. Franco, Patrick H. Brito, L. C. C. (2013). Falibras-web: Acessibilidade de pessoas surdas na web em libras utilizando design colaborativo. Nuevas Ideas en Informática Educativa TISE 2013. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 37 / 38
Jersey: Restful web services in java. URL: https://jersey.java.net/ Acessado em: 14/10/2015. JPPF: The open source grid computing solution. URL: http://www.jppf.org/ Acessado em: 14/10/2015. LHC@Home (2015). What is volunteer computing? URL: http://lhcathome.web.cern.ch/about/what-volunteer-computing Acessado em: 14/10/2015. João Paulo Ferreira da Silva e Patrick Henrique da Silva Brito (UFAL) joao.silva@arapiraca.ufal.br, patrick@ic.ufal.br 38 / 38