Luồng nghiệp vụ

Một phần của tài liệu Xây dựng các dịch vụ tin sinh học trên nền tảng điện toán đám mây (Trang 47)

Hình 11. Luồ g g ệp vụ ứ g dụ g t s

Luồng nghiệp vụ của ứng dụng tin sinh trên nền tảng điện toán đa đám mây đƣợc mô tả nhƣ sau:

1. Ngƣời dùng sử dụng giao diện Web kéo thả để khởi t o các luồng nghiệp vụ tin sinh mong muốn. Trong luận v n sử dụng bộ công cụ gojs tích hợp thêm trên nền web horizon của mã nguồn mở OpenStack.

2. Cấu hình cho từng node trong luồng nghiệp vụ để chỉ định đầu vào, đầu ra.. 3. Khi khởi ch y, một workflow engine (sử dụng Mistral) sẽ bóc tách và đẩy dữ

liệu xuống CAL bằng một bản mô tả luồng nghiệp vụ theo định d ng JSON, sau đó L đọc các cấu hình của ngƣời dùng và định tuyến yêu cầu nghiệp vụ:

a. Nếu là nghiệp vụ về các công cụ tin sinh, CAL sẽ kiểm tra và khởi t o các tài nguyên (Máy ảo – VM hoặc container ảo hoá), trên mỗi máy ảo đều có bộ công cụ BIMI gọi tên là Bio Wrapper để dịch vụ hoá các

công cụ. Luận v n thử nghiệm trên nền AWS-API, nova api và docker.

b. Nếu là nghiệp vụ truy xuất dữ liệu, CAL sẽ định tuyến xuống h tầng lƣu trữ đa đám mây. Luận v n thử nghiệm thông qua S3 API và Swift API.

4. Kết quả thực thi của luồng nghiệp vụ sẽ đƣợc gửi tới giao diện ngƣời dùng trên giao diện web.

3.2. Bà toá tố ƣu tà guy sử dụ g.

3.2.1. Mô tả bài toán.

Nhƣ đã mô tả trong chƣơng 2 của luận v n, một trong những vấn đề mà môi trƣờng điện toán đa đám mây có thể giải quyết so với mô hình ĐTĐM truyền thống đó chính là t ng khả n ng mở rộng, co giãn tài nguyên tính toán. Tuy nhiên, ở khía c nh chuyển dịch ứng dụng, việc sử dụng hợp lý tài nguyên tính toán cho các ứng dụng, dịch vụ trên nền tảng điện toán đa đám mây để đáp ứng tính khả mở vẫn còn chƣa đƣợc giải quyết triệt để và rõ ràng [25]. Ví dụ cụ thể, nếu một dịch vụ web ch y trên 01 máy ảo cung cấp bởi dịch vụ ĐTĐM, đến một thời điểm nhất định do số lƣợng truy cập web quá lớn khiến cho tài nguyên máy ảo t ng đột biến và ch m ngƣỡng tối đa cho phép, thƣờng các nhà quản trị ĐTĐM có các chiến lƣợc sau để giải quyết vấn đề:

 Chiến lƣợc định kỳ: ngƣời quản trị sẽ sử dụng các cơ chế đặt lịch để có thể t ng giảm tài nguyên máy ảo ch y ứng dụng định kỳ. Tuy nhiên, chiến lƣợc này không mang tính tổng quát cao và thƣờng không xử l đƣợc các sự cố bất ngờ. [14] [15]

 Đặt ngƣỡng sử dụng tài nguyên: ngƣời quản trị sử dụng các công cụ giám sát tài nguyên hệ thống và đặt ngƣỡng giới h n để quyết định việc thay đổi tài nguyên máy ảo. Đã có nhiều cách tiếp cận theo hƣớng này, tuy nhiên vì

tài nguyên máy ảo giao động và thay đổi liên tục nên đối với trƣờng hợp nhƣ vậy, chiến lƣợc này là không phù hợp.

 Dự đoán mức độ sử dụng tài nguyên: dựa vào các dữ liệu về tài nguyên sử dụng trong quá khứ, chiến lƣợc này áp dụng các hệ thống dự đoán về tài nguyên sẽ sử dụng t i một thời điểm trong tƣơng lai. Từ đó làm cơ sở để ra quyết định t ng giảm tài nguyên. Tuy nhiên, cách tiếp cận này thƣờng có độ chính xác chƣa cao. [4] [7]

