Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn tài nguyên trong điện toán đám mây

46 27 0
Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn tài nguyên trong điện toán đám mây

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRẦN HỮU CƯỜNG TRẦN HỮU CƯỜNG HỆ THỐNG THƠNG TIN NGHIÊN CỨU THUẬT TỐN DỰ ĐỐN ÁP DỤNG CHO VẤN ĐỀ TỰ ĐỘNG CO GIÃN TÀI NGUYÊN TRONG ĐIỆN TOÁN ĐÁM MÂY LUẬN VĂN THẠC SĨ KHOA HỌC Hệ thống thông tin 2017A Hà Nội – Năm 2019 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRẦN HỮU CƯỜNG NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN ÁP DỤNG CHO VẤN ĐỀ TỰ ĐỘNG CO GIÃN TÀI NGUYÊN TRONG ĐIỆN TOÁN ĐÁM MÂY Chuyên ngành : Hệ thống thông tin LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Bình Minh Hà Nội – Năm 2019 Lời cảm ơn Tôi xin gửi lời cảm ơn chân thành đến thầy cô giáo thuộc Trường đại học Bách Khoa Hà Nội, đặc biệt thầy cô giáo thuộc Viện công nghệ thông tin truyền thơng chia sẻ kiến thức kinh nghiệm cho năm đại học cao học Tôi xin gửi lời cảm ơn đặc biệt đến TS Nguyễn Bình Minh, bạn sinh viên Trương Bình Khang, Nguyễn Minh Phú bạn Trung tâm Cơng nghệ liệu Tính tốn trực thuộc trường đại học Bách Khoa Hà Nội Thầy bạn nghiên cứu giúp tơi hồn thành luận văn Cuối cùng, xin gửi lời cảm ơn đến gia đình, nơi ln chỗ dựa cho Lời cam đoan Tôi - Trần Hữu Cường - cam kết luận văn nghiên cứu tơi hướng dẫn TS Nguyễn Bình Minh Các kết luận văn trung thực khơng chép cơng trình cơng bố khác Tất trích dẫn tham chiếu rõ ràng Hà Nội, ngày 25 tháng 03 năm 2019 Học viên Trần Hữu Cường Xác nhận người hướng dẫn Tóm tắt Với dịch chuyển số, doanh nghiệp cần hạ tầng công nghệ thông tin, vấn đề quan trọng tối ưu tài nguyên sử dụng Trong năm gần đây, với phát triển cơng nghệ điện tốn đám mây, cơng nghệ container, việc tối ưu tài nguyên thực dễ dàng cách tự động co giãn tài nguyên Xuất phát từ thực tế đó, tác giả chọn đề tài: Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn tài nguyên điện toán đám mây Hiện tại, số nhà cung cấp dịch vụ điện toán đám mây lớn (AWS, GCP) cung cấp tính tự động co giãn tài nguyên cách sử dụng ngưỡng (threshold) Nhưng chưa có tính tự động co giãn tài nguyên cách sử dụng thuật tốn dự đốn Đồng thời cơng nghệ Container, Kubernetes công nghệ mới, xu hướng cơng nghệ thời gian gần đây, có nhiều ứng dụng thực tế Luận văn muốn giải vấn đề cách đề xuất thuật toán dự đoán, áp dụng cho vấn đề co giãn tài nguyên điện toán đám mây Luận văn giải vấn đề: ❼ Đề xuất thuật toán dự đoán SA-ANFIS áp dụng cho vấn đề co giãn tài nguyên điện toán đám mây ❼ Thử nghiệm hệ thống co giãn tảng Containers Cluster (Kuber- netes) Nội dung luận văn chia làm chương cụ thể sau: Chương 1: Giới thiệu toán co giãn tài nguyên điện toán đám mây 1.1 Vấn đề sử dụng tài nguyên doanh nghiệp điện toán đám mây 1.2 Phát biểu toán Chương 2: Các nghiên cứu công nghệ liên quan 2.1 Mạng thích nghi dựa hệ suy diễn mờ (ANFIS) 2.2 Thuật tốn mơ luyện kim (Simulated Annealing) 2.3 Công nghệ Container Kubernetes 2.3.1 Công nghệ Container 2.3.2 Cơng nghệ Kubernetes Chương 3: Đề xuất mơ hình SA-ANFIS vào toán co giãn tài nguyên 3.1 Kiến trúc hệ thống 3.2 Resource Collector 3.2.1 Dataset Collector 3.2.2 Realtime Collector 3.3 Forecaster 3.3.1 Giai đoạn học 3.3.2 Giai đoạn dự đoán 3.4 Scaling Maker Chương 4: Thử nghiệm đánh giá 4.1 Thử nghiệm 4.2 Kết đánh giá 4.3 Ứng dụng Chương 5: Kết luận Abstract With Digital Transformation, businesses need IT infrastructure, and one of the key issues is optimizing resource usage In recent years, with the development of Cloud Computing and Container technology, resource optimization can be make easier by automatically scaling resources From the fact, the author chooses the topic: Predictive Algorithms applied to automatic resources elasticity in Cloud Computing Currently, the large cloud computing service providers (AWS, GCP) have provied automatic reosurce scaling by using thresholds But there is no automatic scaling feature using predictive algorithms At the same time, the technlogy of Container, Kubernetes are new technologies which are the technology trend, there are many practical applications Thesis wants to solve the problems by proposing a predictive algorithm, and applied to the problem of resource elasticity in cloud computing The thesis resolves issues: ❼ Proposing the prediction algorithm SA-ANFIS applied to resource elastic- ity in cloud computing ❼ Testing the scaling system on the Containers Cluster (Kubernetes) plat- form Contents of the thesis is divided into chapters as follows: Chapter 1: Introducing resource elasticity problem in cloud computing 1.1 Problems of using resources of enterprises and cloud computing 1.2 State the problem Chapter 2: Research and related technology 2.1 Adaptive network based on fuzzy rendition (ANFIS) 2.2 Metallurgical simulation algorithm (Simulated Annealing) 2.3 Technology of Containers and Kubernetes 2.3.1 Container Technology 2.3.2 Kubernetes Technology Chapter 3: Proposing the SA-ANFIS model into resource elasticity problem 3.1 System architecture 3.2 Resource Collector 3.2.1 Dataset Collector 3.2.2 Realtime Collector 3.3 Forecaster 3.3.1 Learning phase 3.3.2 Prediction phase 3.4 Scaling Maker Chapter 4: Experiment and evaluation 4.1 Experiment 4.2 Result Evaluation 4.3 Application Chapter 5: Conclusion Mục lục Lời cảm ơn Lời cam đoan Tóm tắt Abstract Danh sách thuật ngữ 11 Danh sách hình vẽ 12 Danh sách bảng 13 Giới thiệu toán co giãn tài nguyên điện toán đám mây 1.1 1.2 14 Vấn đề sử dụng tài nguyên doanh nghiệp điện toán đám mây 14 Phát biểu toán 15 Các nghiên cứu công nghệ liên quan 16 2.1 Mạng thích nghi dựa hệ suy diễn mờ (ANFIS) 16 2.2 Thuật tốn mơ luyện kim (Simulated Annealing) 18 2.3 Công nghệ Container Kubernetes 21 2.3.1 Công nghệ Container 21 2.3.2 Công nghệ Kubernetes 22 Đề xuất mơ hình SA-ANFIS vào tốn co giãn tài nguyên 25 3.1 Kiến trúc hệ thống 25 3.2 Resource Collector 26 3.2.1 Dataset Collector 27 3.2.2 Realtime Collector 27 Forecaster 28 3.3.1 Giai đoạn học 28 3.3.2 Giai đoạn dự đoán 30 Scaling Maker 30 3.3 3.4 Thử nghiệm đánh giá 4.1 4.2 4.3 32 Thử nghiệm 32 4.1.1 Tập liệu thử nghiệm 32 4.1.2 Các thuật toán tham gia thử nghiệm 33 4.1.3 Độ đo 33 4.1.4 Kịch thử nghiệm 33 Kết đánh giá 34 4.2.1 So sánh tốc độ hội tụ 34 4.2.2 So sánh độ xác 34 4.2.3 So sánh với thuật toán khác 36 Ứng dụng 37 Kết luận 38 Tài liệu tham khảo 39 Phụ lục 40 Thuật toán Scaling Maker Input: ❼ Rcurrent : Current Resource ❼ Upredicted : Predicted Resource Usage ❼ C: Capacity ❼ Mup : Max Scale Up ❼ Mdown : Max Scale Down Output: ❼ Sactual : Actual Scale from Decision Maker 1: procedure scaleMaker (Rcurrent , Upredicted , C, Mup = 2, Mdown = 1) Upredicted C 2: Restimate ← 3: Sestimate ← Restimate − Rcurrent 4: if Sestimate >= then 5: 6: 7: 8: Sactual ← min{Sestimate , Mup } else Sactual ← max{|Sestimate |, Mdown } scaleCall(Sactual ) Ví dụ: Đầu vào: ❼ VM Capacity: CPU, 3.75 GB RAM ❼ current_resource = VM ❼ future_resource_usage = 2.5 CPU Đầu ra: → estimate_future_resource = VM → Decision: scale up: VM 31 Chương Thử nghiệm đánh giá 4.1 4.1.1 Thử nghiệm Tập liệu thử nghiệm Tên tập liệu google_trace_time_series Kích thước liệu (đơn vị) 4176 Tỉ lệ sử dụng phase train 80% Window size 20 Thuộc tính sử dụng meanCPUUsage Bảng (4.1) Tập liệu thử nghiệm Tập liệu sử dụng tập Google Cluster Workload Traces1 Đây liệu từ 12.5k servers thu thập vào tháng 5, năm 2011 Thuộc tính sử dụng thời gian sử dụng CPU trung bình (meanCPUUsage) Dữ liệu Google Cluster Workload Traces tiền xử lí gộp lại theo thời gian τ với τ = 10 phút Sau xử lí, thu liệu time series có 4176 điểm https://github.com/google/cluster-data 32 4.1.2 Các thuật tốn tham gia thử nghiệm Tên thuật tốn Mơ tả ANFIS Thuật toán ANFIS gốc SA-ANFIS Các phiên cải tiến thuật toán ANFIS ARIMA Thuật toán thống kê dùng xử lí liệu time-series LSTM Thuật tốn deep learning dùng xử lí liệu time-series Bảng (4.2) 4.1.3 Các thuật toán tham gia thử nghiệm Độ đo Chúng sử dụng độ đo MSE để đánh giá mức độ lỗi thuật toán M SE = n 4.1.4 n (Yi − Yˆi )2 i=1 Kịch thử nghiệm Dữ liệu chia thành tập train/test với tỉ lệ 80/20 Chúng tiến hành chạy với nhiều vòng lặp, theo dõi tốc độ hội tụ thuật toán, với tham số khác Các tham số thuật toán ANFIS: ❼ epoch: số lần lặp ❼ rule_number: số luật mờ ❼ learning_rate: tốc độ học (mặc định 0.01) Các thuật toán cài đặt cách sử dụng thư viện Keras, TensorFlow Được chạy thử nghiệm máy tính có cấu hình CPU Core i7, RAM 16 GB 33 4.2 4.2.1 Kết đánh giá So sánh tốc độ hội tụ Tiêu chí đánh giá: M SE(predict(x_train), y _train) Hình (4.1) 4.2.2 So sánh tốc độ hội SA-ANFIS ANFIS gốc So sánh độ xác Tiêu chí đánh giá: M SE(predict(x_test), y _test) 34 Rule Number ANFIS Gốc SA1-ANFIS SA2-ANFIS SA3-ANFIS 0.2563 0.2532 0.2543 0.2554 10 0.2551 0.2511 0.2515 0.2526 15 0.2499 0.2495 0.2492 0.2498 20 0.2493 NA 0.2483 0.2495 Bảng (4.3) So sánh độ xác SA-ANFIS ANFIS gốc Nhận xét: Trong hầu hết lần thử, thuật toán SA-ANFIS cho kết tốt ANFIS gốc Trong đó, SA1 SA2 cho kết tốt hẳn Khi số lượng luật tăng lên, độ xác thuật tốn gần sát Thuật toán SA2-ANFIS cho kết tốt độ xác, chạy thời gian chấp nhận Thuật toán SA1-ANFIS chạy tốn nhiều thời gian, nên số lượng luật tăng lên, SA1-ANFIS không cho kết thời gian Hình (4.2) Biểu đồ kết dự đoán dùng SA2-ANFIS với rule_number=20 35 4.2.3 So sánh với thuật toán khác Tiêu chí đánh giá: M SE(predict(x_test), y _test) So sánh với thuật toán: LSTM với tham số: ❼ Số lượng node LSTM: ❼ Số lượng epoch: 100 ❼ Tỉ lệ tập validate: 12.5% ❼ Hàm lỗi: mean squared error Phương pháp tối ưu: Adam ARIMA với tham số: ❼ Độ trễ p: ❼ Độ khác biệt d: ❼ Trung bình động q: Kết Bảng (4.4) epoch SA2-ANFIS ARIMA LSTM Best Case 0.2483 0.2987 0.2613 Average 0.2541 0.2987 0.2897 So sánh độ xác SA2-ANFIS ARIMA, LSTM Nhận xét: Qua thử nghiệm, thuật tốn SA-ANFIS cho kết có cải thiện so với ANFIS gốc số thuật toán khác ARIMA, LSTM Đặc biệt phiên SA2-ANFIS, áp dụng SA vào tham số kết luận cho kết tốt thời gian chấp nhận 36 4.3 Ứng dụng Dựa kiến trúc đề cập chương 3, xây dựng hệ thống tự động co giãn điện toán đám mây Một số điểm cần lưu ý: Việc sử dụng Kubernetes giúp triển khai phần mềm nhanh hơn, co giãn linh hoạt Hiện tại, chi phí sử dụng tính vào số lượng servers cụm Kubernetes Nếu muốn tối ưu chi phí, cần kết hợp việc co giãn phần mềm cụm Kubernetes, co giãn số lượng servers cụm Kubernetes (sử dụng API nhà cung cấp dịch vụ điện toán đám mây) 37 Chương Kết luận Ở luận văn này, chúng tơi đề xuất thuật tốn kiến trúc cho toán co giãn tài nguyên điện toán đám mây, qua thử nghiệm cho kết khả quan Thuật tốn SA-ANFIS có cải thiện độ xác so với ANFIS gốc Có tiềm để áp dụng vào kiểu liệu time-series khác Tuy nhiên, để thuật tốn hoạt động thực tế (trong mơi trường doanh nghiệp) cịn phụ thuộc vào nhiều yếu tố khác, khơng độ xác Việc sử dụng Kubernetes để quản lí container cluster mang lại nhiều lợi ích, từ việc dễ dàng triển khai, quản lí, đến việc tối ưu hoá tài nguyên sử dụng Đây hướng mở để tác giả phát triển tiếp, áp dụng vào công việc doanh nghiệp 38 Tài liệu tham khảo [1] Boyacioglu, M., Avci, D.: An adaptive network-based fuzzy inference system (anfis) for the prediction of stock market return: The case of the istanbul stock exchange Expert Systems with Applications 37, 7908–7912 (12 2010) [2] Jang, J.S.: Anfis adaptive-network-based fuzzy inference system Systems, Man and Cybernetics, IEEE Transactions on 23, 665 – 685 (06 1993) [3] Kirkpatrick, S., D Jr Gelatt, C., P Jr Vecchi, M.: Optimization by simulated annealing Science (New York, N.Y.) 220, 671–80 (06 1983) [4] Lei, Y., He, Z., Zi, Y., Hu, Q.: Fault diagnosis of rotating machinery based on multiple anfis combination with gas Mechanical Systems and Signal Processing 21, 2280–2294 (07 2007) [5] Marz, N.: Big data: principles and best practices of scalable realtime data systems O’Reilly Media, [S.l.] (2013), http://www.amazon.de/ Big-Data-Principles-Practices-Scalable/dp/1617290343 [6] Mell, P., Grance, T.: The nist definition of cloud computing Tech Rep 800145, National Institute of Standards and Technology (NIST), Gaithersburg, MD (September 2011), http://csrc.nist.gov/publications/nistpubs/ 800-145/SP800-145.pdf 39 Phụ lục A Chi tiết kết Origin-ANFIS Hình (A.1) Kết dự báo Origin-ANFIS với tham số khác 40 SA1-ANFIS Hình (A.2) Kết dự báo SA1-ANFIS với tham số khác 41 SA2-ANFIS Hình (A.3) Kết dự báo SA2-ANFIS với tham số khác 42 SA3-ANFIS Hình (A.4) Kết dự báo SA3-ANFIS với tham số khác 43 Phụ lục B Kinh nghiệm triển khai Kubernetes Trong thực tế, việc dùng Kubernetes hay không tuỳ thuộc vào nhu cầu doanh nghiệp, số lượng servers cần quản lí, mức độ phức tạp ứng dụng, khả quản lí đội ngũ vận hành Để có hệ thống Kubernetes dùng thực tế, có nhiều cách Sau đây, tác giả chia sẻ số hướng tiếp cận để có hệ thống Kubernetes Các cách để có Kubernetes Cluster: ❼ Sử dụng dịch vụ có sẵn nhà cung cấp điện tốn đám mây, ví dụ GKE, EKS, AKS, Digital Ocean Kubernetes ❼ Dựng tự quản lí Kubernetes Cluster: sử dụng tool kubeadm, Rancher RKE Với trường hợp dùng dịch có sẵn, nhà cung cấp điện tốn đám mây cung cấp dịch vụ kèm Load Balancing, Volume để quản lí container storage Với trường hợp tự dựng hệ thống, sử dụng stack cơng nghệ sau: ❼ Rancher RKE: Quản lí Kubernetes Cluster ❼ OpenEBS: Quản lí container storage https://openebs.io/ 44 Sau có Kubernetes Cluster, cần phần mềm để triển khai ứng dụng, CI: ❼ Helm: Deploy app ❼ Gitlab CI: CI ❼ Nginx Ingress ❼ CertManager: Để có SSL 45 ... chọn đề tài: Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn tài nguyên điện toán đám mây Hiện tại, số nhà cung cấp dịch vụ điện toán đám mây lớn (AWS, GCP) cung cấp tính tự động. .. ứng dụng thực tế Luận văn muốn giải vấn đề cách đề xuất thuật toán dự đoán, áp dụng cho vấn đề co giãn tài nguyên điện toán đám mây Luận văn giải vấn đề: ❼ Đề xuất thuật toán dự đoán SA-ANFIS áp. .. BÁCH KHOA HÀ NỘI TRẦN HỮU CƯỜNG NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN ÁP DỤNG CHO VẤN ĐỀ TỰ ĐỘNG CO GIÃN TÀI NGUYÊN TRONG ĐIỆN TOÁN ĐÁM MÂY Chuyên ngành : Hệ thống thông tin LUẬN VĂN THẠC

Ngày đăng: 01/03/2021, 09:43

Mục lục

  • Mục lục

  • Chương 1

  • Chương 2

  • Chương 3

  • Chương 4

  • Chương 5

  • Tài liệu tham khảo

  • Phụ lục

Tài liệu cùng người dùng

Tài liệu liên quan