A Cloud-Native Online Judge System
Journal
Proceedings - 2022 IEEE 46th Annual Computers, Software, and Applications Conference, COMPSAC 2022
ISBN
9781665488105
Date Issued
2022-01-01
Author(s)
Abstract
Online Judge Systems are designed for the reliable evaluation of source code submitted by users. The system queues the code, compiles and tests them typically in a FIFO manner. However, we found that the cloud-native design of an online judge system is still a pending issue. Many existing open-source online judge systems are hard to deploy and scale, due to the tight coupling with some specific environments and the vague boundaries in their system architectures. In addition, these online judge systems hardly provide the support of resource scheduling as they are usually more concerned about the homogeneity of the resources. In this research, we design and develop a cloud-native online judge system that is able to (1) be built and run stably in dynamic environments (2) scale vertically and horizontally to the workload (3) do resource scheduling over CPUs and GPUs. Furthermore, this research also analyzes the consequence of adopting some modernly advocated design approaches and technologies; these are: microservice architecture design, event-driven architecture, domain-driven design, and containerization technologies such as Docker and Kubernetes.
Subjects
Cloud-Native | Distributed System | Domain-Driven Design | Event-Driven Architecture | Kubernetes | Microservice | Online Judge System | Resource Scheduling
Type
conference paper