Luận v n đƣa ra một hƣớng tiếp cận giải quyết bài toán trên dựa theo chiến lƣợc dự đoán mức độ sử dụng tài nguyên với mục đích cải thiện độ chính xác và hiệu n ng.

3.2.2. Tiền đề.

Bài toán dự đoán trên tập dữ liệu thời gian (time series) đã có nhiều công trình nghiên cứu, từ những cách thức truyền thống nhƣ sử dụng mô hình utoregressive (AR), Moving Average (MA), kết hợp của hai phƣơng pháp utoregressivee Integrated Moving Average (ARIMA). [27] Tuy nhiên, các phƣơng pháp trên đều là mô hình tuyến tính và đều có điểm giới h n trong việc xử l các dữ liệu phi tuyến. Thực tế trong đa phần các trƣờng hợp, dữ liệu thời gian thu nhận đƣợc đều là lo i dữ liệu phi tuyến. Một cách tiếp cận khác là sử dụng m ng nơ-ron vì đặc tính thích nghi nhanh, phi tuyến và linh động. Mô hình m ng thƣờng đƣợc sử dụng là m ng nơ-ron lan truyền ngƣợc (BPNN). [16] Tuy nhiên, m ng nơ-ron tồn t i một h n chế là phụ thuộc vào tính chất của tập dữ liệu và cách train mà có thể dẫn đến tình tr ng tốc độ hội tụ chậm và đ t điểm cực tiểu cục bộ. [8] Một cách tiếp cận khác giúp t ng tốc độ hội tụ và giảm thiểu tỉ lệ lỗi huấn luyện là kết hợp giữa giải thuật di truyền và lan truyền ngƣợc (G -BP).

Trong một tập dữ liệu thời gian, việc xác định đƣợc chu kỳ dữ liệu là một vấn đề đã đƣợc nghiên cứu qua nhiều công trình khoa học. Các giải thuật xác định chu kỳ lặp dữ liệu có thể đƣợc phân lo i thành hai nhóm: phƣơng pháp miền thời gian dựa trên tƣơng quan tự động và phƣơng pháp miền tần số dựa trên đồ thị chu kỳ. Tuy nhiên,

hai nhóm này đều có những điểm tồn đọng khiến bài toán xác định chu kỳ chƣa đƣợc tổng quát hoá. [19] [20] Trong khi phƣơng pháp miền thời gian trên tƣơng quan tự động gặp phải vấn đề rất khó xác định các khoảng chu kỳ quan trọng thì phƣơng pháp miền tần số dựa trên đồ thị chu kỳ l i có tỷ lệ lỗi khá cao.

Luận v n tập trung vào phƣơng pháp kết hợp các mô hình giải thuật nhƣ phát hiện chu kỳ và GA-BP để dự đoán giá trị tƣơng lai trong chuỗi dữ liệu quá khứ đƣợc chính xác hơn. ụ thể, đầu tiên luận v n sử dụng phƣơng pháp UTOPERIOD để ƣớc lƣợng chu kỳ dữ liệu. [15] Sau đó, luận v n áp dụng giải thuật GA-BP để huấn luyện m ng nơ-ron với mục đích cải thiện độ chính xác của dự đoán và t ng tốc độ hội tụ. Tập dữ liệu thử nghiệm đƣợc thu thập từ công cụ giám sát một ứng dụng SaaS trong thực tế.

3.2.3. Mô hình, giải thuật đề xuất.

Mô hình giải thuật dự đoán của luận v n bao gồm hai phần: phần đầu là phƣơng pháp GA-BPNN (Genetic Algorithm – Back Propagation Neural Network) sử dụng m ng nơ-ron lan truyền ngƣợc kết hợp giải thuật di truyền để dự báo mà không tính đến chu kỳ thời gian của dữ liệu; phần thứ hai là phƣơng pháp kết hợp PD-GABP (Periodicity Detection – Genetic Algorithm Back Propagation) dự đoán chu kỳ lặp dữ liệu để t ng hiệu n ng của phƣơng pháp G -BPNN.

3.2.3.1. Giải thuật GA-BPNN

