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.3. Các định nghĩa và xây dựng bài toán ánh xạ
3.3.1. Mô hình ứng dụng
Một vấn đề lớn trong mô phỏng mạng đó là khó có thể chạy chính xác các ứng dụng thực tế trong mô phỏng vì mô phỏng mạng không có khả năng thực thi các mã nhị phân.
Do đó, trực tiếp chạy các ứng dụng thực tế trên mô hình kiến trúc NoC không phải là điều dễ dàng thực hiện. Thay vì mô phỏng các ứng dụng thực tế. Một mô hình lưu lượng cung cấp một phân bố thống kê của truyền thông là một giải pháp đơn giản để mô hình và thực hiện nhanh các mô phỏng. Điều này có thể cung cấp các kết quả hữu ích trong giai đoạn đầu của sự phát triển một dự án NoC. Do vậy, trong nghiên cứu này tác giả sử dụng đồ thị tác vụ như trong [25, 66] để mô hình một ứng dụng.
Hình 3.2. Ảnh hưởng của dữ liệu đến chất lượng video [33, 91]
Mỗi ứng dụng có một đồ thị tác vụ cố định và chất lượng của mỗi ứng dụng có thể được điều chỉnh bằng cách thay đổi số lượng dữ liệu được xử lý bằng đồ thị tác vụ ngõ vào. Ví dụ, trong một ứng dụng đồ họa 3D các công cụ hiển thị hình ảnh 3D là cố định và phụ thuộc vào số lượng tam giác sử dụng để biểu diễn cho một đối tượng 3D, ta có thể có các chất lượng khác nhau cho các đối tượng đó [70]. Một ví dụ điển hình khác là một ứng dụng truyền tải video qua giao thức http trong [52], trong đó các bộ giải mã video là cố định và số lượng các bit dữ liệu được sử dụng để biểu diễn nội dung video sẽ xác định
chất lượng của video được giải mã. Hình 3.2 biểu diễn mối quan hệ giữa chất lượng video với số lượng bit dữ liệu thông qua giá trị Bit-rate.
3.3.1.1. Đồ thị tác vụ ứng dụng
Định nghĩa 1: Một đồ thị tác vụ ứng dụng được biểu diễn dưới dạng một đồ thị vô hướng ATGV E, , trong đó V là tập các tác vụ ứng dụng và E là tập tất cả các cạnh, mỗi cạnh trong đồ thị được kết nối giữa hai tác vụ như Hình 3.3.
Mỗi đỉnh vk V là một tác vụ với bộ thông số tid,ttype,tcomp,treqcomp. Trong đó, tid là thông số nhận dạng; ttype là kiểu tác vụ (tác vụ phần cứng tHW hoặc tác vụ phần mềm tSW ), các tác vụ phần cứng được tạo ra bởi ngôn ngữ phần cứng HDL và các tác vụ phần mềm được tạo ra bởi ngôn ngữ lập trình bậc cao như C/C++; tcomplà thời gian tính toán của tác vụ khi nó thực hiện trên tài nguyên phần cứng hoặc phần mềm. Một tác vụ được thực hiện trên tài nguyên phần cứng sẽ có tốc độ tính toán nhanh hơn khi nó thực hiện trên tài nguyên phần mềm [24, 69]; treqcomp là thời gian yêu cầu tối thiểu để thực hiện hoàn thành một tác vụ trên tài nguyên phần cứng hoặc phần mềm.
Mỗi cạnh ers biểu diễn mối quan hệ giữa tác vụ vr và vs. Nó có các thông số như
tcomm,treqcomm, ers . Trong đó, tcomm là trễ truyền thông khi truyền các gói tin từ tác vụ vr đến vs; treqcomm là yêu cầu trễ truyền thông tối thiểu khi truyền các gói tin từ tác vụ vr đến vs; và ers là một hàm trọng lượng đại diện cho tốc độ truyền thông giữa các tác vụ.
Một đồ thị tác vụ có thể được tự động tạo ra bằng cách sử dụng công cụ TGFF [25].
Công cụ này cho phép người dùng tạo ra các đồ thị tác vụ với kích thước không giới hạn.
Với TGFF, các nút của đồ thị là các tác vụ của ứng dụng và các cạnh của đồ thị đại diện truyền thông giữa các cặp tác vụ. TGFF cho phép người dùng tạo ra số lượng nút, cạnh và các thuộc tính khác như trễ truyền thông, thời gian thực hiện, tiêu thụ điện năng, chi phí, v.v. Các giá trị của các thuộc tính này được tạo ra ngẫu nhiên. Ưu điểm của việc sử dụng TGFF với mô hình lưu lượng đơn giản vì nó cung cấp một phương pháp tiêu chuẩn để tạo ra các đồ thị tác vụ ngẫu nhiên.
3.3.1.2. Mô hình chất lượng
Chúng ta cùng xem xét trường hợp nhiều ứng dụng chạy đồng thời trên một thiết bị nhúng cầm tay, mỗi ứng dụng yêu cầu chạy tại các mức chất lượng khác nhau. Khi đó, thiết bị phải có khả năng thích nghi theo các yêu cầu của các ứng dụng bằng cách điều chỉnh cấp phát tài nguyên phần cứng cho từng ứng dụng tại thời gian chạy như Mục 3.2 đã
mô tả. Trong mục này, tác giả xem xét một ứng dụng được biểu diễn dưới nhiều mức chất lượng khác nhau.
Giả sử có M ứng dụng A A A1, 2, 3,...,AM cùng chạy trên một thiết bị, mỗi ứng dụng Ai có Ni mức chất lượng 1, 2, 3,...,
i i i iNi
Q Q Q Q . Mỗi mức chất lượng yêu cầu một tập các tài nguyên bao gồm thời gian tính toán, thời gian truyền thông, diện tích phần cứng và năng lượng. Mức chất lượng cao hơn sẽ yêu cầu tài nguyên nhiều hơn [67, 69]. Ví dụ, giả sử ứng dụng A1 có các mức chất lượng
11 12 13 1N1
Q Q Q Q thì thời gian cần thực hiện ứng dụng tại mỗi mức chất lượng tương ứng sẽ là
11 12 13 1N1
t t t t . Mỗi mức chất lượng Qij cung cấp cho người xem một cảm giác chất lượng, cảm giác chất lượng này có thể biểu diễn bởi một giá trị lợi ích Bij. Tác giả sử dụng mô hình biểu diễn mối quan hệ giữa giá trị lợi ích và mức chất lượng của ứng dụng như đã trình bày trong [67].
Ứng dụng đạt mức chất lượng cao hơn thì sẽ có giá trị lợi ích lớn hơn. Ngược lại, mức chất lượng thấp hơn thì giá trị lợi ích sẽ thấp hơn. Tổng quát, ứng dụng Ai có các mức
chất lượng 1 2 3
i i i iNi
Q Q Q Q thì giá trị lợi ích tương ứng sẽ là
1 2 3 0 1
i i i iNi
B B B B B . 3.3.2. Mô hình phần cứng
Nền tảng phần cứng được xem xét là một nền tảng cấu hình lại được không đồng nhất được thực hiện trên FPGA Virtex-6 dựa trên mô hình NoC đã được phát triển trong Chương 2 (này tảng này cũng có thể phát triển trên một KIT khác có tốc độ làm việc cao hơn như Zynq-7000). Nền tảng bao gồm một vi xử lý nhúng ISP (Microblaze) và các PE phần cứng cấu hình lại được, chúng được kết nối với nhau 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 và thuật toán định tuyến XY như đã trình bày trong Mục 2.1.2. Trong chương này, tác giả chỉ xem xét tái cấu hình cho các PE phần cứng, kiến trúc truyền thông của NoC được giữ cố định trong phần tĩnh của FPGA (Hình 3.3). Mỗi PE có thể hỗ trợ tác vụ phần cứng hoặc phần mềm. Tác vụ phần mềm được thực hiện trên ISP, trong khi tác vụ phần cứng được thực hiện trên các PE cấu hình lại được. Tác giả giả định rằng mỗi PE phần cứng có khả năng hỗ trợ chỉ một tác vụ. Trong khi đó, vi xử lý nhúng ISP có thể hỗ trợ một hoặc nhiều hơn một tác vụ 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 soát tài nguyên và điều khiển cấu hình lại.
Định nghĩa 2: Một nền tảng cấu hình lại dựa trên NoC được biểu diễn bởi một đồ thị
,
NoC N P L trong đó, P là tập các phần tử xử lý PE, và L là tập các kết nối vật lý giữa hai bộ định tuyến.
Mỗi PE pxyP được biểu diễn bởi các thông số pid,padd,ptype,puse, trong đó pid là PE nhận dạng, padd là địa chỉ PE, ptype là kiểu PE gồm có PE cứng pHW và PE mềm
pSW và puse là trạng thái của PE (rỗi và bận).
R
V11
R R
ISP
R R R
R R R
V12 V13
V14 RR
RR RR
RR (PE)
App1 App2 App3 úúú AppM Q11, Q12, …,Q1Ni
Quality levels
Application task graph V11
V12 V13 V14
7 5 6
[10,15]
[4,6] [6,9] [8,12]
Mapping
physical connection
Hình 3.3. Mô hình hệ thống 3.3.3. Xây dựng bài toán ánh xạ
Tác giả xem xét bài toán ánh xạ với M ứng dụng được triển khai đồng thời hoặc tuần tự lên nền tảng phần cứng. Các ứng dụng này có thể biết trước, tuy nhiên, thứ tự xuất hiện của chúng là không biết trước và không phụ thuộc nhau. Mục tiêu của ánh xạ là đạt được chất lượng dịch vụ tổng thể cực đại của M ứng dụng khi triển khai chúng lên nền tảng với các ràng buộc tài nguyên.
Giả sử comp
t ijklà thời gian tính toán của tác vụ vik của ứng dụng Ai trên PE pxy tại mức chất lượng Qij. Khi đó tổng thời gian tính toán cho ứng dụng Ai tại mức chất lượng
Qij trên các PE là:
comp comp
1
i
ij ijk
L
k
t t
Trong đó, Li là số tác vụ của ứng dụng Ai.
(3.1)
Giả sử comm
t ijrslà trễ truyền thông từ tác vụ vir đến tác vụ vis trong ứng dụng Ai tại mức chất lượng Qij. Khi đó tổng trễ truyền thông trong ứng dụngAi tại mức chất lượng
Qij sau khi ánh xạ sẽ là:
comm comm (( , ), (x', y'))
i i
ij ijrs
L L
rs
r s
t t dist x y
Trong đó, rs 1 nếu có một kết nối giữa tác vụ vir và vis, rs 0 cho các trường hợp còn lại. dist x y, , x y’, ’ x' x y' y là khoảng cách Manhattan (MD) từ PE
pxy đến px y' '.
Tổng thời gian thực hiện của ứng dụng Ai tại mức chất lượng Qij được tính bởi công thức:
compij commij
tij t t
Giả sử i đại diện cho mức độ ưu tiên của ứng dụng. Lúc đó, bài toán ánh xạ có thể được xây dựng như sau:
Giả sử có M ATG ứng dụng đưa vào hệ thống đồng thời hoặc tuần tự và trạng thái của nền tảng phần cứng.
Tìm một hàm ánh xạ: A V E , N P L , , Map v ik pxy, vikV p, xyP với các mục tiêu
1 max
1 M Ni
i ij ij
i j
B B
M
βi: Hệ số ưu tiên của ứng dụng
1 1 min
Ni
M
ij ij
i j
T t
Thỏa mãn các điều kiện:
1
1
Ni
ij j
, ij 1 nếu Qij được lựa chọn, 0 cho các trường hợp khác.
HW HW
comp reqcomp
comm reqcomm
ij ij
ij ij
t p
t t
t t
(3.2)
(3.3)
(3.4)
(3.5)
(3.6)
Cần lưu ý rằng, biểu thức (3.4) là mục tiêu chính của bài toán ánh xạ. Khi Bmax được tìm thấy, biểu thức (3.5) sẽ được sử dụng để tìm một giải pháp vị trí đặt các tác vụ tối ưu.