Triển Khai Ứng Dụng Điều Chỉnh Mức Chất Lượng Trên Nền Tảng NoC Cấu Hình Lại

Triển khai ứng dụng điều chỉnh chất lượng trên nền tảng noc cấu hình lại được giúp tối ưu hóa hiệu suất và linh hoạt trong quản lý.

Người đăng

Ẩn danh

Thể loại

báo cáo chi tiết

2019

73
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI MỞ ĐẦU

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Lý thuyết về mạng trên chip

1.2. Nguồn gốc và thuật ngữ

1.3. Cấu hình mạng

1.4. Mạng lưới n-chiều (n-Dimensional Mesh)

1.5. Mạng K-ary n-cube. Mạng có số chiều thấp

1.6. Cơ chế điều khiển luồng

1.6.1. Cơ chế điều khiển luồng Store-and-Forward (SAF)

1.6.2. Cơ chế điều khiển luồng Wormhole (WH)

1.6.3. Cơ chế điều khiển luồng kênh ảo (Virtual Channel)

1.7. Thuật toán định tuyến

1.7.1. Phân loại định tuyến

1.8. Tổng quan kiến trúc bộ định tuyến

1.9. Công nghệ FPGA

1.9.1. Kiến trúc FPGA. Tổng quan kiến trúc FPGA. Kiến trúc FPGA của Xilinx

1.9.2. Cấu hình lại từng phần

1.9.3. Cấu hình lại từng phần động. Các ưu điểm của cấu hình lại từng phần

1.10. Kỹ thuật ánh xạ ứng dụng lên nền tảng mạng trên chip

1.10.1. Bài toán ánh xạ

1.10.2. Ánh xạ tại thời gian thiết kế

1.10.3. Ánh xạ tại thời gian chạy

1.11. Kết luận chương

2. CHƯƠNG 2: PHÁT TRIỂN NỀN TẢNG PHẦN CỨNG CẤU HÌNH LẠI ĐƯỢC CHO NoC

2.1. Xây dựng hệ thống (nền tảng phần cứng) cấu hình

2.2. Luồng thiết kế

2.3. Thiết lập hệ thống

2.4. Các trường hợp nghiên cứu

2.5. Cấu hình lại cơ sở hạ tầng truyền thông

2.6. Cấu hình lại các PE. Kết quả thực nghiệm

2.7. Kết luận chương

3. CHƯƠNG 3: ÁP DỤNG CHIẾN LƯỢC CHỌN VÙNG VÀ THUẬT TOÁN NSGA2 CHO BÀI TOÁN ÁNH XẠ CÁC ỨNG DỤNG LÊN NoC

3.1. Các định nghĩa và bài toán ánh xạ

3.2. Mô hình ứng dụng

3.3. Đồ thị tác vụ ứng dụng

3.4. Mô hình chất lượng

3.5. Mô hình phần cứng

3.6. Bài toán ánh xạ

3.7. Vùng gần lồi và thuật toán NSGA2

3.7.1. Chiến lược chọn vùng gần lồi

3.7.2. Thuật toán NSGA2

3.7.2.1. Khởi tạo quần thể cha
3.7.2.2. Đánh giá quần thể
3.7.2.3. Sắp xếp thứ hạng và tính khoảng cách hội tụ cho quần thể cha
3.7.2.4. Lựa chọn cá thể bố mẹ trong quần thể cha
3.7.2.5. Chéo hóa và đột biến
3.7.2.6. Sắp xếp thứ hạng, tính khoảng cách hội thụ cho quần thể cha, con và tạo quần thể cha mới

3.8. Kết quả mô phỏng và thảo luận

3.8.1. Thiết lập mô phỏng

3.8.2. Kết quả và đánh giá

3.9. Kết luận chương

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Ứng Dụng Điều Chỉnh Chất Lượng Trên Nền Tảng NoC

Trong bối cảnh công nghệ ngày càng phát triển, việc điều chỉnh chất lượng dịch vụ trong mạng trên chip (NoC) trở thành một yếu tố quan trọng. Nền tảng NoC cho phép tích hợp nhiều lõi IP, giúp tối ưu hóa hiệu suất và khả năng xử lý. Việc điều chỉnh chất lượng dịch vụ không chỉ giúp cải thiện trải nghiệm người dùng mà còn tối ưu hóa tài nguyên hệ thống.

