Tạp chí Khoa học Cơng nghệ, Số 38, 2019 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC NGUYỄN VĂN CƯỜNG1, TRỊNH MINH THIÊN2 Trường Đại học Công nghiệp Tp.HCM, Trường Đại học Phú Yên nguyenvancuong@iuh.edu.vn,, thientrinh1976@gmail.com Tóm tắt Các hệ thống chip cấu hình lại dựa FPGA mạng chip (NoC: Network on Chip) xu hướng nhằm cung cấp hiệu cao, khả linh hoạt, cắt giảm chi phí thời gian đưa sản phẩm thị trường cho hệ thống nhúng Bài toán ánh xạ ứng dụng điều chỉnh mức chất lượng lên tảng NoC cấu hình lại khơng đồng thời gian chạy với ràng buộc tài nguyên mà đảm bảo chất lượng dịch vụ tổng thể tối đa cho ứng dụng thử thách lớn Trong báo này, sử dụng cách tiếp cận để giải toán ánh xạ ứng dụng điều chỉnh mức chất lên tảng NoC có khả cấu hình lại với ràng buộc tài nguyên mà đảm bảo chất lượng dịch vụ tổng thể tối đa cho ứng dụng, kết hợp chiến lược chọn vùng gần lồi (near convex region) thuật toán tiến hóa đa mục tiêu NSGA2 Kết mơ cách tiếp cận cải thiện trung bình lên đến 36,11% chất lượng dịch vụ tổng thể so với vài giải pháp tồn Từ khóa Mạng chip, FPGA, ánh xạ, vùng cấu hình lại được, mức chất lượng, NSGA2, vùng gần lồi MAPPING OF QUALITY ADJUSTABLE APPLICATIONS ON NoCBASED RECONFIGURABLE PLATFORMS USING REGION SELECTION STRATEGY AND NSGA2 ALGORITHM Abstract Network on Chip (NoC) and FPGA-based reconfigurable Systems on Chip are a new trend to provide high performance, flexibility, reducing cost and time to market for the embedded systems The problem of mapping quality adjustable applications onto heterogeneous NoC-based reconfigurable platforms at run-time with resource constraints while ensuring the maximum overall quality of service of the applications is a big challenge In this paper, we use a new approach to solve the problem of mapping quality adjustable applications onto heterogeneous NoC-based dynamically reconfigurable platforms under resource constraints while ensuring the maximum overall quality of service (QoS) of the applications That is a combine between near convex region selection strategy and the NSGA2 algorithm Simulation results show that this new approach improves on average up to 36,11% of overall QoS in comparison with some existing solutions Keywords Network on Chip, FPGA, mapping, reconfigurable region, quality level, NSGA2, near covex region ĐẶT VẤN ĐỀ Ngày nay, thiết bị nhúng trở nên quan trọng sống Xu hướng triển khai nhiều ứng dụng tích hợp nhiều tính lên chúng ngày gia tăng tài nguyên chúng ln bị giới hạn Điều địi hỏi người thiết kế phải có giải pháp linh hoạt hiệu Các FPGA đại không ngừng tăng số lượng tài nguyên nó, giá thành tiếp tục giảm, tính tích hợp đặc biệt khả cấu hình lại phần động Do vậy, FPGA lựa chọn thích hợp để phát triển nhanh tảng nhúng đa lõi linh hoạt có hiệu cao Theo hướng này, số hệ thống nhúng dựa FPGA phát triển để hỗ trợ cho ứng dụng đa phương tiện ứng © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 63 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC dụng xử lý tín hiệu [1-5] Các ứng dụng thường yêu cầu sở hạ tầng truyền thơng hiệu cao có khả xử lý liệu nhanh Nhằm cung cấp sở hạ tầng truyền thông hiệu cao để kết nối phần tử xử lý (PE) khác SoC phức tạp, mạng chip đề xuất giải pháp thay cho kiến trúc truyền thống Bus kết nối điểm-điểm [6-7] Ngồi ra, tảng cấu hình lại khơng đồng với linh hoạt xử lý nhúng hiệu tính tốn số vùng cấu hình lại dựa NoC chứng minh có nhiều ưu điểm so với tảng đồng [8-9] Trong tảng vậy, xử lý nhúng thường sử dụng để quản lý thực số tác vụ có độ phức tạp thấp vùng cấu hình lại FPGA sử dụng để tăng tốc tính tốn cho tác vụ có độ phức tạp cao Khả cấu hình động cho phép tảng FPGA thích nghi với yêu cầu xử lý thay đổi ứng dụng Ngoài ra, nhiều ứng dụng thiết kế theo cách mà mức chất lượng chúng điều chỉnh để phù hợp với khả xử lý tảng phần cứng Do vậy, tốn ánh xạ ứng dụng điều chỉnh mức chất lượng lên tảng tự cấu hình lại động dựa NoC khơng đồng với ràng buộc tài nguyên đảm bảo QoS tổng thể tối đa cho ứng dụng toán cần quan tâm nghiên cứu Trong nghiên cứu trước [10], chúng tơi xây dựng tốn ánh xạ nói đề xuất thuật tốn tìm kiếm đầy đủ để giải tốn Tuy nhiên, giải pháp thực hiệu trường hợp tảng phần cứng có kích thước nhỏ, số lượng ứng dụng triển khai lên khơng lớn số mức chất lượng ứng dụng nhỏ Khi kích thước mạng tăng, kích thước ứng dụng lớn giải pháp khơng cịn phù hợp thời gian thực thuật tốn ánh xạ lớn Để vượt qua giới hạn này, đề xuất cách tiếp cận hiệu dựa chiến lược chọn vùng gần lồi kết hợp với thuật tốn tiến hóa đa mục tiêu NSGA2 [11] Đầu tiên, vùng gần lồi lựa chọn có ứng dụng đưa vào hệ thống, thuật toán NSGA2 thực ánh xạ tác vụ ứng dụng vào vùng gần lồi chọn Giải pháp cho phép triển khai nhanh linh hoạt ứng dụng lên tảng Ngồi ra, dễ dàng thêm vào hệ thống ứng dụng tương lai Phần lại báo tổ chức sau: Trong Mục 2, mơ tả định nghĩa tốn ánh xạ Ứng dụng vài chiến lược chọn vùng gần lồi thuật tốn tiến hóa đa mục tiêu NSGA2 vào giải toán ánh xạ giới thiệu Mục Trong Mục 4, trình bày kết mơ thảo luận Cuối cùng, kết luận đưa Mục CÁC ĐỊNH NGHĨA VÀ BÀI TOÁN ÁNH XẠ 2.1 Mơ hình ứng dụng Mỗi ứng dụng có đồ thị tác vụ cố định chất lượng ứng dụng điều chỉnh cách thay đổi số lượng liệu xử lý đồ thị tác vụ ngõ vào Ví dụ, ứng dụng đồ họa 3D cơng cụ hiển thị hình ảnh 3D cố định phụ thuộc vào số lượng tam giác sử dụng để biểu diễn cho đối tượng 3D, ta có chất lượng khác cho đối tượng [12] Một trường hợp khác, ứng dụng truyền tải video qua giao thức http [13], giải mã video cố định số lượng bit liệu sử dụng để biểu diễn nội dung video xác định chất lượng video giải mã Hình biểu diễn mối quan hệ chất lượng video với số lượng bit liệu thông qua thơng số Bit-rate © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh 64 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC Hình 1: Ảnh hưởng liệu đến chất lượng video [14-15] 2.1.1 Đồ thị ứng dụng Định nghĩa 1: Một đồ thị tác vụ ứng dụng biểu diễn dạng đồ thị có hướng ATG V , E , V tập tác vụ ứng dụng E tập tất cạnh, cạnh đồ thị kết nối hai tác vụ Hình Mỗi đỉnh vk V tác vụ với thông số tid , ttype , tcomp , treqcomp Trong đó, tid thơng số nhận dạng; t type kiểu tác vụ (tác vụ phần cứng tHW tác vụ phần mềm tSW ), tác vụ phần cứng tạo ngôn ngữ phần cứng HDL tác vụ phần mềm tạo ngơn ngữ lập trình bậc cao C/C++; tcomp thời gian tính tốn tác vụ thực tài nguyên phần cứng phần mềm Một tác vụ thực tài ngun phần cứng có tốc độ tính tốn nhanh thực tài ngun phần mềm [16-17]; treqcomp thời gian yêu cầu tối thiểu để thực hoàn thành tác vụ tài nguyên phần cứng phần mềm Mỗi cạnh ers biểu diễn mối quan hệ tác vụ vr vs Nó có thơng số tcomm , treqcomm Trong đó, tcomm trễ truyền thơng truyền gói tin từ tác vụ vr đến vs ; treqcomm yêu cầu trễ truyền thông tối thiểu truyền gói tin từ tác vụ vr đến vs 2.1.2 Mơ hình chất lượng Chúng ta xem xét trường hợp nhiều ứng dụng chạy đồng thời thiết bị nhúng cầm tay, ứng dụng yêu cầu chạy mức chất lượng khác Khi đó, thiết bị phải có khả thích nghi theo yêu cầu ứng dụng cách điều chỉnh cấp phát tài nguyên phần cứng cho ứng dụng thời gian chạy Trong mục này, xem xét ứng dụng biểu diễn nhiều mức chất lượng khác Xem xét ứng dụng Appi có N i mức chất lượng Qi1 , Qi , Qi , , QiNi Mỗi mức chất lượng yêu cầu tập tài nguyên bao gồm thời gian tính tốn, thời gian truyền thơng, diện tích phần cứng lượng Mức chất lượng cao yêu cầu tài nguyên nhiều [17-18] Ví dụ, giả sử ứng dụng App1 có mức chất lượng Q11 Q12 Q13 Q1N1 thời gian cần thực ứng dụng mức t11 t12 t13 t1N1 Mỗi mức chất lượng Qij cung cấp cho người xem cảm giác chất lượng, cảm giác chất lượng biểu diễn giá trị lợi ích Bij Chúng chất lượng tương ứng sử dụng mơ hình biểu diễn mối quan hệ giá trị lợi ích mức chất lượng ứng dụng trình bày [18] Ứng dụng đạt mức chất lượng cao có giá trị lợi ích lớn Ngược lại, mức © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 65 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC chất lượng thấp giá trị lợi ích thấp Tổng quát, ứng dụng Ai có mức chất lượng Qi1 Qi Qi QiNi giá trị lợi ích tương ứng Bi1 Bi Bi BiN B 1 i 2.2 Mơ hình phần cứng Nền tảng phần cứng xem xét tảng cấu hình lại được thực FPGA dựa kiến trúc NoC Hình Nền tảng phần cứng bao gồm vi xử lý nhúng ISP (Microblaze/ARM) PE phần cứng cấu hình lại được, chúng kết nối với qua mạng truyền thông NoC NoC sử dụng cấu trúc lưới hai chiều, chuyển mạch gói, điều khiển luồng wormhole kết hợp với kênh ảo thuật toán định tuyến XY Tác vụ phần mềm thực ISP, tác vụ phần cứng thực PE cấu hình lại Chúng tơi giả định PE phần cứng có khả hỗ trợ tác vụ Trong đó, vi xử lý nhúng ISP hỗ trợ nhiều tác vụ chịu trách nhiệm quản lý hệ thống bao gồm ánh xạ tác vụ, lập lịch tác vụ, kiểm sốt tài ngun điều khiển cấu hình lại Định nghĩa 2: Một tảng phần cứng cấu hình lại dựa NoC biểu diễn đồ thị NoC N P, L đó, P tập phần tử xử lý PE, L tập kết nối vật lý hai định tuyến Mỗi PE pxy P biểu diễn thông số p id , padd , ptype , puse , pid thông số nhận dạng PE, padd địa PE, ptype kiểu PE gồm có PE cứng pHW PE mềm pSW , puse thông số trạng thái PE (rỗi bận) App1 App2 App3 úúú AppM Q11, Q12, …,Q1Ni Quality levels [10,15] V11 V12 V13 V14 [4,6] [6,9] [8,12] Application task graph Mapping V13 V11 R RR (PE) V14 R ISP RR R RR R R R R physical connection V12 RR R R Hình 2: Mơ hình hệ thống 2.3 Bài tốn ánh xạ Bài toán ánh xạ xem xét sau: Có M ứng dụng triển khai đồng thời lên tảng phần cứng Các ứng dụng biết trước, nhiên, thứ tự xuất chúng trước không phụ thuộc Mục tiêu toán ánh xạ đạt chất lượng dịch vụ tổng thể cực © 2019 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 66 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TỐN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CĨ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC đại triển khai M ứng dụng lên tảng phần cứng với ràng buộc tài nguyên Chúng tơi mở rộng tốn ánh xạ [10] theo cách tiếp cận đề xuất sau: Cho tập đồ thị ứng dụng M ứng dụng vào trạng thái tảng phần cứng Tìm R vùng gần lồi tảng phần cứng hàm ánh xạ map(), cho hàm map() thực ánh xạ tác vụ ứng dụng thứ Appi vào vùng Ri , vik V , map vik pxy Ri , pxy P với mục tiêu sau: Ni M B i ij Bij M i 1 j 1 max Ni M T ij tij i 1 j 1 min Ni Thỏa mãn điều kiện: j 1 ij (2) , ij Qij lựa chọn, cho trường hợp khác t p HW HW tcompij treqcompij tcommij treqcommij (1) (3) VÙNG GẦN LỒI VÀ THUẬT TOÁN NSGA2 3.1 Vùng gần lồi Chọn vùng gần lồi liền kề tảng để ánh xạ tác vụ ứng dụng vào chúng giải pháp hiệu cho tốn ánh xạ, chứng minh nghiên cứu [19-20] Trong báo này, sử dụng hai chiến lược chọn vùng gần lồi để chọn vùng gần lồi có ứng dụng đưa vào hệ thống trước thuật toán ánh xạ thực Một là, chiến lược chọn vùng gần lồi NF [20], chiến lược cố gắng tìm PE trống tảng để tạo thành vùng gần lồi cho ứng dụng vào với xem xét tổng khoảng cách Manhattan (MD: Manhattan Distance) tối thiểu Hai là, chiến lược chọn vùng đề xuất [21] Chiến lược thực theo hai bước: Bước 1, tính tốn cấp phát số lượng PE cứng/mềm tương ứng với mức chất lượng ứng dụng yêu cầu Bước 2, tìm vùng gần lồi dựa phương pháp góc qt hình học sử dụng thêm ràng buộc khoảng cách MD tối thiểu để chọn vùng gần lồi tối ưu cho ứng dụng 3.2 Thuật toán NSGA2 Sau vùng gần lồi chọn, thuật toán NSGA2 thực việc ánh xạ tác vụ ứng dụng vào vùng lồi chọn Mục đích bước đặt tác vụ ứng dụng vào vùng gần lồi chọn cho mức chất lượng ứng dụng đạt cao nhất, giảm thiểu trễ truyền thông cho ứng dụng Với thuật toán NSGA2, cá thể cách ánh xạ tác vụ ứng dụng vào vị trí PE chọn vùng 3.2.1 Khởi tạo quần thể cha Để khởi tạo quần thể cha, cần phải biết kích thước vùng ứng dụng ánh xạ (size), kích thước quần thể số nhiễm sắc thể cá thể (size_chrom) bao nhiêu? Đối với ứng dụng chọn vùng kích thước vùng ứng dụng ánh xạ số nhiễm sắc thể cá thể Ngược lại, ứng dụng khơng chọn vùng kích thước vùng ứng dụng ánh xạ lớn số nhiễm sắc thể cá thể Ví dụ khởi tạo quần thể cho ứng dụng có năm tác vụ ánh xạ vị trí chọn vùng PE = {0, 1, 2, 5, 6} size = size_chrom = PE_id = {0, 1, 2, 3, 4} © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 67 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC 3.2.2 Đánh giá quần thể Đánh giá quần thể chất đánh giá mục tiêu độ vi phạm ràng buộc cá thể quần thể Trong toán ánh xạ này, cá thể có hai mục tiêu ràng buộc trình bày nhóm cơng thức (1), (2), (3) Ngồi ra, có thêm ràng buộc khác quan trọng cá thể quần thể phải đạt mức chất lượng tối thiểu Nếu cá thể không thỏa mãn đạt mức chất lượng thấp coi vi phạm ràng buộc 3.2.3 Sắp xếp thứ hạng tính khoảng cách hội tụ cho quần thể cha Tốn tử so sánh trội (≻n) xác định dựa hai tiêu chí: Độ vi phạm ràng buộc (constraint) Các mục tiêu (objectives) Sau đánh giá quần thể, thuật toán tiếp tục xếp thứ hạng tính khoảng cách hội tụ cho cá thể quần thể Hình trình bày thuật tốn tìm nhóm cá thể có thứ hạng Trong thuật tốn này, tất cá thể quần thể P kiểm tra với nhóm cá thể khơng trội P’ Đầu tiên, thuật toán đưa tạm thời cá thể p quần thể P vào nhóm cá thể khơng trội P’ Sau cá thể p so sánh với tất cá thể P’ Nếu cá thể p trội cá thể q P’ loại cá thể q khỏi P’ Trái lại, cá thể q P’ trội cá thể p loại cá thể p khỏi P’ Theo cách này, không tồn cá thể q P’ trội p p thức đưa vào P’ Khi thuật tốn kết thúc tất cá thể P’ khơng trội hay nói cách khác cá thể có thứ hạng với P’ = find-nondominated-front(P ) P’ = ∅ for each p ∈ P ˄ p ∉ P’ P’ = P’ ∪ {p} //thêm tạm thời p vào P’ for each q ∈ P’˄ q ≠ p //so sánh p với tất thành viên P’ if p ≻n q then P’ = P’ \ {q} //nếu p trội q loại bỏ q khỏi P’ else if q ≻n p then P’ = P’ \ {p} //nếu q trội p loại bỏ p khỏi P’ end for end for Hình 3: Thuật tốn tìm nhóm cá thể thứ hạng Sau tìm nhóm cá thể có thứ hạng (Fi), thuật tốn tính khoảng cách hội tụ cho cá thể nhóm cá thể thực Hình mơ tả thuật tốn tính khoảng cách hội tụ nhóm cá thể Fi Đầu tiên, thuật tốn xem kích thước nhóm cá thể Fi Sau khởi tạo khoảng cách hội tụ cho cá thể Fi không bắt đầu thực xếp nhóm cá thể Fi theo chiều tăng dần mục tiêu thời gian Sau xếp, cá thể đứng đầu cuối có khoảng cách hội tụ vơ Cịn lại, khoảng cách hội tụ cá thể thứ i hiệu mục tiêu thời gian cá thể (i+1) trừ mục tiêu thời gian cá thể (i - 1) Tương tự vậy, mục tiêu giá trị lợi ích crowding-distance-assignment( Fi ) L = | Fi | // số lượng cá thể nhóm cá thể Fi for each i, set Fi[i]distance = // khởi tạo khoảng cách hội tụ cho cá thể end for for each objective m // xét với mục tiêu m Fi = sort(Fi,m) // xếp nhóm cá thể Fi theo mục tiêu m Fi[1]distance = Fi[L]distance = ∞ // khởi tạo khoảng cách hội tụ nghiệm đầu cuối for i = to (L-1) // xét từ nghiệm thứ đến L-1 Fi Fi[i]distance = Fi[i]distance + (Fi[i+1].m - Fi[i-1].m) //tính độ hội tụ nghiệm i end for end for Hình 4: Thuật tốn tính khoảng cách hội tụ © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh 68 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC Hình trình bày thuật tốn xếp thứ hạng tính khoảng cách hội tụ cho quần thể cha ban đầu Thuật tốn tìm nhóm cá thể Frank từ thứ hạng thứ đến thứ hạng thứ n sau tính khoảng cách hội tụ cho nhóm cá thể Sau lần tìm Frank loại bỏ khỏi P với mục đích giảm kích thước P dễ dàng để tìm nhóm cá thể Frank Thuật toán kết thúc P trống hay nói cách khác thuật tốn hồn thành việc tìm nhóm cá thể khơng trội thứ hạng tính khoảng cách hội tụ cho chúng F = fast-nondominated-sort(P ) i=1 while P ≠ ∅ Fi = find-nondominated-front(P ) P = P \ Fi i = i +1 end while Hình 5: Thuật tốn xếp thứ hạng tính khoảng cách hội tụ 3.2.4 Lựa chọn cá thể bố mẹ quần thể cha Việc lựa chọn cá thể bố mẹ quần thể cha nhằm mục đích chọn cá thể bố mẹ tốt để thực phép lai ghép để tạo cá thể Khi chọn hai cá thể quần thể, việc lựa chọn cá tốt để thực lai ghép dựa ba tiêu chí là: Độ vi phạm ràng buộc (constraint) Thứ hạng (rank) Khoảng cách hội tụ (crowd-dist) Đối với tiêu chí độ vi phạm ràng buộc thứ hạng giá trị nhỏ tốt Ví dụ a.contrain = 0.0 < b.contrain = 0.5 có nghĩa a tốt b Tương tự, a.rank = < b.rank = a tốt b Nếu dựa ba tiêu chí mà hai cá thể a b chọn ngẫu nhiên a b Hình mơ tả thuật tốn lựa chọn cá thể tốt hai cá thể a b individual = tournament(a, b) if a.contrain < b.contrain then individual = a else if a.contrain > b.contrain then individual = b else if a.rank < b.rank then individual = a else if a.rank > b.rank then individual = b else if a.crowd-dist > b.crowd-dist then individual = a else if a.crowd-dist < b.crowd-dist then individual = b else if randomperc() ≤ 0.5 then individual = a else individual = b end if end if end if end if Hình 6: Thuật tốn lựa chọn © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 69 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC 3.2.5 Chéo hóa đột biến Chéo hóa: Sau chọn cá thể bố mẹ thực chéo hóa để tạo hai cá thể Trong nghiên cứu này, thực phương pháp chéo hóa nhị phân thứ tự hai điểm nhiễm sắc thể Để áp dụng phương pháp này, nhiễm sắc thể phải mã hóa nhị phân Việc chéo hóa nhị phân nhiễm sắc thể tạo cá thể tốt hạn chế việc tạo cá thể trùng so với việc áp dụng phương pháp chéo hóa thứ tự hai điểm mà khơng mã hóa Đột biến: Q trình đột biến phụ thuộc vào xác suất đột biến Nếu xác suất ngẫu nhiên mà nhỏ xác suất đột biến bit chuyển sang bit ngược lại, bit chuyển sang bit 3.2.6 Sắp xếp thứ hạng, tính khoảng cách hội thụ cho quần thể cha, tạo quần thể cha Sau hoàn thành việc đánh giá quần thể con, quần thể cha quần thể hợp để xếp thứ hạng, tính khoảng cách hội tụ chọn pop_size cá thể tốt để tạo quần thể cha Như ví dụ Hình 7, quần thể cha Pt quần thể Qt hợp thành quần thể gọi Rt Tiếp đến quần thể Rt xếp thứ hạng tính khoảng cách hội tụ Như ví dụ, nhóm cá thể F_1 có thứ hạng có kích thước nhỏ pop_size đưa vào quần thể cha Pt+1 Tương tự vậy, nhóm cá thể F_2 đưa vào quần thể Pt+1 Tiếp tục tìm thấy nhóm cá thể F_3 lúc đưa vào quần thể Pt+1 vượt q kích thước pop_size Do cần tính khoảng cách hội tụ nhóm cá thể F_3 thực xếp để chọn cá thể có độ quy tụ lớn để đưa vào quần thể Pt+1 để đạt đủ kích thước pop_size cá thể Hình mơ tả thuật tốn chọn lọc cá thể để tạo quần thể cha Hình 7: Quá trình chọn lọc để tạo quần thể cha Rt = Pt ∪ Qt Pt+1 = ∅ //quần thể cha i=1 while | Pt+1 | < pop_size Fi = find-nondominated-front(Rt )// tìm nhóm cá thể Fi thứ hạng thứ i Rt = Rt \ Fi // xóa Fi khỏi Rt if |Pt+1 | + | Fi | ≤ pop_size then crowding-distance-assignment( Fi ) Pt+1 = Pt+1 ∪ Fi i = i +1 else crowding-distance-assignment( Fi ) quick_sort(Fi, compare) // xếp theo chiều giảm dần crowding distance Pt+1 = Pt+1 ∪ Fi[1 : (pop_size - | Pt+1|)] //hoàn thành tạo quần thể cha end if end while Hình 8: Thuật tốn chọn lọc cá thể để tạo quần thể cha © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh 70 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TỐN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CĨ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC KẾT QUẢ MÔ PHỎNG VÀ THẢO LUẬN 4.1 Thiết lập mơ Chương trình mơ viết ngôn ngữ C++ chạy hệ điều hành Ubuntu 14.04 64bit, Intel Core i5-2520M 2.5 GHz, RAM 4GB Các tảng phần cứng khơng đồng cấu hình lại dựa NoC có kích thước khác 6x6, 7x7, 8x8, 9x9 Mỗi tảng gồm ISP số vùng cấu hình lại ISP thực tối đa đến tác vụ, vùng cấu hình lại thực tác vụ Bộ liệu thực mô gồm 20 ứng dụng có kích thước khác thay đổi từ đến 26 tác vụ tạo từ công cụ TGFF [22] Để đơn giản, xem xét ứng dụng với bốn mức chất lượng (ví dụ, Q i1, Qi2, Qi3 and Qi4) Thời gian tính tốn tác vụ, thời gian truyền thông cặp tác vụ tạo cách ngẫu nhiên cho mức chất lượng cao Đối với mức chất lượng thấp hơn, thông số tạo từ giá trị cao theo mơ hình chất lượng trình bày [17] Giá trị lợi ích mức chất lượng khác ứng dụng tạo ta theo mơ hình Kịch mô tảng với tổng số tác vụ ứng dụng ánh xạ lên tảng thay đổi từ (x*y) đến (x*y+5) Trong đó, x, y số hàng số cột tảng phần cứng Mỗi kịch thực thay đổi thứ tự ánh xạ ứng dụng vào theo hốn vị tổng số ứng dụng Ví dụ, ánh xạ bốn ứng dụng lên tảng có kích thước 8x8 có 24 trường hợp Các thơng số sử dụng thuật tốn NSGA2 mơ tả Bảng bao gồm kích thước quần thể, số hệ, xác suất chéo hóa, xác suất đột biến Bảng 1: Thơng số mơ thuật tốn NSGA2 Thơng số Giá trị Kích thước quần thể 600 Số hệ 1000 Xác suất chéo hóa 0,9 Xác suất đột biến 0,2 Để đánh giá tính hiệu NSGA2, chúng tơi chọn hai thuật tốn có liên quan đến ánh xạ thuật tốn Nearest Neighbor (NN) [23] thuật toán Chou Chen-Ling (CL) [19] để so sánh Các thuật toán thực ánh xạ tác vụ ứng dụng lên vùng gần lồi tạo từ chiến lược chọn vùng NF (CVNF) [20] chiến lược chọn vùng theo góc qt (SA) chúng tơi (CVSA) [21] Các thông số thu thập thống kê theo giá trị trung bình, bao gồm giá trị lợi ích tổng thể ứng dụng (OB: Overall Benefit), khoảng cách MD trung bình (AMD: Average Manhattan Distance), khoảng cách MD truyền thơng trung bình (ACMD: Average Communication Manhattan Distance) 4.2 Kết đánh giá 4.2.1 Đánh giá giá trị lợi ích tổng thể Giá trị lợi ích đại diện cho mức độ hài lòng người dùng nhận mức chất lượng định Khi người dùng nhận chất lượng cao ứng dụng, giá trị lợi ích Chất lượng thấp có giá trị lợi ích nhỏ [18] Do vậy, sử dụng thông số để đánh giá chất lượng đạt cho ứng dụng sau ánh xạ Hình giá trị OB ứng dụng đạt triển khai ứng dụng vào tảng phần cứng với kích thước 6x6, 7x7, 8x8, 9x9 theo thuật toán khác Trong trường hợp, thuật toán NSGA2 cho kết tốt so với thuật toán NN CL Cụ thể, chiến lược chọn vùng SA tảng có kích thước 6x6, thuật toán NSGA2 cải thiện giá trị lợi ích tổng thể so với thuật toán NN CL 34,30%, 2,57% Đối với chiến lược chọn vùng NF, thuật toán NSGA2 cải thiện giá trị lợi ích tổng thể 35,78%, 29,49%, so với thuật tốn NN, CL © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 71 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC Hình 9: Giá trị OB ứng dụng ánh xạ lên tảng Tương tự, tảng phần cứng có kích thước 7x7, 8x8, 9x9, thuật tốn NSGA2 tăng giá trị lợi ích tổng thể so với thuật toán NN CL chiến lược chọn vùng SA [58,92%, 15,86%], [59,70%, 49,34%], [66,20%, 69,25%] Trong chiến lược chọn vùng NF, tăng [23,01%, 62,14%], [19,14%, 34,15%], [7,60%, 10,30%] Từ kết này, dễ thấy rằng, tùy theo chiến lược chọn vùng mà tính hiệu thuật toán triển khai đạt khác Cụ thể, theo chiến lược chọn vùng SA tính hiệu thuật toán NSGA2 đạt tăng dần theo kích thước tảng phần cứng so với thuật toán khác Cụ thể, tảng phần cứng có kích thước 9x9, giá trị lợi ích tổng thể thuật toán NSGA2 đạt tăng 66,20% 69,25% so với thuật toán NN CL kích thước tảng phần cứng 8x8 tăng 59,70% 49,34% Ngược lại chiến lược chọn vùng NF, tính hiệu thuật tốn NSGA2 giảm dần theo chiều tăng kích thước tảng phần cứng Cụ thể, tảng phần cứng có kích thước 8x8, giá trị lợi ích tổng thể thuật toán NSGA2 đạt 19,14% 34,15% so với thuật toán NN CL kích thước tảng phần cứng tăng lên 9x9 kết giảm xuống 7,60% 10,31% Điều khẳng định rằng, ngồi thuật tốn ánh xạ chiến lược chọn vùng ảnh hưởng đáng kể đến kết ánh xạ 4.2.2 Đánh giá hiệu truyền thông Tiếp theo, đánh giá hiệu truyền thơng cho thuật tốn qua hai thơng số AMD ACMD AMD tỉ số tổng số Hop ứng dụng ánh xạ tổng cạnh đồ thị tác vụ ứng dụng Một thuật tốn ánh xạ ứng dụng có AMD nhỏ độ trễ tiêu thụ lượng nhỏ gói liệu qua số lượng Hop nhỏ ACMD đại diện cho trễ truyền thơng gói tin qua Hop Tương tự, ACMD nhỏ trễ tiêu thụ lượng mạng giảm Giá trị AMD ACMD ứng dụng triển khai lên tảng với kích thước khác (6x6, 7x7, 8x8 9x9) theo thuật toán ánh xạ khác Hình 10 Hình 11 Các giá trị AMD ACMD cắt giảm theo thuật toán NSGA2 chiến lược chọn vùng SA so với thuật toán NN, CL chiến lược chọn vùng NF Điều có nghĩa rằng, thuật tốn NSGA2 cho kết tốt hơn, tối ưu khoảng cách MD giảm trễ truyền thông cặp tác vụ ứng dụng sau ánh xạ so với thuật toán khác Chiến lược chọn vùng SA tạo vùng có tổng khoảng cách MD © 2019 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 72 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TỐN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CĨ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC nhỏ so với chiến lược chọn vùng NF Kết cho thấy, kết hợp thuật toán NSGA2 với chọn vùng gần lồi giảm thiểu trễ truyền thông tiết kiệm lượng cho hệ thống, cụ thể Hình 10: Giá trị AMD ứng dụng Khi triển khai thuật toán NSGA2 với chiến lượt chọn vùng SA lên tảng có kích thước 6x6, thông số AMD cắt giảm 8,96% 4,51% so với thuật toán NN CL Đối với tảng 7x7, 8x8 9x9 thông số cải thiện [13,91%, 9,26%], [17,96%, 11,59%], [17,42%, 11,51%] Tương tự, chiến lược chọn vùng NF, thực ánh xạ thuật toán NSGA2 lên tảng 6x6, 7x7, 8x8 9x9 thông số AMD cắt giảm so với thuật toán NN CL [16,51%, 7,56%], [11,24%, 12,82%], [4,71%, 16,75%], [0,63%, 12,32%] Hình 11: Giá trị ACMD triển khai thuật tốn © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 73 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC Thơng số ACMD cắt giảm đáng kể thực ánh xạ thuật toán NSGA2 so với thuật toán NN CL lên chiến lược chọn vùng với tảng 6x6, 7x7, 8x8 9x9 Cụ thể, chọn vùng SA, thông số cắt giảm [14,59%, 9,91%], [17,25%, 12,72%], [20,58%, 13,87%], [19,44%, 13,30%] Đối với chọn vùng NF, tỉ lệ phần trăm nhỏ thuật toán NN, CL [21,47%, 13,10%], [16,56%, 15,49%], [7,44%, 18,91%], [2,23%, 14,18%] KẾT LUẬN Trong báo này, đề xuất cách tiếp cận để giải toán ánh xạ ứng dụng điều chỉnh mức chất lên tảng NoC có khả cấu hình lại với ràng buộc tài nguyên mà đảm bảo chất lượng dịch vụ tổng thể tối đa cho ứng dụng, kết hợp chiến lược chọn vùng gần lồi thuật tốn tiến hóa đa mục tiêu NSGA2 Kết đạt cho thấy giải pháp đề xuất hoàn toàn cho phép triển khai nhiều ứng dụng, ứng dụng có kích thước lớn lên tảng phần cứng cấu hình lại cách linh hoạt, cải thiện chất lượng dịch vụ tổng thể ứng dụng sau triển khai chúng lên tảng phần cứng LỜI CẢM ƠN Chúng xin chân thành cảm ơn Trường Đại học Công nghiệp TP Hồ Chí Minh hỗ trợ kinh phí để chúng tơi hồn thành đề tài với mã số 182.QN01 TÀI LIỆU THAM KHẢO [1] Flasskamp Martin, Gregor Sievers, Johannes Ax, Christian Klarhorst, Thorsten Jungeblut, Wayne Kelly, Michael Thies, and Mario Porrmann, "Performance estimation of streaming applications for hierarchical MPSoCs", in Proceedings of the 2016 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, p 3,2016 [2] Hsiao Pei-Yung, Shih-Yu Lin, and Shih-Shinh Huang, "An FPGA based human detection system with embedded platform" Microelectron Eng., vol 138, pp 42–46, 2015 [3] Kim Dong-Jin, Yeon-Jeong Ju, and Young-Seak Park, "An Implementation of SoC FPGA-based Real-time Object Recognition and Tracking System" IEMEK J Embed Syst Appl., vol 10, no 6, pp 363–372, 2015 [4] Leibo L I U, WANG Dong, CHEN Yingjie, Z H U Min, Y I N Shouyi, and W E I Shaojun, "An Implementation of Multiple-Standard Video Decoder on a Mixed-Grained Reconfigurable Computing Platform" IEICE Trans Inf Syst., vol 99, no 5, pp 1285–1295, 2016 [5] Luo Junwen, Graeme Coapes, Terrence Mak, Tadashi Yamazaki, Chung Tin, and Patrick Degenaar, "Real-Time Simulation of Passage-of-Time Encoding in Cerebellum Using a Scalable FPGA-Based System" IEEE Trans Biomed Circuits Syst., vol 10, no 3, pp 742–753, 2016 [6] Benini Luca and Giovanni De Micheli, "Networks on chips: a new SoC paradigm" Computer (Long Beach Calif), vol 35, no 1, pp 70–78, 2002 [7] Pang Ke, Virginie Fresse, Suying Yao, and Otavio Alcantara De Lima, "Task mapping and mesh topology exploration for an FPGA-based network on chip" Microprocess Microsyst., vol 39, no 3, pp 189–199, 2015 [8] Abdelfattah Mohamed S, Andrew Bitar, and Vaughn Betz, "Take the highway: Design for embedded NoCs on FPGAs", in Proceedings of the 2015 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays, pp 98–107, 2015 © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh 74 ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC [9] Kumar Rakesh, Dean M Tullsen, Parthasarathy Ranganathan, Norman P Jouppi, and Keith I Farkas, "SingleISA heterogeneous multi-core architectures for multithreaded workload performance" ACM SIGARCH Comput Archit News, vol 32, no 2, p 64, 2004 [10] Nguyen Van Cuong, Nguyen Trong Bang, Le Dinh Tuyen, Pham Ngoc Nam, “Dynamic Mapping of Quality Adjustable Applications on NoC-based Reconfigurable Platforms”, in The 2016 International Conference on Advanced Technologies for Communications (ATC), Hanoi, Vietnam, pp 321–326, 2016 [11] Vinícius, M., da Silva, C., Nedjah, N., & de Macedo Mourelle, L., “Optimal ip assignment for efficient nocbased system implementation using nsga-ii and microga” International Journal of Computational Intelligence Systems, 2(2), pp 115-123, 2009 [12] Ngoc N Pham, W van Raemdonck, Gauthier Lafruit, Geert Deconinck, and Rudy Lauwereins, "A qos framework for interactive 3d applications", in 10th Int Conf in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG-2002), pp 317–325, 2002 [13] Le Hung T, Hai N Nguyen, Nam Pham Ngoc, Anh T Pham, Hoa Le Minh, and Truong Cong Thang, "Qualitydriven bitrate adaptation method for HTTP live-streaming", in 2015 IEEE International Conference on Communication Workshop (ICCW), pp 1771–1776, 2015 [14] Ghanbari M, D Crawford, M Fleury, E Khan, J Woods, H Lu, and R Razavi, "Future performance of video codecs" Video Netw Lab (November 2006), 2006 [15] Wiegand Thomas, Heiko Schwarz, Anthony Joch, Faouzi Kossentini, and Gary J Sullivan, "Rate-constrained coder control and comparison of video coding standards" IEEE Trans circuits Syst video Technol., vol 13, no 7, pp 688–703, 2003 [16] Davis Don, Srinivas Beeravolu, and Ranjesh Jaganathan, "Hardware/Software Codesign for platforms FPGA" Xilinx Inc, 2005 [17] Ngoc N Pham, G Lafruit, S Vernalde, and R Lauwereins, "Real-Time 3D Applications on Mobile Platforms With Run-Time Reconfigurable Hardware Accelerator", pp 25–29, 2002 [18] Ngoc Nam Pham, Gauthier Lafruit, Geert Deconinck, and Rudy Lauwereins, "A fast QoS adaptation algorithm for MPEG-4 multimedia applications", in International Workshop on Interactive Distributed Multimedia Systems and Telecommunication Services, pp 92–105, 2002 [19] Chou Chen-Ling and Radu Marculescu, "User-aware dynamic task allocation in networks-on-chip", in 2008 Design, Automation and Test in Europe, pp 1232–1237, 2008 [20] Chou Chen Ling, Umit Y Ogras, and Radu Marculescu, "Energy- and performance-aware incremental mapping for networks on chip with multiple voltage levels" IEEE Trans Comput Des Integr Circuits Syst., vol 27, no 10, pp 1866–1879, 2008 [21] Nguyen Van Cuong, Le Dinh Tuyen, Dao Vu Tuan, Tran Thanh Hai, Pham Ngoc Nam, “Heuristics for Dynamic Mapping of Quality Adjustable Applications on NoC-based Reconfigurable Platforms”, The Journal of Science & Technology of Technical Universities, 2017 [22] Dick Robert P, David L Rhodes, and Wayne Wolf, "TGFF: task graphs for free", in Proceedings of the 6th international workshop on Hardware/software codesign, pp 97–101, 1998 © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 75 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC [23] Carvalho Ewerson, Ney Calazans, and Fernando Moraes, "Heuristics for dynamic task mapping in NoC-based heterogeneous MPSoCs", in 18th IEEE/IFIP International Workshop on Rapid System Prototyping (RSP’07), pp 34–40, 2007 Ngày nhận bài:24/10/2018 Ngày chấp nhận đăng:10/02/2019 © 2019 Trường Đại học Cơng nghiệp thành phố Hồ Chí Minh ... ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 71 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC Hình 9: Giá trị OB ứng dụng ánh xạ lên tảng Tương tự, tảng. .. DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 65 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC chất lượng thấp giá trị lợi ích thấp Tổng qt, ứng dụng Ai có. ..ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO ÁNH XẠ CÁC 63 ỨNG DỤNG CÓ THỂ ĐIỀU CHỈNH CHẤT LƯỢNG LÊN NỀN TẢNG TÁI CẤU HÌNH NoC dụng xử lý tín hiệu [1-5] Các ứng dụng thường yêu