帳號:guest(3.145.70.102)          離開系統
字體大小: 字級放大   字級縮小   預設字形  

詳目顯示

以作者查詢圖書館館藏以作者查詢臺灣博碩士論文系統以作者查詢全國書目
作者(中文):高蘅佑
作者(外文):Kao, Heng-Yu
論文名稱(中文):基於無伺服器服務低成本高效率線上測驗派題系統
論文名稱(外文):Design of Low-Cost High-Performance Question Delivering System for Online Quiz Based on Serverless Service
指導教授(中文):黃能富
指導教授(外文):Huang, Nen-Fu
口試委員(中文):曾建維
陳俊良
口試委員(外文):Zeng, Jian-Wei
Chen, Chun-Liang
學位類別:碩士
校院名稱:國立清華大學
系所名稱:資訊工程學系
學號:110062530
出版年(民國):112
畢業學年度:111
語文別:英文
論文頁數:61
中文關鍵詞:後端即服務函式即服務低成本高效能線上學習無伺服器服務派題系統
外文關鍵詞:Backend as a ServiceFunction as a ServiceLow-Cost High-PerormanceOnline learningServerlessQuestion Delivering System
相關次數:
  • 推薦推薦:0
  • 點閱點閱:101
  • 評分評分:*****
  • 下載下載:0
  • 收藏收藏:0
隨著這幾年新冠疫情影響及科技的發展,大大改變了同學的上課學習及練習題組的模式,線上教學及線上練習變得越來越流行。在此趨勢下,部分教育從業者、學府機關與高等學府開始紛紛採用諸如 EDUNext 等線上平台,以供學生進行線上學習與練習活動。

而我們研究團隊也開發一個線上練習的平台,並推出了名為 QSticker 的線上練習平台。然而,該平台之早期版本採用單一虛擬機器架構來執行題目分發任務,隨著我們的觀察,該架構在短時間內需要處理數以萬計的派題工作時,面臨著顯著的時間延遲。儘管我們可以透過擴展機器規格來應對這一問題,然而對應的硬體升級,事實上將會帶來相當可觀的成本負擔。

鑒於上述情況,我們決定對現有的 QSticker 架構進行調整。我們引入了「cloud tasks」技術,以將待派發的題組任務調度至「cloud function」(Function as a Service,FAAS)平台執行。此類按需計費的服務模式,使我們可以更容易控制成本。

我們設計了實驗情境,來驗證我們更改的架構的可行性,分別對新舊兩種架構進行了一萬次派送任務。在舊有架構中,進行一萬次派送任務的總耗時約為 500 秒,且在此過程中 CPU 資源使用率達到 100%。然而,在新架構下,相同數量的派送任務僅需不到 10 秒即可完成,且其 CPU 資源使用率維持在不到 10% 的水平。此結果顯示新架構在處理大量派送任務時具有顯著的效能優勢。

