CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS
Autor(a) principal: | |
---|---|
Data de Publicação: | 2006 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@2 |
Resumo: | 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. |
id |
PUC_RIO-1_1c09de2de550a11331c238eac11257b1 |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:9763 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisCONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS MODELOS DE CONCORRÊNCIA E SANDBOXES APLICADOS A SERVIDORES HTTP EM LUA 2006-09-13NOEMI DE LA ROCQUE RODRIGUEZ75806908704lattes.cnpq.br/4933326132948063NOEMI DE LA ROCQUE RODRIGUEZ75806908704lattes.cnpq.br/4933326132948063ROBERTO IERUSALIMSCHYSILVANA ROSSETTOSILVANA ROSSETTORENATO FONTOURA DE GUSMAO CERQUEIRANOEMI DE LA ROCQUE RODRIGUEZ04534773722LEONARDO GODINHO DA CUNHAPONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROPPG EM INFORMÁTICAPUC-RioBROs 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.Client-server developers constantly have to deal with questions concerning performance and scalability, since the number of simultaneous clients can grow significantly. Moreover, if these systems can execute third-party code, there is also the concern of secure execution of these pieces of code. This work goal is to benchmark several combinations of concurrency and sandboxes models. As an example of a system exposed to several concurrent requests that must be able to execute third-party code, we have the web servers. Xavante is a web server developed in the Lua programming language that originally uses an concurrency programming model based on coroutines. This server offers the flexibility to map request types to different handlers. Some of these request handlers dynamically allow the use of third-party code, therefore they make use of sandboxes in order to offer a protected running environment. In this work we test the use of Xavante´s native sandboxes and other types of sandboxes.We also improve the extensibility of the server, using a different architecture in order to allow different concurrency strategies. Using the new architecture we tested the performance of several combinations of sandboxes and concurrency programming models, allowing the model comparison not only in a qualitative point of view but also measuring the related performance impacts.PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIROhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@2porreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-11-01T12:55:10Zoai:MAXWELL.puc-rio.br:9763Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342019-06-26T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.en.fl_str_mv |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
dc.title.alternative.pt.fl_str_mv |
MODELOS DE CONCORRÊNCIA E SANDBOXES APLICADOS A SERVIDORES HTTP EM LUA |
title |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
spellingShingle |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS LEONARDO GODINHO DA CUNHA |
title_short |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
title_full |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
title_fullStr |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
title_full_unstemmed |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
title_sort |
CONCURRENCY AND SANDBOXES MODELS APPLIED TO LUA HTTP SERVERS |
dc.creator.Lattes.none.fl_str_mv |
|
author |
LEONARDO GODINHO DA CUNHA |
author_facet |
LEONARDO GODINHO DA CUNHA |
author_role |
author |
dc.contributor.advisor2ID.none.fl_str_mv |
75806908704 |
dc.contributor.advisor1.fl_str_mv |
NOEMI DE LA ROCQUE RODRIGUEZ |
dc.contributor.advisor1ID.fl_str_mv |
75806908704 |
dc.contributor.advisor1Lattes.fl_str_mv |
lattes.cnpq.br/4933326132948063 |
dc.contributor.advisor2.fl_str_mv |
NOEMI DE LA ROCQUE RODRIGUEZ |
dc.contributor.advisor2Lattes.fl_str_mv |
lattes.cnpq.br/4933326132948063 |
dc.contributor.referee1.fl_str_mv |
ROBERTO IERUSALIMSCHY |
dc.contributor.referee2.fl_str_mv |
SILVANA ROSSETTO |
dc.contributor.referee3.fl_str_mv |
SILVANA ROSSETTO |
dc.contributor.referee4.fl_str_mv |
RENATO FONTOURA DE GUSMAO CERQUEIRA |
dc.contributor.referee5.fl_str_mv |
NOEMI DE LA ROCQUE RODRIGUEZ |
dc.contributor.authorID.fl_str_mv |
04534773722 |
dc.contributor.author.fl_str_mv |
LEONARDO GODINHO DA CUNHA |
contributor_str_mv |
NOEMI DE LA ROCQUE RODRIGUEZ NOEMI DE LA ROCQUE RODRIGUEZ ROBERTO IERUSALIMSCHY SILVANA ROSSETTO SILVANA ROSSETTO RENATO FONTOURA DE GUSMAO CERQUEIRA NOEMI DE LA ROCQUE RODRIGUEZ |
description |
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. |
publishDate |
2006 |
dc.date.issued.fl_str_mv |
2006-09-13 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@2 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=9763@2 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO |
dc.publisher.program.fl_str_mv |
PPG EM INFORMÁTICA |
dc.publisher.initials.fl_str_mv |
PUC-Rio |
dc.publisher.country.fl_str_mv |
BR |
publisher.none.fl_str_mv |
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO DE JANEIRO |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1748324892880666624 |