Projeto e desenvolvimento de um sistema de software de alto desempenho para execução de competições de programação com números massivos de usuários

DSpace Repository

A- A A+

Projeto e desenvolvimento de um sistema de software de alto desempenho para execução de competições de programação com números massivos de usuários

Show simple item record

dc.contributor Universidade Federal de Santa Catarina pt_BR
dc.contributor.advisor Castro, Márcio Bastos
dc.contributor.author Pereira Filho, Vanderlei Munhoz
dc.date.accessioned 2020-03-11T16:59:35Z
dc.date.available 2020-03-11T16:59:35Z
dc.date.issued 2020-03-03
dc.identifier.uri https://repositorio.ufsc.br/handle/123456789/204773
dc.description TCC(graduação) - Universidade Federal de Santa Catarina. Centro Tecnológico. Engenharia de Controle e Automação. pt_BR
dc.description.abstract Este documento detalha o projeto de fim de curso realizado pelo autor durante seuperíodo de estágio na IBM, no contexto da disciplina obrigatória DAS5511 do cursode engenharia de controle e automação da UFSC. O projeto em questão envolve a concepção, desenvolvimento, teste e documentação de um sistema de software robusto, visando a substituição de um sistema protótipo já existente. O novo sistema, entregue ao fim deste trabalho, é capaz de solucionar o seguinte problema de negócio da empresa: realizar e supervisionar competições de programação com números massivos de participantes, em escala multinacional. Algumas especificações desafiadoras desse sistema são: tolerância a falhas com zero-downtime deployment, mínima latência possível para múltiplas requisições simultâneas, e controles rígidos de privacidade, em cumprimento com a GDPR Européia e LGPD Brasileira. Técnicas de computa-ção paralela e programação concorrente são aplicadas para executar as tarefas maiscomputacionalmente intensivas, visando alcançar os requisitos de desempenho. A implementação de proxies e algoritmos de criptografia são adotadas para alcançar os requisitos de segurança e privacidade. Diferentes arquiteturas de implantação são analisadas desde a etapa de planejamento, até as etapas de implementação e teste, deforma a avaliar os custos e benefícios de cada uma. Ao final, testes comparativos, ou benchmarkings, são realizados no sistema desenvolvido, já em ambiente de produção, a fim de avaliar possíveis gargalos e o atendimento completo dos requisitos. Os resultados, em conjunto com uma análise crítica do trabalho desenvolvido como um todo, são apresentados nos últimos capítulos deste documento. pt_BR
dc.description.abstract This document details the final project developed by the author during his internship at IBM, in the context of the required DAS5511 discipline of the UFSC automation and control engineering course. The project in question involves the development, testing and documentation of a robust software system, that will serve as a replacement for an existing prototype system. The new system, delivered by the time of publication of this document, is capable of solving the following business problem of the company: holding and overseeing programming competitions with massive numbers of participants on a multinational scale. Some challenging specifications of this system are: fault tolerance with zero downtime deployment, minimum possible latency for concurrent requirements, and strict privacy controls in compliance with the European GDPR and the Brazilian LGPD. Parallel computing and concurrent programming techniques are applied to perform the most computationally intensive tasks, enabling the system to achieve performance requirements. The implementation of proxies and the adoption of encryption algorithms are made to meet security and privacy requirements. Different deployment architectures are analyzed since the planning steps, until the implementation and testing of the system, studying the costs and benefits of each architecture. Lastly, comparative tests, or benchmarks, are performed in the complete system, already in the production environment. Possible bottlenecks are evaluated, as well as if the system completely fulfills all requirements established at the planning phase. The results, together with a critical analysis of the work as a whole, are presented in the last chapters of this document. pt_BR
dc.format.extent 141 f pt_BR
dc.language.iso pt_BR pt_BR
dc.publisher Florianópolis, SC. pt_BR
dc.rights Open Access
dc.subject computação em nuvem pt_BR
dc.subject sistemas distribuídos pt_BR
dc.subject aplicações web pt_BR
dc.subject processamento de linguagem natural pt_BR
dc.title Projeto e desenvolvimento de um sistema de software de alto desempenho para execução de competições de programação com números massivos de usuários pt_BR
dc.type TCCgrad pt_BR


Files in this item

Files Size Format View Description
TCC.pdf 11.72Mb PDF View/Open TCC

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Browse

My Account

Statistics

Compartilhar