此外,我們也進行了成本方面的比較。我們分別評估了直接升級硬體設備與採用新架構所需的成本。經我們計算,透過採用新架構,我們可以節省超過一半的運行成本,相較於傳統升級硬體的方式。綜合以上實驗結果,我們得出結論:新架構整合了雲端函式與雲端任務,在處理派送任務時呈現出優異的性能表現,且能夠顯著降低運行成本
In recent years, the impact of the COVID-19 pandemic and advancements in technology have brought about significant changes in how students approach their classroom learning and practice exercises. Online teaching and virtual exercises have gained increasing popularity. As a result, certain educators, academic institutions, and higher education establishments have started to embrace online platforms like EDUNext which students can learn and practice online.
We developed an online practice platform, QSticker. The initial version of this platform used a single virtual machine architecture to handle the distributing exercises task which caused significant time delays when distributing tens of thousands of exercises in a short period. Although we could handle this issue by scaling up the machine specifications, the corresponding hardware upgrade would also raise
a considerable cost.
Because of the problems we mentioned earlier, we have chosen to make adjustments to the existing QSticker architecture. We have incorporated ”cloud tasks” technology to schedule the distribution of pending question tasks to the ”cloud function” (Function as a Service, FAAS) for execution. This kind of on-demand billing service model enables us to manage costs more effectively.
We devised an experimental scenario to validate the feasibility of our modified architecture by conducting ten thousand task dispatches for both the new and previous setups. In the existing architecture, the total time taken for ten thousand task dispatches was approximately 500 seconds, with the CPU resource usage reaching 100 %. However, in the new architecture, the same number of task dispatches could be completed in less than 10 seconds, and the CPU resource usage remained below 10 %. This outcome clearly demonstrates the significant performance advantage of the new architecture in handling a large number of task dispatches.
Furthermore, we conducted a cost comparison. We evaluated the costs associated with direct hardware upgrades versus adopting the new architecture. Our calculations demonstrated that by adopting the new architecture, we could save over half of the operational costs compared to the traditional hardware upgrade approach. Taking into consideration the results of these experiments, we can conclude that the new architecture, integrating cloud functions and cloud tasks, exhibits excellent performance in task dispatching and offers substantial cost reduction benefits.
摘要 i
Abstract ii
Acknowledgements iii
1 Introduction 1
2 Background and Related Works---------------------------------------3
2.1 Serverless Service-----------------------------------------------3
2.1.1 Function as a Service (FaaS)-----------------------------------6
2.1.2 Backend as a Service (BaaS)------------------------------------7
2.1.3 Serverless Services of GCP-------------------------------------8
2.2.3.1 Cloud Functions----------------------------------------------8
2.2.3.2 Cloud Runs---------------------------------------------------8
2.2 Other GCP Services-----------------------------------------------9
2.2.1 Cloud Engine---------------------------------------------------9
2.2.2 Cloud Storage-------------------------------------------------10
2.2.3 Cloud Tasks---------------------------------------------------10
2.3 About MongoDB---------------------------------------------------11
2.3.1 Document Database---------------------------------------------11
2.4 QSticker--------------------------------------------------------12
2.4.1 QSticker Introduction-----------------------------------------12
2.4.2 Legacy System Architecture of QSticker------------------------15
2.4.3 Legacy Architecture of Scheduler------------------------------16
2.4.4 Legacy QSticker Disadvantages---------------------------------17
3 System Implementation---------------------------------------------19
3.1 Data schema-----------------------------------------------------19
3.1.1 User schema---------------------------------------------------20
3.1.2 Question set schema-------------------------------------------20
3.1.3 Member group schema-------------------------------------------23
3.1.4 Quiz event schema---------------------------------------------23
3.1.5 Schedule data schema------------------------------------------25
3.1.6 ScheduleDataCollection schema---------------------------------27
3.1.7 Answer group schema-------------------------------------------29
3.2 New QSticker architectrue---------------------------------------30
3.2.1 Process of sending questions to students----------------------31
3.2.2 The process of canceling the delivery question set planning---39
4 Experiment and Results--------------------------------------------41
4.1 Comparative Analysis of the New and Previous Qsticker Architectures-------------------------------------------------------42
4.1.1 Performance test for setting up the configuration of question set-----------------------------------------------------------------42
4.1.2 Stress testing for the function of submitting answer group----45
4.1.3 Performance test for delivering question sets-----------------45
4.2 Performance test and cost estimation in various parameters------48
4.2.1 Task execution time test for the new question set delivery system--------------------------------------------------------------48
4.2.2 Performance test by using different numbers of Cloud Function instances-----------------------------------------------------------51
4.2.3 Performance test of different Cloud Function instance specifications------------------------------------------------------51
5. Conclusion and Future Work---------------------------------------56
5.1 Conclusion------------------------------------------------------56
5.2 Futrue Work-----------------------------------------------------57
References----------------------------------------------------------58
[1] T. N. Fitria, “Teaching english through online learning system during covid-19 pandemic,”Pedagogy: Journal of English Language Teaching, vol. 8, no. 2, pp. 138–148, 2020.
2020.
[2] S. Fauvel, H. Yu, C. Miao, L. Cui, H. Song, L. Zhang, X. Li, and C. Leung, “Artificial
intelligence powered moocs: a brief survey,” in 2018 IEEE international conference on
agents (ICA), pp. 56–61, IEEE, 2018.
[3] N. Purkayastha and M. K. Sinha, “Unstoppable study with moocs during covid 19 pan-
demic: a study,” Library Philosophy and Practice, vol. 4791, 2021.
[4] EDUNEXT, “https://edunexttechnologies.com/online-assignment.php,”
[5] nani-one paper, “https://onepaper.oneclass.com.tw/,”
[6] QStickerWeb, “https://qsticker.github.io/,”
[7] chenLi education group, “https://www.chenliedu.com/,”
[8] line, “https://line.me/zh-hant/,”
[9] QSticker-app, “https://apkcombo.com/tw/qsticker/com.qsticker/,”
[10] QSticker-appios, “https://apps.apple.com/us/app/qsticker/id1628481412,”
[11] T. Lynn, P. Rosati, A. Lejeune, and V. Emeakaroha, “A preliminary review of enter-
prise serverless cloud computing (function-as-a-service) platforms,” in 2017 IEEE Inter-
national Conference on Cloud Computing Technology and Science (CloudCom), pp. 162–
169, IEEE, 2017.
[12] GCP, “https://cloud.google.com/,”
[13] Cloud-Tasks, “https://cloud.google.com/tasks,”
[14] Cloud-Functions, “https://cloud.google.com/functions,”
[15] Cloud-Runs, “https://cloud.google.com/run,”
[16] P. Castro, V. Ishakian, V. Muthusamy, and A. Slominski, “The rise of serverless comput-
ing,” Communications of the ACM, vol. 62, no. 12, pp. 44–54, 2019.
[17] C. Kilcioglu, J. M. Rao, A. Kannan, and R. P. McAfee, “Usage patterns and the economics
of the public cloud,” in Proceedings of the 26th International Conference on World Wide
Web, pp. 83–91, 2017.
[18] Azure-Functions, “https://azure.microsoft.com/zh-tw/products/functions,”
[19] Azure-Apps-Service, “https://azure.microsoft.com/zh-tw/products/app-service/mobile,”
[20] Aws-lambda, “https://aws.amazon.com/tw/lambda/,”
[21] Aws-ECS, “https://aws.amazon.com/tw/ecs/,”
[22] S. Eismann, D. E. Costa, L. Liao, C.-P. Bezemer, W. Shang, A. van Hoorn, and S. Kounev,
“A case study on the stability of performance tests for serverless applications,” Journal of
Systems and Software, vol. 189, p. 111294, 2022.
[23] A. Kumari, R. K. Behera, B. Sahoo, and S. Misra, “Role of serverless computing in health-
care systems: Case studies,” in Computational Science and Its Applications–ICCSA 2022
Workshops: Malaga, Spain, July 4–7, 2022, Proceedings, Part IV, pp. 123–134, Springer,
2022.
[24] H. Wang, D. Niu, and B. Li, “Distributed machine learning with a serverless architecture,”
in IEEE INFOCOM 2019-IEEE Conference on Computer Communications, pp. 1288–
1296, IEEE, 2019.
[25] V. Ishakian, V. Muthusamy, and A. Slominski, “Serving deep learning models in a server-
less platform,” in 2018 IEEE International Conference on Cloud Engineering (IC2E),
pp. 257–262, IEEE, 2018.
[26] C. Zhang, M. Yu, W. Wang, and F. Yan, “Enabling cost-effective, slo-aware machine
learning inference serving on public cloud,” IEEE Transactions on Cloud Computing,
vol. 10, no. 3, pp. 1765–1779, 2020.
[27] A. Ali, R. Pinciroli, F. Yan, and E. Smirni, “Batch: Machine learning inference serving on
serverless platforms with adaptive batching,” in SC20: International Conference for High
Performance Computing, Networking, Storage and Analysis, pp. 1–15, IEEE, 2020.
[28] S. Eismann, J. Scheuner, E. Van Eyk, M. Schwinger, J. Grohmann, N. Herbst, C. L. Abad,
and A. Iosup, “Serverless applications: Why, when, and how?,” IEEE Software, vol. 38,
no. 1, pp. 32–39, 2020.
[29] E. Van Eyk, A. Iosup, S. Seif, and M. Thömmes, “The spec cloud group’s research vision
on faas and serverless architectures,” in Proceedings of the 2nd international workshop
on serverless computing, pp. 1–4, 2017.
[30] S. Zhang, X. Luo, and E. Litvinov, “Serverless computing for cloud-based power grid
emergency generation dispatch,” International Journal of Electrical Power & Energy Sys-
tems, vol. 124, p. 106366, 2021.
[31] I. Baldini, P. Castro, K. Chang, P. Cheng, S. Fink, V. Ishakian, N. Mitchell,
V. Muthusamy, R. Rabbah, A. Slominski, et al., “Serverless computing: Current trends
and open problems,” Research advances in cloud computing, pp. 1–20, 2017.
[32] E. Van Eyk, L. Toader, S. Talluri, A. Versluis, Laurens, and A. Iosup, “Serverless is more:
From paas to present cloud computing,” IEEE Internet Computing, vol. 22, no. 5, pp. 8–
17, 2018.
[33] J. Margulies, “Securing cloud-based applications, part 1,” IEEE Security & Privacy,
vol. 13, no. 5, pp. 96–98, 2015.
[34] R. P. Mathur, “A survey on server less computing approach,” Journal of Emerging Tech-
nologies and Innovative Research, vol. 5, pp. 823–827, 2018.
[35] D. Taibi, J. Spillner, and K. Wawruch, “Serverless computing-where are we now, and
where are we heading?,” IEEE software, vol. 38, no. 1, pp. 25–31, 2020.
[36] cloud storage, “https://cloud.google.com/storage,”
[37] cloud-storage trigger, “https://cloud.google.com/functions/docs/calling/storage,”
[38] G. C. F. Trigger, “https://cloud.google.com/functions/docs/calling/cloud-firestore,”
[39] Cloud-Events, “https://cloudevents.io/,”
[40] Cloud-Build, “https://cloud.google.com/build?,”
[41] Cloud-Engine, “https://cloud.google.com/compute,”
[42] Cloud-Engine-Docs, “https://cloud.google.com/compute/docs,”
[43] MongoDB, “https://www.mongodb.com/,”
[44] H.-H. Huang, N.-F. Huang, J.-W. Tzeng, X.-M. Dong, H.-Y. Kao, and T.-W. Lin, “Knowl-
edge map automatic update system using graph convolutional network,” in 2023 IEEE
International Conference on Big Data and Smart Computing (BigComp), pp. 332–333,
IEEE, 2023.
[45] Y.-X. Huang, N.-F. Huang, J.-W. Tzeng, J. Liang, C.-W. Su, and Y.-T. Li, “Proficiency
prediction system for online learning based on recurrent neural networks,” in 2022 9th
International Conference on Soft Computing & Machine Intelligence (ISCMI), pp. 74–78,
IEEE, 2022.
[46] AI-TUTOR, “https://hsnlaitutor.kuromaree.com:33564/,”
[47] N.-F. Huang, C.-C. Chen, J.-W. Tzeng, T.-T. Fang, and C.-A. Lee, “Concept assessment
system integrated with a knowledge map using deep learning,” in 2018 Learning With
MOOCS (LWMOOCS), pp. 113–116, IEEE, 2018.
[48] firebase, “https://firebase.google.com/,”
[49] Jmeter, “https://jmeter.apache.org/,”
[50] VPC, “https://cloud.google.com/vpc/docs/overview,”
[51] mongo DB-Altas, “https://www.mongodb.com/atlas/database,
(此全文20260829後開放外部瀏覽)
電子全文
摘要
 
 
 
 
第一頁 上一頁 下一頁 最後一頁 top
* *