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

Một phần của tài liệu Luận án tiến sĩ nghiên cứu noc cấu hình lại được trên FPGA và phát triển thuật toán ánh xạ động ứng dụng trên nền tảng noc (Trang 24 - 27)

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

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

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

1.1.3.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 digit). Mỗi flit mang theo các Phit (Physical Transfer Digit). 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 [32].

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.

1.1.3.2. 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.6a. Để 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 [32].

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

Buffer

a) Store-and-Forward packet

data flit header flit

Buffer

b) Wormhole Router

Router

Hình 1.6. 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.6b). 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 [32].

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.

1.1.3.4. Cơ chế điều khiển luồng Virtual cut-through (VCT)

Để khắc phục hiện tượng HoL xảy ra trong WH, mỗi bộ định tuyến được bổ sung một bộ đệm kênh có kích thước đủ để chứa cả một gói tin, gói tin bị chặn sẽ được lưu tại bộ định tuyến đến khi gói tin chặn nó được truyền hết qua bộ định tuyến. Ngoài ra, cơ chế này cũng cho phép truyền gói tin đi theo từng flit như kỹ thuật WH. Do đó, kỹ thuật này cho phép trễ nhỏ và ít xảy ra HoL [32].

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

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ý. Như vậy, các gói tin có thể dùng chung một kênh vật lý đồng thời và chia sẻ băng thông của mạng. Mỗi gói tin sẽ sử dụng một kênh logic – kênh ảo. Do vậy, vài kênh ảo có thể cùng dùng chung một kênh vật lý. Khi các kênh ảo trong mạng tăng thì sẽ kéo theo hiệu năng mạng và băng thông cũng tăng lên.

Một phần của tài liệu Luận án tiến sĩ nghiên cứu noc cấu hình lại được trên FPGA và phát triển thuật toán ánh xạ động ứng dụng trên nền tảng noc (Trang 24 - 27)

Tải bản đầy đủ (PDF)

(107 trang)