1.1. Khái Niệm Về Mạng NoC Và Chất Lượng Dịch Vụ

Mạng NoC là một kiến trúc truyền thông cho phép kết nối nhiều lõi xử lý trên một chip. Chất lượng dịch vụ (QoS) trong NoC liên quan đến khả năng đáp ứng các yêu cầu về băng thông, độ trễ và độ tin cậy của các ứng dụng.

1.2. Tầm Quan Trọng Của Việc Điều Chỉnh Chất Lượng

Điều chỉnh chất lượng dịch vụ trong NoC giúp tối ưu hóa hiệu suất hệ thống, giảm thiểu độ trễ và tăng cường khả năng xử lý. Điều này đặc biệt quan trọng trong các ứng dụng đa phương tiện và IoT.

II. Vấn Đề Và Thách Thức Trong Ứng Dụng NoC

Mặc dù NoC mang lại nhiều lợi ích, nhưng vẫn tồn tại nhiều thách thức trong việc triển khai và tối ưu hóa chất lượng dịch vụ. Các vấn đề như quản lý băng thông, độ trễ và khả năng mở rộng cần được giải quyết.

2.1. Quản Lý Băng Thông Trong Mạng NoC

Quản lý băng thông là một thách thức lớn trong NoC. Việc phân bổ băng thông hợp lý giúp đảm bảo rằng các ứng dụng có thể hoạt động hiệu quả mà không bị gián đoạn.

2.2. Độ Trễ Và Tính Đáng Tin Cậy

Độ trễ trong truyền tải dữ liệu có thể ảnh hưởng đến chất lượng dịch vụ. Cần có các giải pháp để giảm thiểu độ trễ và đảm bảo tính đáng tin cậy của mạng.

III. Phương Pháp Điều Chỉnh Chất Lượng Trong NoC

Để điều chỉnh chất lượng dịch vụ trong NoC, nhiều phương pháp đã được đề xuất. Các phương pháp này bao gồm tối ưu hóa thuật toán định tuyến, sử dụng kênh ảo và điều khiển luồng.

3.1. Tối Ưu Hóa Thuật Toán Định Tuyến

Thuật toán định tuyến đóng vai trò quan trọng trong việc tối ưu hóa lưu lượng dữ liệu trong NoC. Việc áp dụng các thuật toán tiên tiến giúp cải thiện hiệu suất truyền tải.

3.2. Sử Dụng Kênh Ảo Để Tăng Cường Chất Lượng

Kênh ảo cho phép phân chia băng thông giữa các ứng dụng khác nhau, giúp tối ưu hóa việc sử dụng tài nguyên và cải thiện chất lượng dịch vụ.

IV. Ứng Dụng Thực Tiễn Của NoC Trong Các Hệ Thống Nhúng

NoC đã được áp dụng rộng rãi trong các hệ thống nhúng, đặc biệt là trong các thiết bị IoT và các ứng dụng đa phương tiện. Việc điều chỉnh chất lượng dịch vụ trong các hệ thống này giúp nâng cao trải nghiệm người dùng.

4.1. NoC Trong Các Thiết Bị IoT

Mạng NoC cung cấp một giải pháp hiệu quả cho việc kết nối nhiều thiết bị IoT, giúp tối ưu hóa việc truyền tải dữ liệu và cải thiện chất lượng dịch vụ.

4.2. Ứng Dụng Trong Các Hệ Thống Đa Phương Tiện

Trong các ứng dụng đa phương tiện, việc điều chỉnh chất lượng dịch vụ là rất quan trọng để đảm bảo trải nghiệm người dùng mượt mà và không bị gián đoạn.

V. Kết Luận Và Hướng Phát Triển Tương Lai

Việc điều chỉnh chất lượng dịch vụ trên nền tảng NoC là một lĩnh vực nghiên cứu quan trọng. Các giải pháp hiện tại đã mang lại nhiều tiến bộ, nhưng vẫn cần tiếp tục nghiên cứu để giải quyết các thách thức còn tồn tại.

5.1. Tóm Tắt Các Kết Quả Đạt Được

Các nghiên cứu đã chỉ ra rằng việc điều chỉnh chất lượng dịch vụ có thể cải thiện đáng kể hiệu suất của hệ thống NoC.

5.2. Hướng Nghiên Cứu Tương Lai

