IMPLEMENTASI MEKANISME QUEUE DAN WORKER UNTUK OPTIMASI UTILISASI GPU DALAM PEMROSESAN LAYANAN AI PADA BACKEND
DOI:
https://doi.org/10.70248/jcsit.v3i4.4439Abstract
Pengembangan layanan Kecerdasan Buatan (AI) berbasis Large Language Models (LLM) telah meningkatkan kebutuhan akan sistem backend yang mampu menangani proses inferensi secara efisien. Proses inferensi yang berjalan pada Graphics Processing Units (GPU) membutuhkan komputasi yang intensif, yang berpotensi menyebabkan hambatan (bottleneck) dan penggunaan GPU yang tidak optimal. Penelitian ini bertujuan untuk mengimplementasikan mekanisme queue dan worker pada backend layanan AI berbasis GPU, menganalisis dampak variasi jumlah worker terhadap kinerja sistem dan penggunaan GPU, serta menentukan konfigurasi worker yang paling optimal. Sistem ini dikembangkan menggunakan bahasa pemrograman Go dengan arsitektur berlapis, Redis sebagai message queue, Asynq sebagai pengelola queue dan worker, serta vLLM sebagai layanan inferensi AI berbasis GPU. Pengujian dilakukan menggunakan K6 dengan beban 50 virtual users selama 60 detik pada konfigurasi dengan 1, 2, 4, 8, dan 16 worker. Parameter yang dianalisis meliputi waktu respons (response time), throughput, tingkat kesalahan (error rate), penggunaan GPU (GPU utilization), dan waktu GPU menganggur (GPU idle time). Hasil penelitian menunjukkan bahwa peningkatan jumlah worker meningkatkan throughput dari 26,60 menjadi 142,91 requests/s, mengurangi waktu respons dari 1.904 menjadi 343,54 ms, dan meningkatkan penggunaan GPU dari 80,21% menjadi 100%. Semua konfigurasi menghasilkan error rate sebesar 0%, sementara waktu GPU menganggur menurun dari 18,3% menjadi 0%. Berdasarkan seluruh parameter pengujian, konfigurasi 8 worker memberikan keseimbangan terbaik antara kecepatan respons, kapasitas pemrosesan, dan efisiensi penggunaan GPU, sehingga menjadikannya konfigurasi paling optimal dalam lingkungan pengujian penelitian ini.
References
Bommasani, R., Hudson, D. A., Adeli, E., Altman, R., Arora, S., von Arx, S., Bernstein, M. S., Bohg, J., Bosselut, A., Brunskill, E., Brynjolfsson, E., Buch, S., Card, D., Castellon, R., Chatterji, N., Chen, A., Creel, K., Davis, J. Q., Demszky, D., … Liang, P. (2022). On the Opportunities and Risks of Foundation Models. http://arxiv.org/abs/2108.07258
Dean, J., & Barroso, L. A. (2013). The tail at scale. Communications of the ACM, 56(2), 74–80. https://doi.org/10.1145/2408776.2408794
Hong, S., & Kim, H. (2009). An Analytical Model for a GPU Architecture with Memory-level and Thread-level Parallelism Awareness (Vol. 37). ACM SIGARCH Computer Architecture News. https://doi.org/10.1145/1555815.1555775
Kwon, W., Li, Z., Zhuang, S., Sheng, Y., Zheng, L., Yu, C. H., Gonzalez, J., Zhang, H., & Stoica, I. (2023). Efficient Memory Management for Large Language Model Serving with PagedAttention. SOSP 2023 - Proceedings of the 29th ACM Symposium on Operating Systems Principles, 611–626. https://doi.org/10.1145/3600006.3613165
Maharjan, R., Chy, M. S. H., Arju, M. A., & Cerny, T. (2023). Benchmarking Message Queues. Telecom, 4(2), 298–312. https://doi.org/10.3390/telecom4020018
Mittal, S., & Vetter, J. S. (2015). A survey of CPU-GPU heterogeneous computing techniques. ACM Computing Surveys, 47(4). https://doi.org/10.1145/2788396
Owens, J. D., Houston, M., Luebke, D., Green, S., Stone, J. E., & Phillips, J. C. (2008). GPU computing. Proceedings of the IEEE, 96(5), 879–899. https://doi.org/10.1109/JPROC.2008.917757
Topalidi, A. (n.d.). Asynchronous processes and message queues in Ruby applications: efficiency analysis of Sidekiq and RabbitMQ. International Journal on Science and Technology. Retrieved www.ijsat.org•
Vaswani, A., Brain, G., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., & Polosukhin, I. (2023). Attention Is All You Need.
















