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...
14 trang |
Chia sẻ: quangot475 | Lượt xem: 367 | Lượt tải: 0
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:
- 6_doc_8331_2150352.pdf