Cần tiếp tục nghiên cứu các phương pháp mới để tối ưu hóa chất lượng dịch vụ trong NoC, đặc biệt là trong bối cảnh các ứng dụng ngày càng phức tạp.

24/07/2025
Triển khai các ứng dụng có thể điều chỉnh mức chất lượng lên nền tảng noc cấu hình lại được

Trích đoạn nội dung tài liệu

CHƯƠNG 1 CƠ SỞ LÝ THUYẾT Trong chương này, chúng tôi sẽ trình bày ngắn gọn các kiến thức liên quan đến nội dung nghiên cứu của đề tài để làm cơ sở cho những đề xuất trong các chương tiếp theo. Lý thuyết về NoC gồm kiến trúc của bộ định tuyến, cấu hình mạng, thuật toán định tuyến, cơ chế điều khiển luồng và chuyển mạch; công nghệ FPGA hiện tại và tương lai, các điểm mạnh và khả năng cấu hình lại từng phần động của các FPGA hiện đại; các kỹ thuật ánh xạ như phương pháp ánh xạ tại thời gian thiết kế và tại thời gian chạy sẽ được giới thiệu và phân tích. Lý thuyết về mạng trên chip 1. Nguồn gốc và thuật ngữ Với sự phát triển không ngừng của công nghệ bán dẫn và công nghệ nano, số lượng các ứng dụng được tích hợp lên chip ngày càng tăng.

Kiến trúc Bus và kết nối điểm-điểm truyền thống không còn đáp ứng được yêu cầu này vì chúng có một số hạn chế trong khả năng mở rộng, khả năng sử dụng lại các IP, đồng bộ, v. Kiến trúc NoC đã được đề xuất và xem như một giải pháp thay thế cho kiến trúc Bus và kết nối điểm-điểm. Kiến trúc NoC cung cấp một cơ sở hạ tầng truyền thông có hiệu năng cao, thích hợp cho việc tích hợp một số lượng lớn các lõi IP lên một SoC [7][8]. Do vậy, NoC được đề xuất như là một giải pháp cho truyền thông giữa các IP trong thiết kế các SoC phức tạp.

Ý tưởng xây dựng NoC bắt nguồn từ mô hình mạng máy tính đã được phát triển trong lịch sử của hệ thống máy tính.1 mô tả một NoC điển hình dạng lưới hai chiều 3x3. IP core core core (0,0) (0,1) (0,2) Router Router Router links core core core (1,0) (1,1) (1,2) Router Router Router core core core (2,0) (2,1) (2,2) Router Router Router Hình 1. Cấu trúc của một NoC dạng lưới 3x3 Các thuật ngữ thường được sử dụng trong NoC: 6 Tài nguyên (Resource) hay lõi IP (IP core) hoặc PE (Processing Element): Là các khối logic thực hiện xử lý dữ liệu trong mạng. Khối logic này có thể là một lõi vi xử lý, một bộ biến đổi FFT (Fast Fourier Transform), một lõi xử lý DSP (Digital Signal Processor), v.

Bộ giao tiếp mạng (NI: Network Interface): Là khối logic làm nhiệm vụ kết nối tài nguyên vào mạng tại các vị trí giao diện dữ liệu vào ra của bộ định tuyến. Bộ định tuyến (Router): Là khối logic thực hiện chức năng định tuyến, điều khiển luồng cho dòng dữ liệu trong mạng. Liên kết vật lý (Physical link): Là các kết nối vật lý giữa các bộ định tuyến trong mạng NoC. Liên kết bao gồm các đường truyền dữ liệu và các tín hiệu điều khiển/báo hiệu.

Cấu hình mạng (Topology): Là cấu trúc hình học của NoC, cấu trúc hình học này sẽ quyết định cách liên kết giữa các bộ định tuyến với nhau, giải thuật định tuyến và thậm chí cả cơ chế điều khiển luồng. Định tuyến (Routing): Là cơ chế tìm đường đi cho gói tin (Packet) từ tài nguyên nguồn đến tài nguyên đích thông qua các kết nối trong mạng. Điều khiển luồng (Flow control): Là cơ chế cấp phát tài nguyên bộ đệm, liên kết cho gói tin khi gói tin đang truyền trong mạng. Độ trễ (Latency): Là thời gian cần thiết để truyền một gói tin đi từ nguồn đến đích.

