CHƯƠNG 3 TRIỂN KHAI CÁC ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH MỨC CHẤT LƯỢNG VÀO NỀN TẢNG CẤU HÌNH LẠI ĐƯỢC DỰA TRÊN NoC TẠI THỜI
3.4. Các giải pháp cho bài toán ánh xạ các ứng dụng lên NoC tại thời
3.4.1. Giải pháp tối ưu sử dụng thuật toán tìm kiếm đầy đủ
Thuật toán 1: Giải pháp tối ưu sử dụng thuật toán tìm kiếm đầy đủ Input: A(V,E), N(P,L) // task ; PE
Output: tmpg (mapping A(V,E) N(P,L)) 1: BEGIN
2: Set benefit_max 0; time_min ∞; tmpg NULL;
3: Generate all possible mapping A(V,E) N(P,L);
// number of hard task <= number of hard PE;
4: for all mapping tmpgj in step 3 do 5: for all application Ai do
6: Set benefit_Ai highest_benefit;
7: Call verification_Ai (benefit_Ai);
8: while constraint is not verified do 9: if benefit_Ai ==lowest_benefit then 10: break;
11: end if
12: benefit_Ai = benefit_Ai - 1;
13: verification_Ai (benefit_Ai);
14: end while 15: end for
16: if ((benefit_Ai > benefit_max) and (time_Ai < time_min)) then 17: benefit_max benefit_Ai;
18: time_min time_Ai; 19: tmpg = tmpgj;
20: end if 21: end for
22: return tmpg has the highest benefit and the sum of time of all application is the lowest;
23: END
vikV pxyP
Trong phần này, tác giả đề xuất giải pháp tối ưu đơn giản cho bài toán ánh xạ với xem xét nền tảng phần cứng có kích thước nhỏ, số lượng ứng dụng triển khai lên nền tảng không lớn, số mức chất lượng của mỗi ứng dụng nhỏ. Trong trường hợp như vậy, thuật toán tìm kiếm đầy đủ có thể sử dụng để tìm ra giải pháp tối ưu cho bài toán ánh xạ được xây dựng như Mục 3.3 là hoàn toàn khả thi.
Quá trình thực hiện tối ưu của thuật toán tìm kiếm đầy đủ được trình bày cụ thể như sau: Đầu tiên, thuật toán khởi tạo tất cả các giải pháp ánh xạ có thể xảy ra trên nền tảng dựa vào thông tin ứng dụng được đưa vào hệ thống và trạng thái hiện tại của nền tảng phần cứng; khởi tạo các giá trị như giá trị lợi ích tổng thể lớn nhất benefit_max, thời gian truyền thông, thời gian tính toán nhỏ nhất time_min. Tiếp theo, thuật toán tìm ra giải pháp tối ưu bằng cách thực hiện lặp và so sánh các thông số như giá trị lợi ích tổng thể và tổng thời gian thực hiện của các ứng dụng đã được ánh xạ cho từng giải pháp ánh xạ khác nhau đã được khởi tạo trước đó. Giải pháp ánh xạ nào có giá trị lợi ích tổng thể lớn nhất và tổng thời gian thực hiện các ứng dụng nhỏ nhất sẽ được lựa chọn và đây cũng là kết quả tối ưu cho bài toán ánh xạ trong trường hợp này. Mã của thuật toán tìm kiếm đầy đủ được trình bày như Thuật toán 1.
3.4.1.2. Kết quả mô phỏng và đánh giá
Để đánh giá giải pháp đã đề xuất, một vài kịch bản mô phỏng sẽ được thực hiện.
Trong giải pháp này, một nền tảng NoC cấu hình lại được đã được trình bày trong Mục 3.3.2 với kích thước 3x3 được sử dụng. Nền tảng này bao gồm 1 ISP và 8 vùng cấu hình lại. Các ứng dụng A1, A2 và A3 trong Bảng 3.1 được sử dụng để mô phỏng. Ứng dụng A1 có 4 tác vụ và 3 mức chất lượng (Q11, Q12 và Q13). Ứng dụng A2 có 5 tác vụ và 4 mức chất lượng (Q21, Q22, Q23 và Q24). Ứng dụng A3 có 3 tác vụ và 4 mức chất lượng (Q31, Q32, Q33 và Q34). Các giá trị lợi ích tương ứng với các mức chất lượng khác nhau trong mỗi ứng dụng được trình bày trong Bảng 3.2.
Bảng 3.2. Giá trị lợi ích tại mỗi mức chất lượng Mức chất lượng
(Qij)
Giá trị lợi ích
A1 A2 A3
Qi1 0,98 0,96 0,94
Qi2 0,65 0,64 0,63
Qi3 0,50 0,49 0,48
Qi4 0,33 0,32
Với mỗi ứng dụng, thời gian tính toán của các tác vụ và trễ truyền thông giữa các cặp tác vụ được tạo ra ngẫu nhiên cho mức chất lượng cao nhất. Đối với mức chất lượng thấp hơn, các thông số này được tạo ra từ các giá trị cao nhất theo mô hình chất lượng đã được
trình bày trong [69]. Bốn kịch bản khác nhau được sử dụng để mô phỏng cho giải pháp đề xuất này như sau: (i) Mức độ ưu tiên giữa các ứng dụng là bằng nhau; (ii) Ứng dụng A1 có mức ưu tiên cao nhất tiếp theo là ứng dụng A2 và cuối cùng là ứng dụng A3; (iii) Ứng dụng A2 có mức ưu tiên cao nhất tiếp theo là ứng dụng A3 và cuối cùng là ứng dụng A1; (iv) Mức độ ưu tiên của các ứng dụng lần lượt là A3 > A2 > A1. Tất cả các kịch bản mô phỏng được thực hiện trên PC với các thông số: CPU core i3 – 2,6 Ghz , Bộ nhớ RAM - 4 GB, HDD – 720 GB. Các kết quả mô phỏng như vị trí đặt các tác vụ trên nền tảng phần cứng, chất lượng đạt được của các ứng dụng và giá trị lợi ích tổng thể của các ứng dụng theo các kịch bản được chỉ ra như Hình 3.5 và Bảng 3.3.
a) Kịch bản 1 b) Kịch bản 2
c) Kịch bản 3 d) Kịch bản 4
Hình 3.5. Vị trí đặt các tác vụ vào nền tảng phần cứng sau khi ánh xạ
Trong kịch bản đầu tiên, kết quả ánh xạ (Hình 3.5a) cho thấy rằng tất cả các tác vụ của ứng dụng A1 và A3 chạy trên tài nguyên phần cứng. Vì vậy, cả hai ứng dụng này đều chạy ở mức chất lượng cao nhất. Trong khi đó, chỉ có một tác vụ của ứng dụng A2 chạy trên tài nguyên phần cứng và các tác vụ còn lại của nó chạy trên ISP. Do vậy, ứng dụng A2 chạy ở mức chất lượng thấp nhất. Giá trị lợi ích tổng thể của các ứng dụng trong trường hợp này là 0,25.
Trong kịch bản thứ hai, các ứng dụng được ánh xạ lên nền tảng phần cứng như Hình 3.5b. Do ứng dụng A1 có mức ưu tiên cao nhất nên tất cả các tác vụ của nó được ánh xạ lên các vùng tái cấu hình của FPGA để đảm bảo đạt mức chất lượng tốt nhất. Một số tác vụ của ứng dụng A2 và A3 chạy trên phần cứng và một số tác vụ còn lại của chúng chạy
V33 V13
V14 V11 V24
V25 V22
V23 V21 V12 V32
V31
V25 V13
V14 V11 V21
V23 V31
V32 V33 V12 V24
V22
V22 V21
V23 V12 V11
V14 V31
V33 V32 V13 V24
V25
V33 V32
V21 V31 V22
V25 V12
V13 V11 V14 V24
V23
trên ISP. Với giải pháp ánh xạ này, ứng dụng A1 có thể chạy ở chất lượng cao nhất, ứng dụng A2 đạt mức chất lượng trung bình và ứng dụng A3 có mức ưu tiên thấp nhất nên nó chạy ở chất lượng thấp nhất. Giá trị lợi ích tổng thể của các ứng dụng trong trường hợp này là 0,23. Tương tự như vậy, các giải pháp ánh xạ của các kịch bản thứ ba và thứ tư lần lượt được thể hiện trong Hình 3.5c và Hình 3.5d. Từ kết quả mô phỏng này, chúng ta có thể kết luận rằng cách tiếp cận đã đề xuất có thể tìm thấy một giải pháp ánh xạ nhắm đến tối đa chất lượng tổng thể của các ứng dụng và có thể đảm bảo truyền thông tối thiểu giữa các tác vụ. Trong tất cả các tình huống, các tác vụ của cùng một ứng dụng được ánh xạ vào vùng RR lân cận để giảm thiểu trễ truyền thông giữa các tác vụ.
Bảng 3.3. Kết quả mô phỏng của các kịch bản ánh xạ
Kịch bản
Ưu tiên Kết quả
Ứng dụng Ai
Hệ số
i
Mức chất lượng
Giá trị lợi ích tổng
thể
i
A1 0,33 Q11
0,25
A3 0,33 Q31
A2 0,33 Q24
ii
A1 0,50 Q11
0,23
A2 0,30 Q23
A3 0,20 Q34
iii
A2 0,50 Q21
0,23
A1 0,30 Q13
A3 0,20 Q34
iv
A3 0,50 Q31
0,24
A2 0,30 Q23
A1 0,20 Q13
Tiếp theo, tính hiệu quả sử dụng tài nguyên của phương pháp tiếp cận đã đề xuất với các phương pháp hiện có sẽ được so sánh, các thuật toán ánh xạ đã được trình bày trong [12] và [92] được sử dụng để ánh xạ các ứng dụng A1, A2 và A3 theo các kịch bản từ i đến iv trên cùng một nền tảng đã được trình bày ở trên.
Các cách tiếp cận trong [12] và [92] chỉ xem xét các ứng dụng với một mức chất lượng cố định. Do vậy, tác giả giả định chất lượng của ba ứng dụng đều cố định với mức chất lượng cao nhất. Đối với kịch bản i và ii, các phương pháp ánh xạ trong [12] và [92]
có thể ánh xạ tối đa hai ứng dụng (ví dụ, A1 và A3) lên nền tảng, ứng dụng A2 sẽ không thể được ánh xạ vì không đủ tài nguyên cấp phát cho ứng dụng này chạy ở mức chất lượng cao nhất. Đối với kịch bản iii và iv, chỉ ứng dụng A2 và A3 được ánh xạ và ứng dụng A1 không thể ánh xạ. Rõ ràng, với cách tiếp cận của tác giả đề xuất cho thấy rằng nó cho phép triển khai được nhiều ứng dụng chạy đồng thời lên nền tảng và sử dụng tài nguyên hiệu quả hơn so với những cách tiếp cận hiện có.