Luận v n sử dụng mô hình m ng nơ-ron 3 lớp perceptron nhƣ hình dƣới bao gồm: lớp đầu vào (I), lớp ẩn (H) và lớp đầu ra (O). Đây là mô hình m ng đầy đủ với mỗi lớp gồm nhiều nơ-ron. Kết nối của mỗi nơ-ron đƣợc gọi là c nh có trọng số, trọng số này phụ thuộc vào đặc trƣng bài toán và đƣợc thay đổi trong quá trình học. Hàm chuyển đổi phi tuyến đƣợc sử dụng là hàm sigmoid:

INPUT LAYER HIDDEN LAYER OUTPUT LAYER ... ...

Hình 12. Mô ì mạ g ơ-ro ều tầ g

Với yêu cầu dự đoán dữ liệu ở k bƣớc tiếp theo, đầu vào của m ng nơ-ron trên sẽ

là tập p dữ liệu quá khứ thu thập đƣợc , thƣờng đƣợc gọi

là vùng trƣợt (sliding windows). Đầu ra của m ng là giá trị . Nhƣ vậy, m ng nơ-ron trên sẽ thực hiện hàm phi tuyến sau:

Quá trình huấn luyện m ng nơ-ron sẽ thay đổi trọng số trên từng c nh để ra đƣợc mô hình m ng hợp lý phục vụ mục đích dự báo, ở đây mô hình m ng sử dụng phƣơng pháp lan truyền ngƣợc để cập nhật bộ trọng số c nh, hàm tính lỗi có công thức nhƣ sau:

trong đó, dk và yk lần lƣợt là giá trị đầu ra thực tế và ƣớc lƣợng, m là số lƣợng nốt nơ-ron đầu ra.

Nhƣ đã trình bày trong tiền đề, giải thuật di truyền (GA) và lan truyền ngƣợc (BP) [18] đều có mặt h n chế. Trong khi hiệu n ng BP phụ thuộc vào điểm cực tiểu cục bộ và khó đ t đƣợc tối ƣu toàn cục thì GA l i dễ dàng tới vùng cực tiểu toàn cục và

mất khoảng lớn thời gian để có thể đ t điểm tối ƣu toàn cục. Bởi vậy, phƣơng pháp kết hợp giữa GA và BP có thể đ t hiệu quả hơn bằng cách tận dụng các đặc điểm ƣu việt của hai phƣơng pháp. Giải thuật GA-BP bao gồm hai bƣớc. [10] [12] Bƣớc đầu tiên, G đƣợc sử dụng để huấn luyện m ng với mục tích tìm ra điểm gần nhất với cực tiểu toàn cục. Sau đó, sử dụng BP bắt đầu từ điểm tìm thấy và tiến hành lan truyền cục bộ. Chi tiết các bƣớc thực hiện nhƣ sau:

 Bƣớc 1: khởi t o quần thể ngẫu nhiên.

 Bƣớc 2: trích xuất trọng số c nh từ mỗi cá thể cho từng tầng trong mô hình m ng.

 Bƣớc 3: đánh giá từng cá thể trong quần thể sử dụng hàm mục tiêu.  Bƣớc 4: tái t o quần thể sử dụng các toán tử: lai ghép, đột biến, lựa chọn.  Bƣớc 5: lặp l i các bƣớc 3 tới 5 cho tới khi gặp điều kiện dừng.

 Bƣớc 6: lựa chọn cá thể xuất sắc nhất trong quần thể.  Bƣớc 7: tiến hành lan truyền cục bộ sử dụng BP. Trong đó, các tham số và hàm đƣợc sử dụng nhƣ sau:

 Các cá thể (trọng số c nh) đƣợc thể hiện dƣới d ng số thực.  Hàm mục tiêu:

trong đó: dk và yk lần lƣợt là giá trị đầu ra ƣớc lƣợng và thực tế, n là số lƣợng véc-tơ đầu vào.

 Quy trình khởi t o quần thể, trọng số đƣợc khởi t o ngẫu nhiên trong

khoảng giá trị , trong đó

 Lựa chọn cá thể xuất sắc nhất sử dụng phƣơng pháp lựa chọn Roulette để xác định xác suất một cá thể có thể dƣợc chọn. Xác suất lựa chọn đƣợc tính theo công thức trong đó s là kích thƣớc quần thể, fi là giá trị nghịch đảo của giá trị mục tiêu trên một cá thể.

3.2.3.2. Giải thuật PD-GABP