Cấu hình mạng Topologies Irregular Regular Trees Meshes Cubes Others n-dimensional Cube-connected Fat tree k-ary n-cubes meshes cycles 2D meshes Torus (n=2) Hình 1. Phân loại cấu hình mạng NoC Một cấu hình mạng được định nghĩa là cách kết nối các bộ định tuyến trong mạng với nhau thông qua các kênh liên kết. Cấu hình mạng thường được biểu diễn dưới dạng đồ thị. Cấu hình mạng có thể chia thành hai nhóm chính: Bất quy tắc (Irregular) và quy tắc (Regular) [14].

Các cấu hình mạng quy tắc đơn giản hơn so với các cấu hình bất quy tắc. Do vậy, định tuyến trong cấu hình mạng quy tắc dễ dàng hơn, kích thước của chuyển mạch 7 có khả năng nhỏ hơn, hiệu quả hơn, băng thông cao, chu kỳ đồng hồ nhanh hơn và khả năng mở rộng hệ thống cũng dễ hơn [15].2 chỉ ra cách phân loại cấu hình mạng. Mạng lưới n-chiều (n-Dimensional Mesh) Trong cấu hình mạng lưới n-chiều, các nút mạng được sắp thành một mảng n chiều. Dọc theo mỗi chiều có ki nút (ki ≥ 2, i là số thứ tự của chiều, 0 ≤ i ≤ n-1).

Mạng sẽ có tổng số nút là k0,k1,…,kn-1. Mỗi nút có từ n đến 2n nút lân cận tùy vào vị trí của nó trong mạng như Hình 1. Nếu lưu lượng dữ liệu trong mạng là đều giữa các nút thì các kênh truyền dẫn gần trung tâm sẽ mang nhiều lưu lượng hơn do chúng có nhiều liên kết giữa các nút nhất [16]. Mạng lưới n-chiều 1.

Mạng K-ary n-cube Trong cấu hình mạng này, các nút được sắp xếp thành một mảng n chiều và số nút trên mỗi chiều bằng nhau và bằng k như Hình 1. Do đó tổng số nút có trong mạng là kn nút. Với cấu hình này, các nút tại vị trí giao nhau giữa các cạnh của mạng sẽ có thêm liên kết với nhau [17]. Mạng k-ary n-cube 1.

Mạng có số chiều thấp 8 Khi cấu hình mạng lưới n-chiều và k-ary n-cube ở trên có n = 2, mạng lưới n-chiều trở thành mạng lưới hai chiều (2D-mesh) và mạng k-ary n-cube trở thành mạng torus hai chiều (2D-torus). Đây là các cấu hình mạng thông dụng được sử dụng trong thiết kế NoC dành cho các hệ thống SoC. Trong mạng lưới hai chiều, liên kết giữa các nút là liên kết hai chiều và trong cấu hình mạng torus hai chiều liên kết giữa các nút là liên kết một chiều [18].5 trình bày cấu hình mạng lưới hai chiều và torus. a) Mesh b) Torus Hình 1.

Mạng hai chiều mesh và torus 1. Cơ chế điều khiển luồng 1. Bản tin Trong NoC, nút nguồn và nút đích trao đổi thông tin với nhau thông qua các bản tin (Message), mỗi bản tin được chia thành nhiều gói tin và mỗi gói tin được chia thành nhiều phần nhỏ gọi là flit (Flow control unit). Mỗi flit mang theo các Phit (Physical Transfer unit).

Các liên kết trong mạng sẽ truyền từng flit của gói tin đi từ nguồn đến đích. Để đảm bảo toàn bộ bản tin truyền đến được đích và tiết kiệm được lưu lượng cho mạng đồng thời nâng cao hiệu năng mạng, người thiết kế cần lựa chọn cơ chế điều khiển luồng thích hợp theo cấu hình mạng của NoC [19]. Gói tin: Là đơn vị cơ bản để thực hiện định tuyến và sắp xếp thứ tự cũng như trạng thái điều khiển cho gói tin. Phần Header của gói tin chứa thông tin định tuyến và có thể chứa số thứ tự gói tin.

