Tonin, Neilor AvelinoDagostini, Jessica Imlau2020-03-042020-03-042019http://repositorio.uricer.edu.br/handle/35974/241A tecnologia de containers vem sendo cada vez mais utilizada para diversas aplicações. Suas facilidades e benefícios têm tornado esta ferramenta uma alternativa para promover maior tolerância às falhas e à portabilidade de sistemas mais complexos. Containers provêm maior isolamento de recursos, de forma mais leve do que máquinas virtuais e permitem que seja possível recriar as mesmas configurações de sistema em qualquer máquina, de forma ágil e simples. Com isso, o presente trabalho visa aplicar e avaliar o uso de containers no processo de execução de códigos julgados pelo sistema de julgamento do URI Online Judge. Este sistema de julgamento avalia, em tempo real, códigos-fonte que visam resolver alguns problemas propostos. Neste trabalho serão testados desempenhos e possíveis overheads deste sistema, organizado em containers, em relação ao tempo de execução dos códigos submetidos e tempo total para julgamento dos códigos. Junto aos testes, também serão observados o tempo da criação e remoção dos ambientes virtuais, a fim de estimar o impacto das execuções no tempo total de execução do sistema todo. Ademais, investigar-se-á possíveis limitações de memória e alocação, segurança e isolamento dos mesmos e facilidades de manutenção (que inclui atualização e instalação de novas linguagens). Ao final, pretende-se concluir se tal adição será de fato adequada ao sistema em questão.Container technology is increasingly being used for most diverse applications. Its features and benefits have made this tool an alternative to promote greater fault tolerance and portability of more complex systems. Containers provide greater resource isolation, lighter than virtual machines, and allow to quickly and easily recreate the same system configurations on any machine. From these main characteristics, this work aims to apply and evaluate the use of containers for the execution of judged codes from the URI Online Judge judgment system. This judgment system evaluates, in real-time, source codes that aim to solve some proposed problems. In this work, will be tested performances and possible overheads of this system, organized in containers, related to the execution time of the submitted codes and total time for judgment of the codes. Along with testing, the time of creation and removal of these virtual environments will also be watched to estimate the impact of executions on the total system runtime. Also, possible memory and allocation limitations, security and isolation, and maintenance facilities (including updating and installing new languages) will be investigated. In the end, it is intended to conclude whether such an addition will indeed be appropriate to the system in question.pt-BRCiência da ComputaçãoVirtualizaçãoContainersSistemas operacionaisJuízes onlineAvaliação da aplicabilidade de containers em um sistema distribuído de julgamento de códigosTrabalho de Conclusão de Curso