Pengelolaan Penggunaan Infrastruktur GPU Untuk Pengguna Berbasis Docker Container Menggunakan JupyterLab

Pepuho, Gloriyano Cristho Daniel (2025) Pengelolaan Penggunaan Infrastruktur GPU Untuk Pengguna Berbasis Docker Container Menggunakan JupyterLab. Other thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of 5025201121-Undergraduate_Thesis.pdf] Text
5025201121-Undergraduate_Thesis.pdf - Accepted Version
Restricted to Repository staff only

Download (15MB) | Request a copy

Abstract

Penggunaan JupyterLab sebagai antarmuka interaktif dalam komputasi ilmiah dan pembelajaran semakin meluas, khususnya dalam lingkungan akademik dan riset. Namun, pada system dengan banyak pengguna dan keterbatasan sumber daya komputasi seperti GPU, diperlukan mekanisme yang mampu mendistribusikan beban kerja secara efisien. Penelitian ini bertujuan untuk membangun sistem pengelolaan infrastruktur GPU yang mendukung multi-user berbasis Docker container menggunakan JupyterLab, JupyterHub, dan Jupyter Enterprise Gateway (JEG). Sistem dilengkapi dengan komponen Service Discovery yang dikembangkan menggunakan Flask, yang bertugas memilih node paling optimal berdasarkan metrik sumber daya terkini, seperti penggunaan CPU, penggunaan RAM, dan GPU, yang dikumpulkan oleh Agent Service dan disimpan di Redis serta PostgreSQL. Pengguna dapat memilih profil komputasi sesuai kebutuhan, dan sistem akan secara otomatis menempatkan kernel ke node yang memiliki load atau beban rendah. Mekanisme ini didukung oleh modifikasi pada DockerSpawner, sehingga proses spawn JupyterLab menjadi dinamis dan sesuai kondisi real-time. Pengujian dilakukan dengan menggunakan Locust untuk mensimulasikan beban pengguna secara paralel. Hasil menunjukkan bahwa sistem mampu menangani 10 hingga 20 pengguna secara simultan. Selain itu, sistem juga mampu menghindari node yang memiliki beban tinggi dan secara adaptif mengalihkan permintaan ke node lain, membuktikan bahwa distribusi beban berjalan efektif.
==================================================================================================================================
The use of JupyterLab as an interactive interface for scientific computing and education is increasingly widespread, particularly in academic and research environments. However, in systems with multiple users and limited computational resources such as GPUs, an efficient workload distribution mechanism is required. This research aims to develop a GPU infrastructure management system that supports multi-user environments based on Docker containers using JupyterLab, JupyterHub, and Jupyter Enterprise Gateway (JEG). The system is equipped with a Service Discovery component built using Flask, which selects the most optimal node based on real-time resource metrics, such as CPU usage, RAM usage, and GPU availability, collected by an Agent Service and stored in Redis and PostgreSQL. Users can select a computing profile according to their needs, and the system will automatically assign the kernel to a node with lower load. This mechanism is supported by modifications to the DockerSpawner, enabling JupyterLab spawning to be dynamic and adaptive to real-time conditions. Testing was conducted using Locust to simulate concurrent user loads. The results show that the system can handle 10 to 20 users simultaneously. Additionally, the system is able to avoid nodes with high workloads and adaptively redirect requests to other nodes, demonstrating that the load distribution mechanism works effectively.

Item Type: Thesis (Other)
Uncontrolled Keywords: Klaster GPU, Docker Container, JupyterLab, Pengelolaan pengguna; GPU Cluster, Docker Container, JupyterLab, User Management
Subjects: T Technology > T Technology (General) > T58.64 Information resources management
Divisions: Faculty of Intelligent Electrical and Informatics Technology (ELECTICS) > Informatics Engineering > 55201-(S1) Undergraduate Thesis
Depositing User: Gloriyano Cristho Daniel Pepuho
Date Deposited: 31 Jul 2025 06:23
Last Modified: 31 Jul 2025 06:23
URI: http://repository.its.ac.id/id/eprint/124301

Actions (login required)

View Item View Item