Thử nghiệm và so sánh các kỹ thuật palladio component model và queueing petri nets trong đánh giá hiệu năng phần mềm

Tài liệu Thử nghiệm và so sánh các kỹ thuật palladio component model và queueing petri nets trong đánh giá hiệu năng phần mềm: Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 54 THỬ NGHIỆM VÀ SO SÁNH CÁC KỸ THUẬT PALLADIO COMPONENT MODEL VÀ QUEUEING PETRI NETS TRONG ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM Huỳnh Quyết Thắng1, Vũ Văn Đốc1,2*, Nguyễn Trọng Bách1 Tóm tắt: Kỹ thuật đánh giá hiệu năng phần mềm là một trong những giải pháp tốt cho việc xây dựng các hệ thống phần mềm đảm bảo mục tiêu hiệu năng đề ra. Chúng tôi đã giới thiệu ngắn gọn các kỹ thuật phân tích hiệu năng phần mềm, đi sâu vào tìm hiểu hai kỹ thuật PCM với công cụ minh hoạ Palladio Bench và QPN với công cụ minh hoạ QPME. Chúng tôi đã thử nghiệm, so sánh hai kỹ thuật này trong xây dựng mô hình đánh giá hiệu năng của ví dụ điển hình - hệ thống phần mềm Media Store và phân tích đánh giá các kết quả thực nghiệm. Trên cơ sở đó, chúng tôi đưa ra một số so sánh, đánh giá về ưu và nhược điểm của từng phương pháp. Từ khóa: Kỹ thuật hiệu năng phần mềm; Palladio Component Mod...