Giải thuật GA-BPNN có hƣớng tiếp cận cải thiện độ chính xác của các phƣơng pháp truyền thống BP và GA, tuy nhiên khi thực nghiệm thì hiệu n ng thực thi của giải thuật chƣa cao, bởi vậy, luận v n hƣớng tới sử dụng phƣơng pháp xác định chu kỳ lặp dữ liệu (Period Detection – PD) nhằm t ng hiệu n ng cho giải thuật GA-BPNN.

PD sử dụng phƣơng pháp UTOPERIOD trong [15] để ƣớc lƣợng chu kỳ lặp của tập dữ liệu. Phƣơng pháp này bao gồm hai bƣớc: thứ nhất, sử dụng hàm tính biểu đồ chu kỳ (periodogram) để xác định các điểm có thể là điểm dừng của một chu kỳ, đƣợc gọi là hints . Hàm biểu đồ chu kỳ đƣợc tính sử dụng DFT (biến đổi Fourier rời r c) theo công thức:

Trong đó P là hàm biểu đồ chu kỳ, X là biến đổi Fourier rời r c của chuỗi x(n), n = 0, 1 . . . N − 1.

Sau đó, vì các dự đoán hint có thể không chính xác, các giá trị dự đoán đƣợc sẽ đƣợc kiểm chứng sử dụng hàm tƣơng quan tự động ACF (Auto-Correlation Function). Nếu một giá trị nằm trên đƣờng ACF, giá trị đó đƣợc xác thực là đúng. Hàm ACF với chuỗi x(n) đƣợc xác định bởi công thức:

độ phức t p tính toán của ACF và P sử dụng DFT là . Nếu có tồn t i giá trị hợp lệ, nhƣ vậy tập dữ liệu là có chu kỳ, nếu không tồn t i thì tập dữ liệu đƣợc xác định là không có chu kỳ.

Trong trƣờng hợp tập dữ liệu có chu kỳ, giả sử T1 T2,…, Tr là tập giá trị xác định trong pha xác định chu kỳ lặp dữ liệu, ta định ngh a véc-tơ đầu vào gồm p phần từ liên tục trong quá khứ y(t), y(t−1),…, y(t−p) là vùng trƣợt. Các giá trị trong m chu kỳ y(t+k-T1), y(t+k-2T1),… y(t+k-mT1), y(t+k-T2), y(t+k-2T2),… y(t+k-mT2),.., y(t+k-Tr), y(t+k-2Tr),… y(t+k-mTr) đƣợc gọi là giá trị đầu vào theo chu kỳ. Khi đó, m ng nơ-ron sẽ thực hiện một hàm ánh x phi tuyến sau:

Giải thuật PD-GABP bao gồm các bƣớc mô tả trong giả mã sau:

Algorithm: PD-GABP

1: Tính toán chu kỳ sử dụng phƣơng pháp UTOPERIOD 2: if chuỗi dữ liệu đƣợc xác định có chu kỳ then

3: Xác định véc-tơ đầu vào cho m ng: y(t), y(t−1),…, y(t−p), y(t+k-T1), y(t+k- 2T1),… y(t+k-mT1), y(t+k-T2), y(t+k-2T2),… y(t+k-mT2),.., y(t+k-Tr), y(t+k- 2Tr),… y(t+k-mTr)

4: else

5: Xác định véc-tơ đầu vào cho m ng: y(t), y(t−1),…, y(t−p)

6: end if

7: Xác định giá trị đầu ra của m ng: y(t+k) 8: Huấn luyện m ng sử dụng giải thuật GA-BP

3.3. T ử g ệm

3.3.1. Giao diện tin sinh trên đám mây

Môi trƣờng thử nghiệm với L và BIMI nhƣ sau:

 Nền tảng: OpenStack Kilo

 Workflow engine: sử dụng OpenStack Mistral và một engine tự phát triển.  Ảo hoá: Docker Container 1.8

 Giao diện ngƣời dùng: OpenStack Horizon và thƣ viện gojs Dƣới đây là hình ảnh các bƣớc thực hiện:

Hình 13. Đ g ập vào g ao d ệ Web

Hình 15. K ở tạo uồ g g ệp vụ mớ

Hình 16. Cấu ì c o một cô g cụ t s