Trong đó, thông tin định tuyến dùng để xác định đường di chuyển của gói tin từ nút nguồn đến nút đích. Mỗi gói tin thường có kích thước từ 128 bit đến 512 Kbit. Flit: Là đơn vị cơ bản để thực hiện cấp phát băng thông và tài nguyên kênh truyền, bộ đệm trong các cơ chế điều khiển luồng. Có ba loại flit được sử dụng: Header flit, body flit và tail flit.

Trong đó, header flit là flit đầu tiên của gói tin và được gọi là flit tiêu đề, flit này mang theo thông tin định tuyến như địa chỉ nút đích của gói tin. Body flit và tail flit không mang theo thông tin định tuyến mà mang theo thông tin về loại flit và dữ liệu của gói tin, do đó body flit và tail flit được truyền cùng đường đi với flit tiêu đề. Mỗi flit có kích thước từ 16 bit đến 512 bit và mỗi Phit có kích thước từ 1 bit đến 64 bit. Cơ chế điều khiển luồng Store-and-Forward (SAF) Cơ chế điều khiển luồng này thực hiện như sau: Một flit đơn được gửi đến một cổng ra của một bộ định tuyến tại mỗi đơn vị thời gian.

Bộ định tuyến sẽ gửi flit tiêu đề đến bộ định tuyến kế tiếp khi đã nhận được tail flit của gói tin như Hình 1. Để chống tràn bộ đệm kênh truyền ngõ vào, bộ đệm ngõ vào cần phải lớn hơn dung lượng của gói tin [19]. Cơ chế điều khiển luồng Wormhole (WH) Buffer Router a) Store-and-Forward packet data flit header flit Buffer Router b) Wormhole Hình 1. Cơ chế điều khiển luồng SAF và WH Trong cơ chế điều khiển luồng này, một flit được định tuyến và truyền đi đến bộ định tuyến kế tiếp trước khi flit tiếp theo được truyền đến.

Các bộ định tuyến sẽ lưu một phần các flit của một gói tin đơn. Điều này yêu cầu bộ đệm trong bộ định tuyến có kích thước nhỏ. Theo lý thuyết, kích thước của bộ đệm kênh truyền trong bộ định tuyến chỉ cần bằng một flit đơn (Hình 1. Vì mỗi bộ định tuyến có thể chuyển tiếp các flit của một gói tin trước khi nhận đầy đủ cả gói tin, các flit được lưu trên nhiều bộ định tuyến dọc theo đường đi của gói tin [19].

Cơ chế điều khiển luồng WH tốt hơn cơ chế điều khiển SAF cả về kích thước bộ đệm yêu cầu và độ trễ. Tuy nhiên, cơ chế này cũng có nhược điểm riêng là hiệu năng của mạng bị giảm khi một gói tin bị nghẽn. Các phần của một gói tin có thể được lưu trong các bộ định tuyến dọc theo đường đi của gói tin, vì thế một gói tin đơn sẽ chiếm dụng các bộ đệm trên nhiều bộ định tuyến khi nó di chuyển. Khi phần đầu của gói tin không thể tiếp tục di chuyển do có xung đột.

Trường hợp này gọi là nghẽn HoL (Head-of-Line). Các bộ đệm bị chiếm bởi HoL sẽ ngăn các gói tin khác đang muốn đi qua đường đi của gói tin bị nghẽn và dẫn đến giảm hiệu năng của mạng. Cơ chế điều khiển luồng kênh ảo (Virtual Channel) 10 Trong các cơ chế điều khiển luồng trên đây, mỗi kênh liên kết vật lý cần một bộ đệm kết hợp với một FIFO để lưu trữ các flit đi vào bộ định tuyến. Bộ đệm này chứa các flit của một gói tin đơn và nếu như gói tin bị chặn thì liên kết vật lý sẽ ở trạng thái rỗi do không có gói tin nào khác có thể yêu cầu tài nguyên bộ đệm để truy cập kênh truyền.

Cơ chế điều khiển luồng kênh ảo được đưa ra để khắc phục nhược điểm này. Cơ chế này tạo ra nhiều bộ đệm cho mỗi kênh trong mạng. Mỗi bộ đệm có thể chứa một hay nhiều flit của một gói tin kết hợp với thông tin trạng thái gói tin. Nếu gói tin hiện đang sử dụng kênh liên kết vật lý bị chặn thì các gói tin khác có thể yêu cầu các bộ đệm ngõ vào khác để sử dụng kênh liên kết vật lý.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