pdf14 trang | Chia sẻ: quangot475 | Lượt xem: 300 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Thử nghiệm và so sánh các kỹ thuật palladio component model và queueing petri nets trong đánh giá hiệu năng phần mềm, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 54 THỬ NGHIỆM VÀ SO SÁNH CÁC KỸ THUẬT PALLADIO COMPONENT MODEL VÀ QUEUEING PETRI NETS TRONG ĐÁNH GIÁ HIỆU NĂNG PHẦN MỀM Huỳnh Quyết Thắng1, Vũ Văn Đốc1,2*, Nguyễn Trọng Bách1 Tóm tắt: Kỹ thuật đánh giá hiệu năng phần mềm là một trong những giải pháp tốt cho việc xây dựng các hệ thống phần mềm đảm bảo mục tiêu hiệu năng đề ra. Chúng tôi đã giới thiệu ngắn gọn các kỹ thuật phân tích hiệu năng phần mềm, đi sâu vào tìm hiểu hai kỹ thuật PCM với công cụ minh hoạ Palladio Bench và QPN với công cụ minh hoạ QPME. Chúng tôi đã thử nghiệm, so sánh hai kỹ thuật này trong xây dựng mô hình đánh giá hiệu năng của ví dụ điển hình - hệ thống phần mềm Media Store và phân tích đánh giá các kết quả thực nghiệm. Trên cơ sở đó, chúng tôi đưa ra một số so sánh, đánh giá về ưu và nhược điểm của từng phương pháp. Từ khóa: Kỹ thuật hiệu năng phần mềm; Palladio Component Model; Queueing Petri Nets. 1. ĐẶT VẤN ĐỀ Trong vòng đời phát triển phần mềm, kỹ thuật hiệu năng phần mềm SPE - Software Performance Engineering là một cách tiếp cận định lượng đánh giá hiệu năng trong xây dựng hệ thống phần mềm đáp ứng đúng thời hạn và ngân sách [1]. SPE sử dụng các mô hình dự báo để đánh giá chi phí cân nhắc cho các chức năng, chi phí trong xây dựng và bảo trì phần mềm. Các mô hình này hỗ trợ kiểm soát tài nguyên yêu cầu bằng cách lựa chọn kiến trúc và thiết kế giải pháp thay thế với đặc tính hiệu năng chấp nhận được [1, 3]. Sử dụng SPE có thể giảm chi phí dự án, loại trừ những sự cố do các vấn đề hiệu năng, đồng thời cải thiện mức độ dịch vụ cho khách hàng, giảm chi phí kinh doanh, giúp sử dụng tài nguyên máy tính hiệu quả hơn và nâng cao vị thế cạnh tranh của các tổ chức [1]. Một số kỹ thuật mô hình hoá hiệu năng thường được sử dụng trong SPE có thể kể tới như Queueing Network Models (QNM), Layered Queueing Networks (LQN), Palladio Component Model (PCM), Queueing Petri Nets (QPN) [2]. Kỹ thuật QNM được xây dựng bằng cách kết nối hàng đợi [2]. Các mô hình mạng xếp hàng biểu thị một hệ thống như một mạng các trạm dịch vụ với hàng đợi phục vụ các yêu cầu. Các yếu tố thường được xem xét đến trong đánh giá QNM là độ dài hàng đợi, thời gian đáp ứng, thông lượng và mức sử dụng (của các trạm dịch vụ). Phương pháp phân tích giá trị trung bình (mean-value analysis) thường được áp dụng để phân tích QNM. Lý thuyết về QNM được xây dựng từ rất sớm (1980), là tiền đề để phát triển các kỹ thuật khác về sau [1, 2]. Kỹ thuật LQN được phát triển và mở rộng từ kỹ thuật QNM. LQN bổ sung thêm các dịch vụ phân tán, thường được phân chia thành các tầng, có thể đóng vai trò là máy khách và máy chủ cho các dịch vụ khác nhau. Kỹ thuật LQN mô hình hóa một hệ thống theo yêu cầu dịch vụ giữa các tác nhân hoặc quy trình và việc xếp hàng các thông điệp giữa các tác nhân [1, 2]. Các tác nhân được mô hình hóa như các tác vụ nhận các thông điệp yêu cầu dịch vụ. LQN cung cấp một mô tả về các tác vụ được thực hiện bởi một tác nhân và mô hình hóa dịch vụ này và nhu cầu tài nguyên của nó. Kỹ thuật LQN về mặt khái niệm dễ hiểu hơn đối với các nhà phát triển phần mềm so với nhiều kỹ thuật mô hình hoá hiệu năng khác [1, 2]. Kỹ thuật dự đoán hiệu năng cho hệ thống phần mềm dựa trên thành phần PCM - Palladio Component Model được đưa ra bởi Steffen Becker, Heiko Koziolek, vào khoảng năm 2008 [3]. Một số dự án hệ thống phần mềm sử dụng kỹ thuật PCM để đánh giá hiệu năng như ABB RDS [11], IBM System z Storage Subsystem [12]. Trong [11] sử dụng PCM để tối ưu Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 55 hóa kiến trúc của hệ thống chẩn đoán từ xa nhằm đạt được mục tiêu cải thiện hiệu năng hệ thống gấp 10 lần của ABB. Trong [12], PCM được dùng để mô hình, dự đoán và so sánh các kiến trúc của hệ thống lưu trữ trên các máy tính dòng z của IBM [12]. Kỹ thuật QPN được giới thiệu bởi Samuel Kounev, Simon Spinner, Phillip Meier [8] là sự mở rộng từ nhiều mạng Petri nets khác. Một số ứng dụng điển hình khai thác mô hình QPN để phân tích hiệu năng của các hệ thống máy tính như SPECjAppServer2004 cho hệ thống phân tán dựa thành phần, SPECjms2007 cho hệ thống phân tán dựa sự kiện [8]. Trong [9], Rak sử dụng kỹ thuật QPN để phân tích hiệu năng của các hệ thống web phân tán. Trong [10], Issam Al-Azzoni đã sử dụng phương chuyển đổi mô hình từ QNM sang QPN, sau đó sử dụng các công cụ mô phỏng QPN Editor [6, 14] và Simulator for QPNs (SimQPN) [6, 14] để mô hình hoá hiệu năng hệ thống. Đây là hai thành phần chính của công cụ QPME, phiên bản hiện thời là phiên bản QPME 2.1 [6], được Trường Đại học Würzburg hỗ trợ kỹ thuật và tập trung phát triển [14]. Cả hai kỹ thuật PCM và QPN đều đã được áp dụng để xây dựng các mô hình đánh giá hiệu năng hệ thống phần mềm. Trong [7], Philipp Meier và các cộng sự đã đưa ra phương pháp tự động chuyển đổi từ mô hình PCM sang mô hình QPN. Một số ràng buộc được đưa ra trong phép chuyển đổi này. Trong [2], tác giả Gooijer tổng hợp so sánh đánh giá về mô hình phần mềm, mô hình hiệu năng sử dụng, giấy phép của một số công cụ điển hình. Bảng 1. Một số so sánh các công cụ phân tích hiệu năng điển hình [2]. STT Tên công cụ Giấy phép Mô hình phần mềm Mô hình hiệu năng Phân tích / Mô phỏng 1 JMT GNU GPL - QNM Cả hai 2 LQNS Evaluation only (text) LQN Cả hai 3 Mobius Thương mại SAN, Buck- ets & Balls, PEPA-nets Petri Nets, Xích Markov, đại số quá trình ngẫu nhiên Cả hai 4 SPE-ED Thương mại MSC, Đồ thị QNM Cả hai 5 Palladio- Bench Miễn phí PCM PCM hoặc LQN Cả hai 6 QPME Phần mềm nguồn mở - QPN Mô phỏng Trên cơ sở các phân tích ở trên và bảng 1, trong nghiên cứu này, chúng tôi sẽ tập trung so sánh thử nghiệm hai kỹ thuật PCM và QPN và các công cụ tương ứng Palladio-Bench [13] và QPME [14]. Hệ thống dịch vụ web tương tác với người dùng có nhu cầu tải nhạc Media Store, xây dựng như một ví dụ mẫu điển hình, được sử dụng để thử nghiệm các phương pháp đánh giá hiệu năng [3, 7, 9, 15]. Chúng tôi sẽ thử nghiệm hai kỹ thuật PCM và QPN một cách độc lập để xây dựng mô hình đánh giá hiệu năng cho hệ thống Media Store, từ đó sẽ thử nghiệm, so sánh và có những đánh giá khách quan hơn. Phần còn lại của bài báo được tổ chức như sau: Phần 2 trình bày về hai kỹ thuật PCM và QPN. Phần 3 giới thiệu hệ thống Media Store. Phần 4 và 5 lần lượt trình bày cách sử dụng kỹ thuật PCM và QPN tương ứng để xây dựng mô hình đánh giá hiệu năng cho hệ Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 56 thống trên, sau đó thử nghiệm và đánh giá kết quả. Cuối cùng, phần 6 kết luận về bài báo này và một số phát triển các công việc trong tương lai. 2. KỸ THUẬT PCM VÀ QPN 2.1. Kỹ thuật PCM Hình 1. Ví dụ về PCM [12]. Hình 1 minh họa các thành phần trong kỹ thuật PCM [2,3]. Kỹ thuật này dựa trên các vai trong triết lý công nghệ phần mềm hướng thành phần gồm nhà phát triển thành phần, kiến trúc sư, nhóm triển khai và chuyên gia miền. Trong PCM, thông tin về các thành phần có sẵn và các giao diện của chúng được lưu trữ trong kho thành phần [4, 5]. Kho thành phần này được các nhà phát triển thành phần tạo lập và duy trì. Khi nhà phát triển tạo ra một thành phần, họ cũng đồng thời xác định các nhu cầu tài nguyên của nó trong các đặc tả dịch vụ - Service Effect Specification (SEFF). Các kiến trúc sư xây dựng mô hình hệ thống dựa trên các thành phần có sẵn trong kho thành phần. Họ lựa chọn những thành phần cần dùng và kết nối các giao diện yêu cầu phù hợp với các giao diện cung cấp. Hệ thống nói chung gồm ít nhất một giao diện cung cấp cho hệ thống để tạo các dịch vụ sẵn có, và có thể có thêm các Interface yêu cầu hệ thống để kết nối với các hệ thống khác [4, 5]. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 57 Nhóm triển khai hệ thống tạo biểu đồ môi trường tài nguyên xác định tài nguyên phần cứng có sẵn như HDD, CPU trên các server, đồng thời tạo biểu đồ cấp phát để ánh xạ các thành phần hệ thống vào các thùng chứa trong môi trường tài nguyên [4, 5]. Cuối cùng, chuyên gia miền xác định kịch bản sử dụng cho hệ thống, số lượng người dùng hay tốc độ các yêu cầu trong mô hình sử dụng. Các mô hình sử dụng có thể được sửa đổi để kiểm tra hành vi của hệ thống theo các tải khác nhau [4, 5]. Một ví dụ minh hoạ cho PCM trong phát triển phần mềm hướng thành phần được mô tả trong hình 2 [12]. Các nhà phát triển thành phần chịu trách nhiệm về đặc điểm kỹ thuật của các thành phần, giao diện và loại dữ liệu. Các thành phần phần mềm là các thực thể cốt lõi của PCM. Để dự đoán hiệu năng, các nhà phát triển thành phần cần chỉ định các yêu cầu của hành động nội bộ đối với tài nguyên, như CPU hoặc HDD (xem hình 2). Các kiến trúc sư phần mềm kết hợp các thông số kỹ thuật thành phần vào một mô hình kiến trúc, trong đó có các đầu nối lắp ráp, kết nối các giao diện cần thiết của các thành phần với các giao diện được cung cấp tương thích của các thành phần khác. Các nhà triển khai hệ thống mô hình hóa tài nguyên (ví dụ: CPU, liên kết mạng, ) và phân bổ các thành phần trong mô hình kiến trúc cho các tài nguyên. Tài nguyên có các thuộc tính khác nhau, chẳng hạn như tốc độ xử lý hoặc chính sách lập lịch. Cuối cùng, các chuyên gia miền xác định mô hình sử dụng cấp hệ thống theo các giá trị tham số cuộc gọi ngẫu nhiên và các giá trị tham số đầu vào cho mỗi lần gọi, sau đó, có thể được tự động truyền qua toàn bộ mô hình và xác định các tham số phiên người dùng không liên tục. 2.2. Kỹ thuật QPN Queueing Petri Nets (QPN) là sự kết hợp từ một số mở rộng khác nhau của ordinary Petri Nets (PN) gồm Colored Petri Nets (CPN) và Generalized Stochastic Petri Nets (GSPN), đồng thời bổ sung thêm một vài yếu tố khác [6]. Mỗi PN là một đồ thị hai phía, có hướng, bao gồm một tập các place và một tập các transition. Mỗi cung của đồ thị chỉ kết nối một place và một transition. Mỗi cung được gán một số nguyên dương gọi là trọng số của cung. Mỗi place chứa một lượng token nhất định. Khi mọi input place của transition t chứa số token không nhỏ hơn trọng số của cung nối nó với transition t thì transition này ở trạng thái sẵn sàng kích hoạt và được gọi là enabled transition. Một enabled transition có thể kích hoạt khi đó nó hủy các token có trong các input place của nó và tạo ra các token mới trong output place của nó. Số lượng token được hủy và tạo được xác định bởi trọng số của các cung kết nối. Nếu PN chỉ có một loại token duy nhất thì CPN đưa vào yếu tố màu để phân loại token [6]. CPN cho phép một hàm màu ánh xạ từ một tập các color tới một place, xác định các loại token có thể có trong place đó. Trong CPN, một enabled transition có thể có nhiều khả năng để kích hoạt, mỗi khả năng như thế được gọi là một mode. Các mode này có trọng số kích hoạt là tỷ lệ mà mode được chọn khi nhiều mode sẵn sàng kích hoạt. Khác với PN, GSPN phân transition thành hai loại: timed transtion và immediate transition. Khi ở trạng thái enabled, một immediate transition kích hoạt trong thời gian 0. Nếu có nhiều immediate transition ở trạng thái enabled tại cùng một thời điểm thì việc lựa chọn kích hoạt sẽ phụ thuộc vào trọng số kích hoạt (xác suất) gắn cho các transition đó. Immediate transition được ưu tiên kích hoạt trước so với timed transition. Một timed transition kích hoạt sau một khoảng thời gian bằng phân phối mũ của độ trễ kích hoạt gắn với transition đó [6]. Kết hợp CPN và GSPN hình thành CGSPN. QPN thêm yếu tố hàng đợi vào các place trong CGSPN tạo ra queueing place. Mỗi queueing place bao gồm hai thành phần: thành phần queue cho phép các token được đặt trong hàng đợi để chờ thực hiện dịch vụ và thành phần depository lưu giữ các token đã hoàn thành dịch vụ của chúng ở queue. Ngoài queueing place, QPN còn có ordinary place Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 58 (place giống như place trong một PN) và subnet place (place cho phép QPN phân cấp, tức là một subnet place có thể chứa một QPN khác) [6, 8]. Hình 2. Mô hình tổng quát QPN [7]. Sau khi được kích hoạt bởi một input transition của một queueing place nào đó, các token sẽ được thêm vào thành phần queue theo các chiến lược điều phối hàng đợi. Các token trong queue không có sẵn cho các output transition của queueing place. Sau khi hoàn thành dịch vụ, một token ngay lập tức được chuyển sang cho depository. Các token sẵn có cho các output transition của queueing place. Queueing place loại này được gọi là timed queueing place. Ngoài ra, trong QPN còn có immediate queueing place cho phép mô tả việc điều phối thuần túy, các token tại đây được xem như có thể phục vụ ngay lập tức. Điều phối cho những place này có độ ưu tiên cao hơn khi điều phối timed queueing place [6, 8]. Định nghĩa tổng quát cho một QPN được trình bày chi tiết trong [8]. 3. MÔ TẢ HỆ THỐNG MEDIA STORE Media Store là một hệ thống dịch vụ web tương tác với người dùng có nhu cầu tải nhạc [15]. Kiến trúc của hệ thống Media Store được thể hiện trong hình 4. Đây là ví dụ điển hình, được sử dụng để đánh giá các công cụ hiệu năng [3, 7, 9]. Hình 3. Kiến trúc hệ thống Media Store [15]. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 59 Hình 4. Hoạt động download trên hệ thống Media Store [15]. Hình 5. Hoạt động upload trên hệ thống Media Store [15]. Hệ thống được lắp ghép từ các thành phần độc lập, gồm một giao diện người dùng (thành phần WebGUI), một bộ phận xử lý logic nghiệp vụ (trong các thành phần MediaStore và Digital Watermarking) được cài đặt trên Application Server và một cơ sở dữ liệu (thành phần AudioDB) được cài đặt trên DB Server. Hoạt động của hệ thống Media Store được chỉ ra trong hình 3 và 4. Người dùng tương tác với hệ thống thông qua trình duyệt web, có thể download nhiều file nhạc được lưu trữ trong cơ sở dữ liệu hoặc upload một file nhạc mới vào cơ sở dữ liệu. Thông qua trình duyệt web, người dùng nếu muốn download sẽ gửi tới thành phần WebGUI một yêu cầu download với kết quả trả về là một tập hợp các file nhạc trong cơ sở dữ liệu. Hệ thống phân tích yêu cầu rồi chuyển tiếp yêu cầu đó đến thành phần MediaStore. Sau đó, hệ thống tìm kiếm trong thành phần AudioDB để lấy các file yêu cầu. Các file này sau đó được chuyển giao lại cho thành phần MediaStore. Thành phần này sẽ gọi tới thành phần DigitalWatermarking để thực hiện việc đóng dấu các file nhạc (thêm ID người dùng hoặc cấu hình để thêm lời bài hát vào các file). Thành phần Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 60 DigitalWatermarking chỉ xử lý một file nên thành phần MediaStore gọi tới nó cho mỗi file được yêu cầu bởi người dùng. Sau khi hoàn thành quá trình đóng dấu, hệ thống sẽ gửi lại tất cả các tập tin cho người dùng. Trong trường hợp người dùng muốn upload, một file nhạc sẽ được gửi tới thành phần WebGUI, hệ thống phân tích yêu cầu upload rồi chuyển tiếp yêu cầu qua thành phần MediaStore, trước khi kết nối với máy chủ cơ sở dữ liệu để ghi file vào trong cơ sở dữ liệu. Sau khi quá trình ghi file thành công, hệ thống sẽ phản hồi cho người dùng biết quá trình upload đã hoàn thành. 4. SỬ DỤNG KỸ THUẬT PCM XÂY DỰNG MÔ HÌNH ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG MEDIA STORE 4.1. Xây dựng mô hình đánh giá hiệu năng Như đã nói ở Mục 2.1, để xây dựng mô hình PCM cho một hệ thống cần xây dựng 4 vai: nhà phát triển thành phần, kiến trúc sư, nhóm triển khai và chuyên gia miền cho mô hình. Hình 6. Nhà phát triển thành phần trong mô hình PCM cho Media Store. Vai nhà phát triển thành phần được xây dựng gồm các thành phần tương tự như các thành phần của hệ thống Media Store gồm WebGUI, MediaStore, Digital Watermarking và AudioDB và 4 giao diện gồm IHTTP, IMediaStore, ISound và IAuidoDB (hình 6). Thành phần WebGUI cung cấp giao diện IHTTP đồng thời yêu cầu giao diện IMediaStore. Thành phần MediaStore cung cấp giao diện IMediaStore đồng thời yêu cầu giao diện ISound được cung cấp bởi thành phần DigitalWatermarking và giao diện IAudioDB được cung cấp bởi thành phần AudioDB. Các hoạt động của hệ thống MediaStore được làm rõ hơn trong các SEFF ở từng thành phần. Để hoàn thành việc xây dựng vai kiến trúc sư, một nguồn cung cấp các yêu cầu của người dùng được tạo thêm và kết nối với khối WebGUI của hệ thống (hình 7). Với vai Nhóm triển khai, chúng tôi tạo ra 2 thùng chứa tài nguyên biểu thị cho server ứng dụng và server cơ sở dữ liệu. Dựa trên kiến trúc của Media Store, chúng tôi đặt các khối cấp phát tương ứng với các thành phần trong nhà phát triển thành phần và các khối lắp ghép trong kiến trúc sư vào các thùng tài nguyên thích hợp (hình 8). Dựa trên nguồn yêu cầu của người dùng được tạo ra từ vai Kiến trúc sư, kịch bản sử dụng hệ thống về số lượng yêu cầu download, upload, số lượng file cần download hay kích thước file cần upload được đưa ra để làm rõ vai Chuyên gia miền. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 61 Hình 7. Kiến trúc sư trong mô hình PCM cho Media Store. 4.2. Công cụ và môi trường thử nghiệm Chúng tôi sử dụng phần mềm Palladio Bench 4.1 (32bit) - phiên bản “04.10.2017” để xây dựng mô hình PCM và chạy thử nghiệm bằng Simu-bench tích hợp sẵn trong phần mềm [13]. Hệ thống và cấu hình phần cứng bao gồm: Windows 10 Professional 64bit version 1511, JDK 1.8.0_121 (32bit), CORE i9 9900K / 16G / NVIDIA GTX 1660Ti 6Gb GDDR6. 4.3. Kịch bản thử nghiệm Chúng tôi xây dựng kịch bản thử nghiệm cho hệ thống Media Store trên cơ sở mô hình đã được trình bày trong mục 4.1. Với mong muốn đánh giá hiệu năng phần mềm trong điều kiện cơ sở vật chất giới hạn, chúng tôi xây dựng kịch bản một số thông số cố định sau: Hình 8. Nhóm triển khai trong mô hình PCM cho Media Store. (i) Trên cả server ứng dụng và server cơ sở dữ liệu: tài nguyên CPU được điều phối theo chiến lược Processor Sharing, tốc độ xử lý 1000 Work Unit/s (WU/s), tài nguyên HDD được điều phối theo chiến lược First Come First Served, tốc độ xử lý 25 MB/s (ii) Liên kết giữa server ứng dụng và server cơ sở dữ liệu có đỗ trễ 0.5ms, băng thông LAN 1 Gbit/s. Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 62 (iii) Server ứng dụng sử dụng 10 WU để phân tích yêu cầu người dùng và 5 WU để tạo phản hồi hệ thống (iv) Server cơ sở dữ liệu sử dụng 3 WU để xác định tên file trong cơ sở dữ liệu và một lượng HDD đúng bằng kích thước file để lấy file đó ra từ cơ sở dữ liệu (v) Server cơ sở dữ liệu sử dụng 10 WU để ghi tên file được upload vào trong cơ sở dữ liệu và một lượng HDD đúng bằng kích thước file để ghi file đó vào trong cơ sở dữ liệu (vi) Server ứng dụng sử dụng 25 WU mặc định + 15 WU cho mỗi MB để watermark một file (vii) Kích thước file trong CSDL: [1-10] MB (xác suất lấy ra 1 file có kích thước 1-10MB từ CSDL bằng nhau và bằng 0.1) (viii) Tải công việc đóng (Closed Workload) với 1000 người dùng và thời gian nghĩ là 10 đơn vị thời gian mô phỏng. Chúng tôi chú trọng thay đổi yêu cầu của người dùng như kích thước file cần upload hay số lượng file cần download trong trường hợp hệ thống nhận được yêu cầu upload hoặc download. Bảng 2 mô tả chi tiết sự thay đổi này. Bảng 2. Các thông số thay đổi trong kịch bản thử nghiệm. Kịch bản – Số liệu thử nghiệm Upload (30%) Download (70%) Kích thước file upload Tổng số file cần download KB1 5 MB 1 file KB2 5 MB 5 files KB3 5 MB [1-10] files KB4 [1-5] MB [1-10] files KB5 [1-10] MB [1-10] files Trên công cụ thử nghiệm Palladio Bench, chúng tôi thiết lập thời gian mô phỏng cho mỗi kịch bản là 1E7 đơn vị thời gian mô phỏng, đồng thời xác lập Batch Mean là phương pháp phân tích kết quả đầu ra với kích thước batch bằng 200 và số lượng batch tối thiểu bằng 60 [11]. 4.4. Kết quả thử nghiệm Bảng 3. Kết quả thực nghiệm đối với mô hình PCM. Thời gian đáp ứng (STU) KB1 KB2 KB3 KB4 KB5 Lời gọi yêu cầu download qua HTTP 1006.4 1012.4 1011.2 1008.0 1012.7 Lời gọi yêu cầu upload qua HTTP 1005.6 991.4 993.1 987.8 992.8 Tổng thời gian xử lý qua HTTP 1006.2 1006.1 1005.8 1001.9 1006.7 Lời gọi tới AudioDB để thêm file vào CSDL 1004.6 990.4 992.1 986.8 991.8 Lời gọi tới AudioDB để truy vấn CSDL 1005.3 1010.9 1009.6 1006.5 1011.1 Tổng thời gian xử lý tại AudioDB 1005.1 1004.8 1004.4 1000.6 1005.3 Lời gọi tới MediaStore để yêu cầu download 1005.4 1011.3 1010.2 1007.0 1011.7 Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 63 Lời gọi tới MediaStore để yêu cầu upload 1004.6 990.4 992.1 986.0 991.8 Tổng thời gian xử lý tại MediaStore 1005.2 1005.0 1004.8 1000.7 1005.7 Lời gọi tới DigitalWatermarking để đóng dấu file 110.0 114.0 126.0 126.0 128.0 Theo kịch bản thử nghiệm, yêu cầu của người dùng Upload 30% và Download 70% nên chúng tôi bổ sung thêm các tham số: Tổng thời gian xử lý qua HTTP, Tổng thời gian xử lý tại AudioDB, Tổng thời gian xử lý tại MediaStore được xác định theo tỉ lệ 30% upload và 70% download như trên. Các kết quả thực nghiệm ở bảng 3 cho thấy mô hình PCM cho hệ thống MediaStore đã được xây dựng thành công. Thời gian đáp ứng (tổng thời gian xử lý) cho 5 kịch bản đã thể hiện chính xác sự thay đổi thông số trong các kịch bản đó, đối chiếu với các chức năng của hệ thống thể hiện trong hình 6, 7 và 8. 5. SỬ DỤNG KỸ THUẬT QPN XÂY DỰNG MÔ HÌNH ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG MEDIA STORE 5.1. Xây dựng mô hình đánh giá hiệu năng Với kỹ thuật QPN, chúng tôi tập trung mô tả các hoạt động của hệ thống Media Store qua các ordinary place, queueing place và immediate transition. Mô hình QPN cho hệ thống Media Store được đưa ra trong hình 9. Trong mô hình này, chúng tôi sử dụng 16 queueing place, 6 ordinary place và 30 immediate transition. Các queueing place gồm (16): - Client: biểu thị hàng đợi yêu cầu của người dùng - AppServer: biểu thị hàng đợi sử dụng tài nguyên ở Application Server - DBServer: biểu thị hàng đợi sử dụng tài nguyên ở DB Server - LAN: biểu thị hàng đợi kết nối mạng giữa Application Server và DB Server - WebGUI, WebGUI-APR, WebGUI-ACR: biểu thị hàng đợi của các lời gọi ở thành phần WebGUI (APR: After-Parse Request, ACR: After-Create Response), cùng sử dụng WebGUIQueue - MediaStore, MediaStoreLoop: biểu thị hàng đợi của các lời gọi ở thành phần MediaStore, cùng sử dụng MediaStoreQueue - DW-Loop, DW-AWM-Loop: biểu thị hàng đợi của các lời gọi ở thành phần Digital Watermarking (AWM: After-WaterMarking), cùng sử dụng DigitalWatermarkingQueue - AudioDB, AudioDB-ALFN, AudioDB-AWFN, AudioDB-ALF, AudioDB-AWF: biểu thị hàng đợi của các lời gọi ở thành phần AudioDB (ALFN: After-Load FileName, AWFN: After-Write FileName, ALF: After-Load File, AWF: After-Write File), cùng sử dụng AudioDBQueue. Các ordinary place gồm (6): - ASStore, LANStore, DBStore: biểu thị lượng thời gian sử dụng tài nguyên ở Appliaction Server, LAN, DB Server - Lock, LoopPool, LoopDepository: dùng để quản lý vòng lặp đóng dấu file Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 64 Hình 9. Mô hình QPN cho Media Store. Phần lớn các immediate transition biểu thị chuyển tiếp giữa các place dựa trên biểu đồ trình tự của hệ thống Media Store (hình 4 và 5). Một số transition dùng để thực hiện những nhiệm vụ chuyên biệt hơn: - Các immediate transition decAS, decLAN, decDB biểu diễn sự tốn thời gian để sử dụng tài nguyên ở Application Server, LAN và DB Server. - Các immediate transition enterAppServer và enterDBServer biểu diễn sự đi vào Application Server của lời gọi từ DB Server và sự đi vào DB Server của lời gọi từ Application Server - Các immediate transition enterLoop, checkLoop, exitLoop biểu diễn các chuyển tiếp đối với vòng lặp đóng dấu file. Số lượng mode trong các immediate transition và số lượng color trong các place kể trên tùy thuộc vào từng kịch bản sử dụng. 5.2. Công cụ và môi trường thử nghiệm Chúng tôi sử dụng phần mềm QPME 2.1 (32bit) để xây dựng mô hình QPN và chạy thử nghiệm bằng SimQPN đã có trong phần mềm này [14]. Hệ thống và cấu hình phần cứng bao gồm: Windows 10 Profes-sional 64bit version 1511, JDK 1.8.0_121 (32bit), CORE i9 9900K / 16G / NVIDIA GTX 1660Ti 6Gb GDDR6. 5.3. Kịch bản thử nghiệm Chúng tôi xây dựng kịch bản thử nghiệm cho hệ thống Media Store trên cơ sở mô hình đã được trình bày trong mục 5.1. Kịch bản thử nghiệm cũng được xây dựng với phần thông số cố định và thông số thay đổi tương tự như đã mô tả trong mục 4.3. Trên công cụ thử nghiệm QPME, chúng tôi cũng thiết lập thời gian mô phỏng cho mỗi kịch bản là 1E7 đơn vị thời gian mô phỏng, đồng thời xác lập Batch Mean là phương pháp phân tích kết quả đầu ra với kích thước batch bằng 200 và số lượng batch tối thiểu bằng 60 [11]. 5.4. Đánh giá kết quả Kết quả thu được đối với mô hình QPN cho hệ thống Media Store được đưa ra lần lượt trong bảng 4. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 65 Bảng 4. Kết quả thực nghiệm đối với mô hình QPN. Thời gian token cư trú (STU) KB1 KB2 KB3 KB4 KB5 WebGUIQueue 1071 1066 1076 1080 1073 MediaStoreQueue 1051 1047 1053 1049 1052 AudioDBQueue 1065 1018 1016 1024 1017 DigitalWatermarkingQueue 1003 1003 1001 1002 1004 Các kết quả thực nghiệm ở bảng 4 cho thấy thời gian đáp ứng cho các KB1-KB5 thể hiện chính xác sự thay đổi thông số trong các kịch bản thử nghiệm trên mô hình QPN trong hình 9. Kết quả thời gian token cư trú - thời gian thực hiện yêu cầu - ở mỗi kịch bản phụ thuộc vào số lượng mode trong các immediate transition và số lượng color trong các place trong các kịch bản sử dụng. 6. ĐÁNH GIÁ KẾT LUẬN Trong bài báo này, chúng tôi đã giới thiệu ngắn gọn các kỹ thuật phân tích hiệu năng phần mềm, đi sâu vào tìm hiểu hai kỹ thuật PCM và QPN và các công cụ Palladio Bench, QPME. Chúng tôi đã thử nghiệm, so sánh hai kỹ thuật này trong xây dựng mô hình đánh giá hiệu năng của hệ thống phần mềm Media Store. Kỹ thuật PCM đánh giá 4 tham số thời gian đáp ứng: Tổng thời gian xử lý qua HTTP, Tổng thời gian xử lý tại Audio DB, Tổng thời gian xử lý tại Media Store và Lời gọi tới Digital Watermarking để đóng dấu file (trong bảng 3). Các tham số này có kết quả tương đương với thời gian lưu trú của token tại các queueing tương ứng như: Web GUI Queue, Audio DB Queue, Media Store Queue và Digital Watermarking Queue trong Bảng 4 của kỹ thuật QPN. Tuy nhiên, do cách thiết kế QPN, số lượng file tối đa của các kịch bản là 10 files, do vậy, thời gian Token (color) lưu trú trong Digital Watermarking Queue (bảng 4) có thể khác thời gian Lời gọi tới Digital Watermarking để đóng dấu file (bảng 3) do sử dụng vòng lặp. Các ưu điểm của kỹ thuật PCM: Với lợi thế ngôn ngữ mô hình có nhiều nét giống với UML, PCM cho phép xây dựng mô hình nhanh, cho phép tái sử dụng các thành phần đã thiết kế và phân cấp mô hình, hỗ trợ xử lý các giá trị ngẫu nhiên, biểu diễn kiểu dữ liệu đầu vào, đầu ra. Kỹ thuật PCM thích hợp cho làm việc nhóm và phù hợp để đánh giá hệ thống dựa thành phần vừa và lớn. Các nhược điểm của kỹ thuật PCM: Nhiều ký pháp trong PCM dễ nhầm lẫn với nhau về ngữ nghĩa, đòi hỏi người thiết kế phải nắm bắt chính xác về kỹ thuật và mô hình. Hơn nữa, kích thước mô hình PCM xây dựng được thường lớn hơn khá nhiều so với mô hình UML tương ứng, chi phí cần đầu tư cho mô hình PCM có thể khá tốn kém nếu hệ thống lớn. Kỹ thuật PCM cũng chỉ hỗ trợ đánh giá hệ thống dựa thành phần. Việc đánh giá hiệu năng bị phụ thuộc vào phần mềm, hiện chỉ có Palladio Bench hỗ trợ đánh giá PCM, tuy nhiên phần mềm này hiện vấn tiếp tục được phát triển. Các ưu điểm của kỹ thuật QPN: Cơ sở lý thuyết trong phân tích, đánh giá hiệu năng được đảm bảo do được thừa kế từ 2 mô hình kinh điển Queueing Network và Petri Net. Kích thước mô hình QPN thường nhỏ hơn nhiều so với mô hình UML tương ứng và có thể giảm xuống nhờ phân cấp mô hình. Kỹ thuật QPN thích hợp cho làm việc cá nhân hoặc Kỹ thuật điều khiển & Điện tử H. Q. Thắng, V. V. Đốc, N. T. Bách, “Thử nghiệm và so sánh hiệu năng phần mềm.” 66 nhóm ít người, phù hợp để đánh giá các module phần mềm, các hệ thống nhỏ và vừa. Kỹ thuật PQN cho phép đánh giá nhiều loại hệ thống: dựa thành phần, dựa sự kiện, Các nhược điểm của kỹ thuật QPN: Khó xây dựng mô hình (ký pháp QPN khác biệt rõ rệt với UML, đòi hỏi phải có sự am hiểu kỹ càng). Kỹ thuật QPN xử lý ràng buộc ngẫu nhiên tương đối khó. Hiện tại, kỹ thuật QPN chưa hỗ trợ tái sử dụng mô hình đã thiết kế. Việc đánh giá hiệu năng cũng bị phụ thuộc vào phần mềm, hiện chỉ có QPME hỗ trợ đánh giá QPN, tuy nhiên, phần mềm này hiện vấn tiếp tục được phát triển. Như vậy, việc lựa chọn mô hình QPN để phân tích, đánh giá hiệu năng phần mềm là phù hợp. Có thể phát triển hướng nghiên cứu xây dựng phép biến đổi từ các biểu đồ UML sang mô hình QPN, từ đó có thể được sử dụng trực tiếp để đánh giá hiệu năng nhờ vào công cụ QPME. Hiện tại, chúng tôi đang tập trung vào xây dựng các quy tắc để chuyển đổi từ biểu đồ tuần tự (Sequence Diagram) sang QPN [16]. Việc hoàn thiện các quy tắc, xây dựng biễu diễn hình thức các quy tắc và xây dựng công cụ tự động cho phép chuyển đổi từ biểu đồ tuần tự sang QPN là một hướng nghiên cứu khả quan mà chúng tôi tập trung trong thời gian tới. TÀI LIỆU THAM KHẢO [1]. Petriu D. C., Alhaj M., & Tawhid R. “Software Performance Modeling”, In: Bernardo M., Cortellessa V., Pierantonio A. (eds) Formal Methods for Model-Driven Engineering. SFM 2012. Lecture Notes in Computer Science, Vol 7320. Springer, Berlin, pp. 219–262, 2012. [2]. Thijmen de Gooijer, “Performance Modeling of ASP.Net Web Service, Applications: an industrial case study”, MA Thesis, Mälardalen University, School of Innovation, Design and Engineering, 2011. [3]. Becker S., Koziolek H., & Reussner R., “The Palladio component model for model- driven performance prediction”, Journal of Systems and Software, 82(1), pp. 3–22, 2009, DOI:10.1016/j.jss.2008.03.066. [4]. Koziolek H., Happe J., Becker S., Reussner R., “Evaluating Performance of Software Architecture Models with the Palladio Component Model”, In Jörg Rech, Christian Bunse (eds) Model-Driven Software Development: Integrating Quality Assurance, Book News Inc. (Decemeber 2008), pp. 95-118, DOI: 10.4018/978-1- 60566-006-6.ch005. [5]. Reussner, R., Becker, S., Koziolek, A. & Koziolek, H., “An Empirical Investigation of the Component-Based Performance Prediction Method Palladio” in Perspectives on the Future of Software Engineering, pages 191-207, Springer Berlin Heidelberg, 2013 [6]. Kounev S., Spinner S., Meier P.: QPME 2.0-a tool for stochastic modeling and analysis using queueing petri nets. In: Sachs K., Petrov, I. Guerrero, P. (eds.) From Active Data Management to Event-Based Systems and more. LNCS, vol. 6462, pp. 293–311. Springer, Heidelberg (2010). doi:10.1007/978-3-642-17226-7 18. [7]. Meier P., Kounev S., & Koziolek H., “Automated Transformation of Component- Based Software Architecture Models to Queueing Petri Nets”, In Procedding of 2011 IEEE 19th Annual International Sym-posium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems, pp. 339- 348, DOI:10.1109/mascots.2011.23. [8]. Kounev S., Spinner S., & Meier P., “Introduction to queueing petri nets”, In Proceedings of the Third Joint WOSP/SIPEW International Conference on Performance Engineering-ICPE ’12, (2012), DOI:10.1145/2188286.2188290. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 61, 6 - 2019 67 [9]. Rak T., “Performance Modeling Using Queueing Petri Nets”, Communications in Computer and Information Science, 2017, pp. 321–335, DOI:10.1007/978-3-319- 59767-6_26 [10]. Al-Azzoni I., “On Utilizing Model Transformation for the Performance Analysis of Queueing Networks”, Journal of Software Engineering and Applications, 2018, 11, pp. 435-457, ISSN Print: 1945-3116, https://doi.org/10.4236/jsea.2018.119026 [11]. Nikolaus Huber, Steffen Becker, C. Rathfelder, Ralf H. Reussne, J. Schewflinghaus, “Performance Modeling in Industry: A Case Study on Storage Virtualization”, Proceeding ICSE '10 Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2, Pages 1-10, 2010, DOI:10.1145/1810295.1810297. [12]. Happe L., Buhnova B., Reussner R., “Stateful component-based performance model”, Software & Systems Modeling, 13(4), 2013, pp. 1319–1343. DOI:10.1007/s10270-013-0336-6 [13]. Palladio Bench: (PCM4.1, Release 2017) [14]. QPME: [15]. Reussner R., Becker S., Happe J., Heinrich R., Koziolek A., Koziolek H., Kramer M., Krogmann K, “Modeling and Simulating Software Architectures – The Palladio Approach”, MIT Press, 2016, 400 pages. [16]. Vu Van Doc, Huynh Quyet Thang, Nguyen Trong Bach, “Development of the Rules for Transformation of UML Sequence Diagrams into Queueing Petri Nets”, In: Duong T., Vo NS. (eds) Industreial Networks and Intelligent Systems. INISCOM 2018. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 257. Springer, Cham, ISBN 978-3-030- 05872-2, pp. 122-144, DOI: 10.1007/978-3-030-05873-9_11, SCOPUS Indexed. [17]. ISO/IEC 25010, "Systems and software engineering - Software product Quality Requirements and Evaluation (SQuaRE) - Software product quality and system quality in use models", 2010. ABSTRACT PALLADIO COMPONENT MODEL AND QUEUEING PETRI NETS TECHNIQUES IN MODELING OF SOFTWARE PERFORMANCE: EXPERIMENTS AND COMPARISION Software performance modeling is one of the proper solutions for building software systems to ensure the set target performance. In this research, we briefly introduced software performance analysis techniques and focused on two methods PCM with illustrated tool Palladio Bench and QPN with illustrated tool QPME. We tested and compared these two techniques in developing the Media Store software's performance evaluation model. We analyze the experimental results and make some comparisons, assessments on the pros and cons of each method. Keywords: Software Performance Modeling; Palladio Component Model; Queueing Petri Nets. Nhận bài ngày 22 tháng 01 năm 2019 Hoàn thiện ngày 06 tháng 5 năm 2019 Chấp nhận đăng ngày 17 tháng 6 năm 2019 Địa chỉ: 1 Viện Công nghệ thông tin và Truyền thông, Trường Đại học Bách khoa Hà Nội; 2 Trường Đại học Kinh tế - Kỹ thuật Công nghiệp, Bộ Công thương. * Email: vvdoc@uneti.edu.vn.

Các file đính kèm theo tài liệu này:

  • pdf6_doc_8331_2150352.pdf