Việc cấu hình các công cụ tin sinh trên giao diện Web tƣơng tự nhƣ các PI của BIMI đƣợc mô tả ở phần trên.

Hình 17. Đặc tả JSON của uồ g g ệp vụ t s

Giao diện cung cấp cơ chế lƣu và tái hiện luồng nghiệp vụ tin sinh dựa vào dữ liệu đặc tả JSON nhƣ trên hinh. Sau khi cấu hình xong, ngƣời dùng có thể lựa chọn khởi ch y (RUN).

Hình 18. T ô g báo ệ t ố g k bắt đầu c ạy uồ g t s

Hình 20. T ô g báo ệ t ố g k uồ g t s gặp ỗ

Hình 21. Dữ ệu đầu ra của từ g bƣớc ƣu tr mô trƣờ g đám mây

3.3.2. Kết quả thử nghiệm mô hình tối ưu tài nguyên

Môi trƣờng thử nghiệm sử dụng bộ dữ liệu giám sát tài nguyên website World Cup 1998. [23] Tập dữ liệu thời gian bao gồm số lƣợng request gửi tới website mỗi 10 phút. Luận v n tính toán và dự đoán số lƣợng request của 10 phút tiếp theo dựa vào dữ liệu trong quá khứ. Tập dữ liệu huấn luyện m ng là từ ngày 40 đến ngày thứ 46, và dữ liệu từ ngày 46 đến 47 sẽ đƣợc dự báo và so sánh. Cấu hình cho GA và BP nhƣ sau: kích thƣớc tập Psize=225, tỉ lệ lai ghép PC=0.9, tỉ lệ đột biến PM=0.01, tỉ lệ học η=0.000001. Dữ liệu đầu vào của m ng đƣợc chuẩn hoá [16] theo công thức sau:

trong đó, và là giá trị nguyên bản và giá trị chuẩn hoá. Độ chính xác của mô hình dự báo đƣợc đánh giá bằng các giá trị:  Root mean square error (RMSE): [21] [24]

 Mean absolute percentage error (MAPE): [21]

 Mean absolute error (MAE): [24]

Kết quả thực nghiệm nhƣ sau:

Hình 22. Kết quả d báo mô ì BPNN vớ kíc t ƣớc vù g trƣợt 4

Hình 24. So sá tỉ ệ ỗ MEAN g ữa GA-BPNN và BPNN

Hình 25. Kết quả d đoá PD-GABP vớ p=4

Hình 26. So sá tỉ ệ ỗ MEAN g ữa GA-BPNN và PD-GABP BPNN p = 2 p = 4 p = 6 RMSE 328554.33 120275.67 328554.33 MAE 210424.84 69521.13 210425.17 MAPE 1.65 0.13 1.63 GA BPNN p = 2 p = 4 p = 6 RMSE 328552.29 104314.704 297306.04 MAE 210383.97 65649.54 175616.01 MAPE 1.63 0.12 0.98 Bả g 5. So sá độ c í xác g ữa BPNN và GA-BPNN vớ g á trị vù g trƣợt k ác au

Có thể thấy, GA-BPNN cung cấp giá trị dự báo sát hơn so với phƣơng pháp BPNN thông thƣờng. Thêm nữa, trong bảng 5 chỉ ra các giá trị lỗi của GA-BPNN nhỏ hơn BPNN với kích thƣớc vùng trƣợt thử nghiệm khác nhau.

GA-BPNN p = 2 p = 4 p = 6 RMSE 328552.29 104314.704 297306.04 MAE 210383.97 65649.54 175616.01 MAPE 1.63 0.12 0.98 PD-GABP p = 2 p = 4 p = 6 RMSE 70656.17 47109.41 60548.61 MAE 33742.82 23425.64 31186.69 MAPE 0.07 0.06 0.07

Bả g 6. So sá độ c í xác g ữa GA-BPNN và PD-GABP vớ g á trị vù g trƣợt k ác au

Tƣơng tự, độ chính xác trong quá trình dự báo của PD-GABP cho thấy còn sát hơn nhiều so với hai phƣơng pháp kia. Thêm nữa, nếu nhƣ các giá trị lỗi so sánh giữa

Một phần của tài liệu Xây dựng các dịch vụ tin sinh học trên nền tảng điện toán đám mây (Trang 47)

Tải bản đầy đủ (PDF)

(67 trang)