[en] CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS

Detalhes bibliográficos
Ano de defesa: 2007
Autor(a) principal: LEONARDO GODINHO DA CUNHA
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: MAXWELL
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763&idi=1
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763&idi=2
http://doi.org/10.17771/PUCRio.acad.9763
Resumo: [pt] Os desenvolvedores de sistemas cliente-servidor constantemente se deparam com questões de desempenho e escalabilidade, muitas vezes o número de clientes simultâneos de um servidor pode crescer de forma significativa. Além disso, se esses sistemas podem executar códigos de terceiros, passa a existir a preocupação com a questão de segurança da execução destes trechos de códigos. O objetivo desse trabalho é testar o desempenho de diversas combinações de modelos de concorrência e sandboxes. Como exemplo de sistema sujeito a solicitações concorrentes que precisa permitir a execução de programas de terceiros, temos os servidores web. O Xavante é um servidor web desenvolvido na linguagem de programação Lua que originalmente utiliza um modelo de programação concorrente baseado em co-rotinas. Esse servidor já possuía a flexibilidade de mapear tipos de requisição a tratadores diferentes. Alguns desses tratadores de requisi ção permitem a utilização de código de terceiros em tempo de execução e, por isso, já fazem uso de sandboxes a fim de oferecer um ambiente de execução protegido. Nesse trabalho testamos o uso dessas sandboxes nativas ao Xavante além de outros tipos de sandboxes. Também aumentamos as possibilidades de extensão do servidor, flexibilizando a arquitetura de modo a permitir diferentes estratégias de concorrência. Utilizando a nova arquitetura testamos o desempenho das diversas combinações de sandboxes e modelos de programação concorrente, permitindo a comparação dos modelos não só do ponto de vista qualitativo mas também medindo o impacto de desempenho do seu uso.