Tucano: A Service Scheduler and Load Balancer in a Distributed System
Resumo
As applications grow in complexity, their workloads grow heavier and more resource demanding. To address this challenge, a system of network-connected servers can be employed to distribute the processes from such applications, reducing performance loss caused by unequal resource sharing. This work introduces Tucano: a scheduler that leverages operating systems’ techniques to manage workloads in a distributed, container-oriented context. Additionally, Tucano implements a load balancer, that ensures the correct mapping of requests to their corresponding host servers. Through physical distribution and containerization, Tucano aims to explore an efficient and scalable strategy for managing multiple workloads.Referências
Anand, A., Chaudhary, A., and Arvindhan, M. (2021). The need for virtualization: when and why virtualization took over physical servers. In Advances in Communication and Computational Technology: Select Proceedings of ICACCT 2019, pages 1351–1359. Springer.
Armstrong, J. (2003). Making Reliable Distributed Systems in the Presence of Software Errors. PhD thesis, Royal Institute of Technology, Stockholm, Sweden. Final version with corrections — last update 20 November 2003.
Bermejo, B. and Juiz, C. (2020). Virtual machine consolidation: a systematic review of its overhead influencing factors. The Journal of Supercomputing, 76(1):324–361.
Bernstein, D. (2014). Containers and cloud: From lxc to docker to kubernetes. IEEE Cloud Computing, 1(3):81–84.
Burns, B., Grant, B., Oppenheimer, D., Brewer, E., and Wilkes, J. (2016). Borg, omega, and kubernetes. ACM Queue, 14:70–93.
Kovvur, R. M. R., Ramachandram, S., Kadappa, V., and Govardhan, A. (2013). A distributed dynamic grid scheduler for mixed tasks. In 2013 3rd IEEE International Advance Computing Conference (IACC), pages 110–115.
Merkel, D. et al. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux j, 239(2):2.
Mirhosseini, A., Sriraman, A., and Wenisch, T. F. (2019). Enhancing server efficiency in the face of killer microseconds. In 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), pages 185–198. IEEE.
Morabito, R. et al. (2017). Evaluating performance of containerized microservices for iot applications. IEEE Transactions on Services Computing, 10(5):1–14.
Shirinbab, S., Lundberg, L., and Casalicchio, E. (2017). Performance evaluation of container and virtual machine running cassandra workload. In 2017 3rd International Conference of Cloud Computing Technologies and Applications (CloudTech), pages 1–8. IEEE.
Speitkamp, B. and Bichler, M. (2010). A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Transactions on Services Computing, 3(4):266–278.
Watada, J., Roy, A., Kadikar, R., Pham, H., and Xu, B. (2019). Emerging trends, techniques and open issues of containerization: A review. IEEE Access, 7:152443–152472.
Armstrong, J. (2003). Making Reliable Distributed Systems in the Presence of Software Errors. PhD thesis, Royal Institute of Technology, Stockholm, Sweden. Final version with corrections — last update 20 November 2003.
Bermejo, B. and Juiz, C. (2020). Virtual machine consolidation: a systematic review of its overhead influencing factors. The Journal of Supercomputing, 76(1):324–361.
Bernstein, D. (2014). Containers and cloud: From lxc to docker to kubernetes. IEEE Cloud Computing, 1(3):81–84.
Burns, B., Grant, B., Oppenheimer, D., Brewer, E., and Wilkes, J. (2016). Borg, omega, and kubernetes. ACM Queue, 14:70–93.
Kovvur, R. M. R., Ramachandram, S., Kadappa, V., and Govardhan, A. (2013). A distributed dynamic grid scheduler for mixed tasks. In 2013 3rd IEEE International Advance Computing Conference (IACC), pages 110–115.
Merkel, D. et al. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux j, 239(2):2.
Mirhosseini, A., Sriraman, A., and Wenisch, T. F. (2019). Enhancing server efficiency in the face of killer microseconds. In 2019 IEEE International Symposium on High Performance Computer Architecture (HPCA), pages 185–198. IEEE.
Morabito, R. et al. (2017). Evaluating performance of containerized microservices for iot applications. IEEE Transactions on Services Computing, 10(5):1–14.
Shirinbab, S., Lundberg, L., and Casalicchio, E. (2017). Performance evaluation of container and virtual machine running cassandra workload. In 2017 3rd International Conference of Cloud Computing Technologies and Applications (CloudTech), pages 1–8. IEEE.
Speitkamp, B. and Bichler, M. (2010). A mathematical programming approach for server consolidation problems in virtualized data centers. IEEE Transactions on Services Computing, 3(4):266–278.
Watada, J., Roy, A., Kadikar, R., Pham, H., and Xu, B. (2019). Emerging trends, techniques and open issues of containerization: A review. IEEE Access, 7:152443–152472.
Publicado
23/10/2024
Como Citar
GONÇALVES, Luiz F.; PASCHOALINI, Eduardo L.; AGUIAR, Gustavo D.; ROUSSEFF, Yuri; SOUZA, Matheus A.; RAMOS, Pedro H.; SPERANDIO, Ricardo C.; CUNHA, Felipe D..
Tucano: A Service Scheduler and Load Balancer in a Distributed System. In: WORKSHOP DE INICIAÇÃO CIENTÍFICA - SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 25. , 2024, São Carlos/SP.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2024
.
p. 105-112.
DOI: https://doi.org/10.5753/sscad_estendido.2024.244073.