Tóm tắt Luận án tiến sĩ Kỹ thuật: 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

27 1 0
  • Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 19/10/2020, 02:05

Đề xuất kiến trúc NoC hiệu năng cao bao gồm kiến trúc bộ định tuyến và bộ giao tiếp mạng. Xây dựng nền tảng phần cứng đa lõi linh hoạt có khả năng cấu hình lại được từng phần trên FPGA dựa trên kiến trúc NoC. Nền tảng này cho phép thay đổi tự động một số mô đun trong lớp truyền thông hoặc lớp tính toán của NoC tại thời gian chạy để thích nghi với các yêu cầu thay đổi của các ứng dụng. Xây dựng và đề xuất các thuật toán cho bài toán ánh xạ các ứng dụng có thể điều chỉnh mức chất lượng vào nền tảng phần cứng cấu hình lại được dựa trên NoC. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI NGUYỄN VĂN CƯỜNG NGHIÊN CỨU NoC CẤU HÌNH LẠI ĐƯỢC TRÊN FPGA VÀ PHÁT TRIỂN THUẬT TỐN ÁNH XẠ ĐỘNG ỨNG DỤNG TRÊN NỀN TẢNG NoC Chuyên ngành: Kỹ thuật điện tử Mã số: 62520203 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ Hà Nội – 2017 Cơng trình hồn thành tại: Trường Đại học Bách khoa Hà Nội Người hướng dẫn khoa học: PGS.TS PHẠM NGỌC NAM Phản biện 1: Phản biện 2: Phản biện 3: Luận án bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp Trường họp Trường Đại học Bách khoa Hà Nội Vào hồi … … , ngày … tháng … năm 2017 Có thể tìm hiểu luận án thư viện: Thư viện Tạ Quang Bửu - Trường ĐHBK Hà Nội Thư viện Quốc gia Việt Nam MỞ ĐẦU Đặt vấn đề Ngày nay, thiết bị nhúng trở nên quan trọng sống (ví dụ: điện thoại thơng minh, thiết bị di động) Khi thiết kế hệ thống nhúng, người thiết kế cần xem xét kỹ lưỡng tiêu chí ràng buộc hiệu năng, thời gian đưa sản phẩm thị trường, tiêu thụ lượng, kích thước thực hiện, khả nâng cấp, cập nhật ứng dụng tính tương lai, v.v Bên cạnh đó, ứng dụng đa phương tiện tiên tiến HD-video, xử lý ảnh, trò chơi 3D, v.v ln u cầu sức mạnh tính tốn lớn chuyển tải liệu nhanh Các ứ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 [52, 70] Ví dụ xem video Internet, tùy thuộc vào băng thông mạng khả xử lý thiết bị mà người dùng xem video mức chất lượng HD SD, v.v Thêm vào đó, ứng dụng mơ hình hóa dạng đồ thị tác vụ với số lượng lớn tác vụ truyền thơng đặc tính khác yêu cầu xử lý song song tác vụ cao Một yếu tố khác hành vi người sử dụng thiết bị thay đổi theo thời gian nghe nhạc, xem phim chơi trò chơi, v.v Theo yêu cầu này, dễ thấy ứng dụng đưa vào rời khỏi hệ thống thời điểm Thứ tự ứng dụng đưa vào rời hệ thống khơng thể biết trước Ngồi ra, mức chất lượng ứng dụng bị thay đổi theo hành vi người dùng theo tình trạng tài ngun sẵn có thiết bị (ví dụ: yêu cầu mức chất lượng, hiệu cho ứng dụng) Do vậy, việc phát triển tảng phần cứng có nhiều khả linh hoạt khả thích nghi với yêu cầu cần thiết Một xu hướng thiết kế tảng tiên tiến tạo tảng tái cấu hình mô đun vật lý sau chế tạo, kết hợp vi xử lý thiết bị cấu hình lại [90], chẳng hạn FPGA (Field Programmable Gate Array), để tăng thêm tính linh hoạt cho hệ thống môi trường khác [63] Tuy nhiên, khả phần tử cấu hình lại thiết bị ln có giới hạn Do vậy, cần lựa chọn thêm giải pháp quản lý động cho hệ thống Một giải pháp quan trọng linh hoạt kỹ thuật ánh xạ ứng dụng động Kỹ thuật kết hợp với khả cấu hình lại phần động thiết bị phần cứng FPGA tạo giải pháp hứa hẹn để giải yêu cầu triển khai nhiều ứng dụng điều chỉnh mức chất lượng lên tảng có tài ngun tái cấu hình hạn chế [8, 86] Hơn nữa, độ phức tạp thiết bị nhúng đại ngày tăng, số lượng ngày nhiều ứng dụng với chất lượng dịch vụ (QoS: Quality of Service) khác triển khai lên thiết bị, thường môi trường tảng cấu hình lại khơng đồng Bởi 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 chứng minh có nhiều ưu điểm so với tảng đồng [1, 49] Trong tảng vậy, xử lý nhúng thường sử dụng để quản lý thực số tác vụ phức tạp thấp vùng cấu hình lại sử dụng để tăng tốc độ tính tốn cho tác vụ phức tạp Khả cấu hình động cho phép tảng thích nghi với yêu cầu xử lý thay đổi ứng dụng Mặt khác, yêu cầu truyền thông ngày gia tăng hệ thống chip (SoC: System on Chip) phức tạp tảng đa lõi khơng đồng cấu hình lại Do việc lựa chọn sở hạ tầng truyền thông phù hợp cần thiết Điều phải đảm bảo kết nối cần thiết với QoS xác định trước, chẳng hạn thông lượng trễ tối đa Tuy nhiên, nhiều trường hợp mức ưu tiên ứng dụng chưa biết trước lúc thiết kế mà biết chúng triển khai vào hệ thống thời gian chạy Trong trường hợp này, yêu cầu truyền thông hiệu đến thời gian tổng hợp, sở hạ tầng truyền thông linh hoạt lựa chọn Hơn nữa, SoC phức tạp yêu cầu tích hợp số lượng lớn lõi IP (Intellectual Property) lên nó, vậy, sở hạ tầng truyền thông hiệu cao, khả xử lý song song để kết nối IP khác cần sử dụng Với yêu cầu này, kiến trúc truyền thống Bus chia sẻ hay kết nối trực tiếp điểm-điểm áp dụng Kiến trúc mạng chip (NoC: Network on Chip) đời xem giải pháp thay cho kiến trúc Bus kết nối điểm-điểm theo hướng công nghệ Kiến trúc NoC cung cấp sở hạ tầng truyền thơng có hiệu cao, có khả mở rộng khả xử lý song song cao, thích hợp cho việc tích hợp số lượng lớn lõi IP lên SoC [9,50] Do vậy, NoC đề xuất giải pháp cho truyền thông IP thiết kế SoC phức tạp Ngoài ra, hầu hết tảng phần cứng SoC chế tạo công nghệ ASIC (Application-Specific Integrated Circuit) dạng thiết kế tĩnh, có nghĩa IP, hạ tầng truyền thông thiết bị ngoại vi thay đổi sau sản phẩm chế tạo Do chúng khó đáp ứng yêu cầu cho khả thích nghi, thay đổi số mơ đun hay sửa lỗi sau chế tạo Để phát triển tảng SoC dạng ASIC cần phải có quỹ thời gian dài chi phí cao yêu cầu thiết kế với số lượng sản phẩm không lớn Điều rõ ràng bất lợi không phù hợp với yêu cầu như: Thời gian thiết kế sản phẩm mẫu ngắn, số lượng sản phẩm nhỏ, sản phẩm có độ linh hoạt thích nghi cao Các hạn chế khắc phục cơng nghệ FPGA Một tính đặc biệt FPGA đại khả cấu hình lại cấu hình lại phần động Với khả này, FPGA thay đổi nhiều lần thay đổi động chức thực thiết bị vật lý cịn hoạt động Do đó, FPGA lựa chọn tảng hứa hẹn để tạo mẫu nhanh cho hệ thống chip so với ASIC [84] Điều thích hợp để xây dựng hệ thống thích nghi Một hệ thống thích nghi [2, 87] mơ hình tác vụ tính tốn thay đổi thích nghi với tình trạng tài nguyên hệ thống yêu cầu ứng dụng hay hành vi người dùng thời gian chạy Hơn nữa, nhờ vào phát triển không ngừng công nghệ bán dẫn công nghệ nano mà số lượng tài nguyên tốc độ xử lý FPGA dần tăng; giá thành tiêu thụ lượng tiếp tục giảm Thêm vào xu hướng thiết kế kết hợp vi xử lý FPGA [28, 43] làm cho phù hợp với thiết kế hệ thống phức tạp linh hoạt FPGA [6, 41] Với yêu cầu vậy, việc phát triển tảng nhúng đa lõi cấu hình lại động FPGA dựa theo mơ hình NoC có hiệu cao triển khai ứng dụng điều chỉnh mức chất lượng lên tảng thời gian chạy vấn đề cần nghiên cứu Đó động lực mạnh mẽ thơi thúc nghiên cứu sinh chọn thực nội dung nghiên cứu luận án Mục tiêu, phạm vi phƣơng pháp nghiên cứu Mục tiêu nghiên cứu: (i) Đề xuất kiến trúc NoC hiệu cao bao gồm kiến trúc định tuyến giao tiếp mạng (ii) Xây dựng tảng phần cứng đa lõi linh hoạt có khả cấu hình lại phần FPGA dựa kiến trúc NoC Nền tảng cho phép thay đổi tự động số mô đun lớp truyền thơng lớp tính tốn NoC thời gian chạy để thích nghi với yêu cầu thay đổi ứng dụng (iii) Xây dựng đề xuất thuật toán cho toán ánh xạ ứng dụng điều chỉnh mức chất lượng vào tảng phần cứng cấu hình lại dựa NoC Phạm vi nghiên cứu: Nghiên cứu mơ hình kiến trúc NoC sử dụng cấu hình lưới hai chiều, kỹ thuật điều khiển luồng wormhole, kênh ảo giải thuật định tuyến XY để xây dựng mơ hình truyền thơng NoC có hiệu cao (ii) Nghiên cứu công nghệ FPGA Xilinx, công nghệ cấu hình lại phần động FPGA để phát triển tảng phần cứng có khả cấu hình lại lớp truyền thơng lớp tính tốn (iii) Nghiên cứu tốn ánh xạ ứng dụng động điều chỉnh mức chất lượng vào tảng phần cứng đa lõi cấu hình lại dựa NoC với giả thiết kiến trúc lớp truyền thông cố định cấu hình lại lớp tính tốn (các PE) NoC để thích nghi với chuyển đổi từ ứng dụng đến ứng dụng khác lên tảng phần cứng thay đổi mức chất lượng ứng dụng Ngoài ra, luận án tập trung vào nghiên cứu mơ hình ứng dụng dạng đồ thị tác vụ Phương pháp nghiên cứu Đầu tiên, phương pháp điều tra phân tích dựa sách, tạp chí nguồn tài liệu khác từ Internet sử dụng Các ưu điểm hạn chế vấn đề nghiên cứu liên quan đến luận án Từ đó, tác giả đề xuất số mơ hình thuật tốn cho vấn đề nghiên cứu Cuối cùng, tính xác đắn mơ hình thuật tốn đề xuất kiểm chứng phân tích mô phần mềm thực nghiệm thiết bị thực tế Cấu trúc luận án Cấu trúc luận án bao gồm ba chương: Chương trình bày lý thuyết liên quan đến nội dung nghiên cứu luận án Chương phát triển tảng phần cứng cấu hình lại cho NoC Chương triển khai ứng dụng điều chỉnh mức chất lượng vào tảng cấu hình lại dựa NoC thời gian chạy (i) CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Lý thuyết mạng chip Với phát triển không ngừng công nghệ bán dẫn công nghệ nano, số lượng ứng dụng tích hợp lên chip ngày tăng Kiến trúc Bus kết nối điểm-điểm truyền thống không cịn đáp ứng u cầu chúng có số hạn chế khả mở rộng, khả sử dụng lại IP, đồng bộ, v.v [35, 55] Kiến trúc NoC đề xuất xem giải pháp thay cho kiến trúc Bus kết nối điểm-điểm Kiến trúc NoC cung cấp sở hạ tầng truyền thơng có hiệu cao, thích hợp cho việc tích hợp số lượng lớn lõi IP lên SoC [9, 50] Do vậy, NoC đề xuất giải pháp cho truyền thông IP thiết kế 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 phát triển lịch sử hệ thống máy tính Hình 1.1 mơ tả NoC điển hình dạng lưới hai chiều 3x3 Tiếp theo, thuật ngữ thường sử dụng NoC trình bày Tài nguyên (Resource) hay lõi IP (IP core) PE (Processing Element): Là khối logic thực xử lý liệu mạng Khối logic lõi vi xử lý, biến đổi FFT (Fast Fourier Transform), lõi xử lý DSP (Digital Signal Processor), v.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 vị trí giao diện liệu vào định tuyến Do khác biệt kích thước liệu, giao diện tín hiệu điều khiển tài nguyên với mạng, giao tiếp mạng thay đổi tùy theo tài nguyên kết nối với mạng Bộ định tuyến (Router): Là khối logic thực chức định tuyến, điều khiển luồng cho dòng liệu mạng Đóng vai trị hạt nhân NoC với mơ hình NoC khác nhau, định tuyến thiết kế riêng để thực thuật toán định tuyến, chế điều khiển luồng riêng biệt Liên kết vật lý (Physical link): Là kết nối vật lý định tuyến mạng NoC Liên kết bao gồm đường truyền liệu 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 NoC, cấu trúc hình học định cách liên kết định tuyến với nhau, giải thuật định tuyến chí chế điều khiển luồng Định tuyến (Routing): Là chế tìm đường cho gói tin (Packet) từ tài ngun nguồn đến tài ngun đích thơng qua kết nối mạng Điều khiển luồng (Flow control): Là chế cấp phát tài nguyên đệm, liên kết cho gói tin gói tin truyền mạng Độ trễ (Latency): Là thời gian cần thiết để truyền gói tin từ nguồn đến đích Trong NoC, có nhiều yếu tố ảnh hưởng tới độ trễ bao gồm trễ định tuyến, độ chiếm dụng kênh, trễ tranh chấp tài nguyên, thời gian ghép tách gói tin (packetization and depacketization), thời gian ghép tách flit (flitization and deflitization), đồng định tuyến Băng thông (Bandwidth): Là tốc độ cao luồng thông tin mạng đo số bit/giây Thơng lượng (Throughput): Là tổng số gói tin đến đích chúng đơn vị thời gian IP core (1,1) Router IP core (2,0) IP core (1,2) Router N I N I Router IP core (2,2) IP core (2,1) Router N I N I N I IP core (1,0) Router Physical links Router Router N I Router N I IP core (0,2) N I IP core (0,1) N I IP core (0,0) Router Hình 1.1 Cấu trúc NoC dạng lưới 3x3 1.2 Công nghệ FPGA FPGA mạch tích hợp đặc biệt (IC: Integrated Circuit) thiết kế để cấu hình nhà thiết kế sau chế tạo để đạt tùy chọn chức logic số học FPGA giới thiệu lần vào thị trường IC thương mại năm 1985 Xilinx Ngày nay, FPGA sử dụng rộng rãi lĩnh vực đóng vai trị quan trọng thiết kế nhúng đại Các sản phẩm FPGA đại [26] tận dụng tiến công nghệ bán dẫn, kết hợp hai phần tử Logic lập trình (LE: Logic Element) lõi IP cứng đế bán dẫn, đặc biệt với khả cấu hình lại động phần giúp FPGA thay đổi chức thực thiết bị vật lý thời gian chạy mà không cần phải dừng hệ thống Chúng cung cấp đầy đủ khả chip thiết kế thuận tiện Do vậy, FPGA tảng hứa hẹn để tạo mẫu nhanh chóng cho hệ thống FPGA (System-on-an-FPGA)[6], có vi xử lý, điều khiển nhớ, tăng tốc phần cứng điều khiển thiết bị ngoại vi, v.v 1.3 Kỹ thuật ánh xạ ứng dụng lên tảng mạng chip 1.3.1 Bài toán ánh xạ Bài toán ánh xạ ứng dụng lên tảng NoC xây dựng [39] q trình gán tác vụ ứng dụng vào PE Noc Nó trường hợp phép gán bậc hai (quadratic assignment) chứng minh vấn đề NP-hard [31] Khơng gian tìm kiếm tăng giai thừa lần theo kích thước hệ thống Ví dụ, NoC có kích thước 8x8, theo lý thuyết có 64! trường hợp ánh xạ Tổng quát, ánh xạ N tác vụ vào M nút mạng (NM) có M! trường hợp  M  N ! ánh xạ tác vụ vào nút NoC Trong trường hợp số tác vụ số nút mạng (M=N) số trường hợp ánh xạ trở thành M! Ánh xạ có ảnh hưởng trực tiếp đến hiệu NoC độ trễ, thông lượng, tiêu thụ điện năng, lượng, v.v Vì cần phải có kỹ thuật ánh xạ hiệu để tối ưu thông số Kỹ thuật ánh xạ phụ thuộc vào yếu tố sau đây: (i) Mơ hình ứng dụng (ví dụ: Task Graph [25], Data Flow Graph [88], v.v.) (ii) Mô hình kiến trúc tảng phần cứng (ví dụ: Nền tảng đồng nhất, không đồng nhất, số lượng PE loại PE, v.v.) (iii) Các tham số ràng buộc ứng dụng (ví dụ: Hiệu tính tốn, trễ truyền thơng, mức chất lượng, v.v.) (iv) Mơ hình thực truyền thơng PE (ví dụ: Thời gian thực hiện, lượng tiêu thụ, v.v.) (v) Ước lượng thời gian thực PE khác Bài toán ánh xạ tác vụ ứng dụng lên tảng NoC thực thời gian thiết kế (design-time) sau thiết kế tức hệ thống hoạt động (run-time) Đối với kỹ thuật ánh xạ thời gian thiết kế hay gọi ánh xạ tĩnh kiến trúc tảng ứng dụng biết trước, chúng khơng phù hợp cho việc thêm ứng dụng vào hệ thống thời gian chạy Đối với kỹ thuật ánh xạ thời gian chạy hay gọi ánh xạ động gần ứng dụng chạy hệ thống hệ thống hoạt động, kỹ thuật giải pháp phù hợp cho việc triển khai nhiều ứng dụng lên hệ thống có tài nguyên giới hạn Sau ánh xạ tác vụ lên hệ thống số tác vụ ánh xạ điều chỉnh vị trí, u cầu người dùng thay đổi có ứng dụng đưa vào hệ thống Trong phần tiếp theo, kỹ thuật ánh xạ tĩnh ánh xạ động thảo luận chi tiết Tuy nhiên, luận án tập trung vào kỹ thuật ánh xạ động, nghiên cứu sâu kỹ thuật 1.3.2 Ánh xạ thời gian chạy Ngược lại với ánh xạ thời gian thiết kế kỹ thuật ánh xạ thời gian chạy Kỹ thuật yêu cầu xem xét thời gian để ánh xạ tác vụ làm tăng tổng thời gian thực ứng dụng Do đó, thuật toán tham lam thường sử dụng để ánh xạ hiệu nhằm tối ưu thông số lượng tiêu thụ, độ trễ truyền thông, thời gian thực hiện, v.v Một vài ưu điểm ánh xạ động so với ánh xạ tĩnh tóm tắt sau: (i) Khả thích nghi với nguồn tài nguyên sẵn có: Các nguồn tài nguyên sẵn có thay đổi ứng dụng đưa vào hệ thống lúc hoạt động (ii) Khả cho phép nâng cấp hệ thống: Nó nâng cấp hệ thống phép ứng dụng hoạt động thay đổi tiêu chuẩn mà khơng biết đến lúc thiết kế, chí sau đưa tới tay người dùng (iii) Khả để tránh phần bị hỏng tảng: Nếu nhiều PE hoạt động không chức sau sản xuất, theo thời gian làm cho số phần tử xử lý bị hỏng mà biết trước lúc thiết kế phận lỗi bị vơ hiệu hóa trước thực q trình ánh xạ [61] Khi ứng dụng ánh xạ bắt đầu thực thi, trình ánh xạ nhiều ứng dụng chạy cần phải xem xét vấn đề sau: (i) Một ứng dụng đưa vào hệ thống cần tài nguyên từ ứng dụng vừa thực (ii) Các thông số ứng dụng chạy sửa đổi (iii) Một ứng dụng chạy cần phải kết thúc để giải phóng tài nguyên chiếm giữ (iv) Yêu cầu hiệu ứng dụng chạy bị thay đổi Điều cần thêm tài nguyên để thực chức bổ sung (v) Quá trình ánh xạ khơng đủ tối ưu, yêu cầu ánh xạ lại Những vấn đề nêu giải kỹ thuật ánh xạ thời gian chạy CHƢƠNG PHÁT TRIỂN NỀN TẢNG PHẦN CỨNG CẤU HÌNH LẠI ĐƢỢC CHO NoC Thiết kế định tuyến cho NoC Mạng chip đề xuất giải pháp cho truyền thông IP thiết kế hệ thống chip phức tạp Tránh bế tắc, cắt giảm tắc nghẽn để tăng hiệu cho mạng thử thách lớn thiết kế NoC chúng ảnh hưởng trực tiếp đến hiệu toàn mạng Để giải vấn đề này, định tuyến thường sử dụng kiến trúc kênh ảo cổng Trong mục này, tác giả đề xuất kiến trúc cho định tuyến sử dụng điều khiển luồng wormhole kết hợp với số lượng kênh ảo không cổng ngõ để cắt giảm chi phí đảm bảo “deadlock free” hiệu trường hợp lưu lượng liệu qua mạng cao Chi phí hiệu định tuyến đề xuất phân tích, đánh giá so sánh với định tuyến sử dụng kênh ảo 2.1.1 Đề xuất kiến trúc định tuyến Kiến trúc định tuyến sử dụng cấu hình mạng hai chiều dạng lưới (2D-Mesh), chuyển mạch gói, điều khiển luồng wormhole kết hợp với kênh ảo không cổng thuật toán định tuyến XY Bộ định tuyến có cổng gồm cổng Bắc (N), Nam (S), Đông (E), Tây (W) cổng nội L Tại cổng, liệu truyền theo hai hướng có độ rộng 34 bit Kích thước flit 34 bit gồm 32 bit liệu bit lại sử dụng cho nhận dạng loại flit Có loại flit: Flit tiêu đề (header flit), flit thân (body flit) flit đuôi (end flit) Kiến trúc đề xuất định tuyến Hình 2.3, bao gồm khối chính: Bộ đệm ngõ vào (FIFO), giải mã flit (Flit decoder), chuyển mạch (Switch), kênh ảo phân xử (Arbiter) Bộ đệm ngõ vào dùng để lưu trữ tạm thời flit Bộ giải mã flit thực chức nhận, phân tích thông tin định tuyến flit tiêu đề đưa thông tin định tuyến đến ngõ cho gói tin Chuyển mạch thực chức kết nối đường chuyển liệu đến ngõ tương ứng theo tín hiệu điều khiển từ khối giải mã flit Kênh ảo thiết kế giống FIFO dùng để lưu trữ tạm thời flit flit chưa cấp phát kênh vật lý 2.1 N d_in ack_out req_in S FIFO ack_out req_in 34 d_in ack_out req_in W FIFO 34 d_in E Switch 34 ack_out req_in L d_in ack_out req_in S Flit decoder VC VC VC VC Arbiter to1 VC VC VC VC Arbiter to1 34 ack_in 34 S d_out ack_in req_out 34 E Flit decoder VC VC Arbiter to1 FIFO W Flit decoder VC VC Arbiter to1 FIFO L Flit decoder VC VC VC VC Arbiter to1 34 N d_out req_out FIFO 34 d_in N Flit decoder E d_out ack_in req_out 34 W d_out ack_in req_out 34 L d_out ack_in req_out Hình 2.3 Kiến trúc định tuyến đề xuất Bộ phân xử thực nhiệm vụ điều tiết kênh ảo có yêu cầu truyền flit để cấp phát kênh vật lý, tương ứng Quá trình vận chuyển flit từ ngõ vào đến ngõ định tuyến diễn sau: Các flit vào đệm FIFO lưu trữ tạm thời Các tín hiệu bắt tay req_in ack_out thơng báo đến bên gửi tình trạng sẵn sàng ghi ghi liệu thành công vào FIFO Tiếp theo flit đưa vào giải mã flit Tại địa nguồn địa đích chứa flit tiêu đề phân tích để đưa tín hiệu điều khiển hướng cho flit Tiếp theo chuyển mạch dựa vào tín hiệu điều khiển tạo từ giải mã flit để tiếp tục chuyển liệu đến ngõ đưa vào kênh ảo tương ứng Cuối cùng, phân xử lựa chọn cấp phát kênh vật lý cho flit để truyền flit đến định tuyến đích đến tồn gói tin truyền xong Điểm đặc biệt thiết kế việc bố trí kênh ảo khác cổng nhằm tiết kiệm tài nguyên phần cứng tránh tắc nghẽn đảm bảo hiệu mạng cách kết hợp linh hoạt việc sử dụng thuật tốn định tuyến XY với việc bố trí số kênh ảo phù hợp cổng ngõ Điều giải thích sau: Theo nguyên tắc hoạt động thuật toán định tuyến XY, chuyển flit từ nguồn đến đích, flit truyền theo phương X sau đến phương Y đến tìm địa đích dừng Do vậy, cổng ngõ E nhận liệu từ cổng ngõ vào W L; cổng ngõ W nhận liệu từ cổng ngõ vào E L; cổng ngõ S nhận liệu từ cổng vào N, E, W L; cổng ngõ N nhận liệu từ cổng ngõ vào S, E, W L; cổng ngõ L nhận liệu từ cổng ngõ vào N, S, E W Dựa phân tích này, tác giả bố trí kênh ảo cổng ngõ N S kênh ảo cho cổng ngõ lại E W 2.1.2 Kết đánh giá 2.1.2.1 Kết tổng hợp Kiến trúc định tuyến mơ hình hóa ngơn ngữ phần cứng Verilog HDL tổng hợp KIT FPGA Virtex-6 chip 6VLX240TFF156 công cụ ISE (Integrated Software Environment )14.1 Bảng 2.2 tài nguyên FPGA sử dụng tổng hợp Kết tổng hợp cho thấy định tuyến đề xuất chiếm khoảng 0,48% Register 0,88% LUT so với tổng tài nguyên FPGA Nếu so sánh với trường hợp định tuyến sử dụng kênh ảo số Register tăng 26,6% số LUT tăng 19,5% Tuy nhiên, so sánh với trường hợp kênh ảo thiết kế đề xuất giảm 17,2% tài nguyên Register 29,7% tài ngyên LUT Vấn đề tăng giảm tài nguyên thiết kế số lượng kênh ảo tăng; mạch điều khiển kênh ảo phân xử có độ phức tạp lớn Kết tổng hợp tần số làm việc cực đại định tuyến đề xuất đạt đến 426,6 MHz Bảng 2.2 Tài nguyên sử dụng định tuyến FPGA Tổng hợp sử dụng tài nguyên Logic Utilization Sẵn có kênh ảo Sử dụng Tác giả % Sử dụng kênh ảo % Sử dụng % Slice Registers 301440 1027 0,34 1399 0,46 1692 0,56 Slice LUTs 150720 1026 0,68 1274 0,85 1814 1,20 2.1.2.2 Kết mô Độ trễ thông lượng trung bình mạng với kích thước 3x3 sử dụng định tuyến chứa 1, 2, kênh ảo định tuyến đề xuất đánh giá so sánh Các thông số mô thiết lập Bảng 2.1 sử dụng công cụ Noxim [27] Kết mô độ trễ thơng lượng trung bình Hình 2.11 Hình 2.12 Hình 2.11 Trễ trung bình tồn mạng 2.2 Hình 2.12 Thơng lượng trung bình tồn mạng Thiết kế giao tiếp mạng Bộ giao tiếp mạng khối logic quan trọng cấu trúc NoC Chức tương tự chức card mạng kết nối máy tính mạng Internet [36, 45] tức thực kết nối tài nguyên vào mạng vị trí giao diện liệu vào định tuyến [64] Do khác biệt kích thước liệu, giao diện tín hiệu điều khiển tài nguyên với mạng nên giao tiếp mạng thay đổi tùy theo tài nguyên kết nối với mạng Bộ giao tiếp mạng chia làm hai phần sau: Phần thứ phần giao tiếp với định tuyến xem phần khơng phụ thuộc liệu vào định tuyến flit có kích thước liệu cố định theo thiết kế Phần thứ hai phần giao tiếp với tài nguyên, tùy thuộc vào loại tài nguyên mà kích thước liệu thay đổi Vì phần gọi phần phụ thuộc 11 SDRAM DDR3 để ghi vào ICAP, liệu đọc từ ICAP để ghi vào nhớ cấu hình FPGA Flash Memory SysACE CompactFlash Timer Microblaze Processor Phần khơng cần cấu hình AXI/PLB BUS HWICAP Uart DDR3 Phần cấu hình NoC Khu vực tĩnh Khu vực động Host Hình 2.19 Sơ đồ khối tổng quát hệ thống Trong nghiên cứu này, tác giả sử dụng hai phương pháp cấu hình Phương pháp thứ nhất, thực cấu hình từ nhớ ngồi CF Ưu điểm phương pháp tài nguyên mà hệ thống sử dụng nhỏ Tuy nhiên, tốc độ thực cấu hình chậm độ rộng bus liệu nhớ CF bé (8 bit) Phương pháp thứ hai, thực cấu hình từ nhớ SDRAM DDR3 Phương pháp có tốc độ cấu hình cao phương pháp cấu hình từ CF nhớ SDRAM DDR3 có tốc độ hoạt động độ rộng Bus liệu lớn nhớ CF Tuy nhiên, hệ thống phải sử dụng tài nguyên nhiều 2.3.2 Kết thực nghiệm Thiết kế tác giả thực thử nghiệm Kit FPGA Virtex-6 dòng chip XC6VLX240T với hai loại Bus PLB/AXI cho giải pháp nghiên cứu trình bày Tần số hoạt động hệ thống 100 MHz, tốc độ truyền nối tiếp máy tính FPGA 115.200 baud thông qua cổng UART Các công cụ hỗ trợ thiết kế gồm ISE, XPS, SDK PlanAhead phiên 14.1 Xilinx Tài nguyên phần cứng hệ thống tương ứng với bus PLB, AXI AXI + DDR3 Bảng 2.6 Bảng 2.6 Tài nguyên sử dụng hệ thống Tài nguyên Sẵn có PLB Sử % dụng 4249 1,41 AXI Sử % dụng 4257 1,41 AXI + DDR3 Sử % dụng 15347 5,10 Register 301440 LUT 150720 4243 2,82 4948 3,28 14763 9,79 Slice 37680 1904 5,05 1915 5,08 6949 18,44 Các file cấu hình đệm ngõ vào, định tuyến, mạng NoC 2x2 PE NoC tổng hợp tạo công cụ PlanAhead Thời gian tốc độ cấu hình cho kịch cụ thể hệ thống đo đạt Bảng 2.7 Dễ thấy hệ thống sử dụng Bus AXI có thời gian cấu hình nhỏ hơn, tốc độ cấu hình nhanh so với Bus PLB Đối với hệ thống cải tiến AXI + DDR3, file cấu hình đọc trực tiếp từ nhớ RAM DDR3 nên tốc độ cấu hình cải thiện lần so với trường hợp file cấu hình đọc từ nhớ ngồi CF độ rộng bus liệu nhớ RAM DDR3 lớn Tuy nhiên, hệ thống tiêu tốn nhiều tài nguyên Do vậy, tùy theo yêu cầu QoS miền ứng dụng mà lựa chọn loại hệ thống cấu hình phù hợp để thực 12 Bảng 2.7 Thời gian tốc độ cấu hình hệ thống Thơng số cấu hình PLB Bitstream size (Kb) Router mạng 2x2 Cấu hình buffer AXI AXI+DDR3 Cả mạng 2x2 PE mạng 2x2 AXI+DDR3 36 36 36 209 450 108 Thời gian cấu hình (s) 0,074 0,071 0,012 0,068 0,147 0,035 Tốc độ cấu hình (Mb/s) 0,498 0,519 3,070 3,070 3,070 3,070 CHƢƠNG 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 GIAN CHẠY Đặ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 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 dụng xử lý tín hiệu [30, 38, 48, 54, 58] 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 thay cho kiến trúc truyền thống Bus kết nối điểm-điểm [9, 75] Ngoà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 [1, 49] Trong tảng vậy, xử lý nhúng thường sử dụng để quản lý thực số tác vụ 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ụ phức tạp 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 Mặt khác, 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, phần này, tác giả xem xét toá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 3.2 Các định nghĩa xây dựng toán ánh xạ 3.2.1 Mơ hình ứng dụng Một vấn đề lớn mơ mạng khó chạy xác ứng dụng thực tế mơ mơ mạng khơng có khả thực thi mã nhị phân Do đó, trực tiếp chạy ứng dụng thực tế mơ hình kiến trúc NoC khơng phải điều dễ dàng thực Thay mơ ứng dụng thực tế Một mơ hình lưu lượng cung cấp phân bố thống kê truyền thông giải pháp đơn giản để mô hình thực nhanh mơ Điều cung cấp kết hữu ích giai đoạn đầu phát triển dự án NoC Do vậy, nghiên cứu tác giả sử dụng đồ thị tác vụ [25, 66] để mơ hình ứng dụng 3.1 13 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 [70] Một ví dụ điển hình khác ứng dụng truyền tải video qua giao thức http [52], 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ã 3.2.1.1 Đồ thị tác vụ ứng dụng Định nghĩa 1: Một đồ thị tác vụ ứng dụng biểu diễn đồ thị vô 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 tác vụ Hình 3.3   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; ttype 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 từ ngôn ngữ phần cứng HDL tác vụ phần mềm tạo từ 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ó thời gian tính tốn nhỏ thực tài nguyên phần mềm [24, 69]; 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ố t comm , treqcomm ,   ers   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 ;   ers  hàm trọng lượng đại diện cho tốc độ truyền thông tác vụ 3.2.1.2 Mơ hình chất lượng Giả sử có M ứng dụng A1 , A2 , A3 , , AM chạy thiết bị, ứng dụng Ai 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 [67, 69] Ví dụ, giả sử ứng dụng A1 có mức chất lượng Q11  Q12  Q13    Q1N1 thời gian cần thực ứng dụng mức chất lượng tương ứng 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 Tác giả 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 [67] Ứ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 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á Bi1  Bi  Bi    BiNi   B  1 trị lợi ích tương ứng 14 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) R R V14 R ISP RR R R RR R physical connection V12 RR R R Reconfigurable platform Hình 3.3 Mơ hình hệ thống 3.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 không đồng thực FPGA Virtex-6 dựa mơ hình NoC phát triển Chương (này tảng phát triển KIT khác có tốc độ làm việc cao Zynq-7000) Nền tảng bao gồm vi xử lý nhúng ISP (Microblaze) 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 Trong chương này, tác giả xem xét tái cấu hình cho PE phần cứng, kiến trúc truyền thông NoC giữ cố định phần tĩnh FPGA (Hình 3.3) Mỗi PE hỗ trợ tác vụ phần cứng phần mềm 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 Tác giả 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 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ý định tuyến Mỗi PE pxy  P biểu diễn thông số p id , padd , ptype , puse  , pid PE nhận dạng, padd địa PE, ptype kiểu PE gồm có PE cứng pHW PE mềm pSW , puse trạng thái PE (rỗi bận) 3.2.3 Xây dựng toán ánh xạ Tác giả xem xét toán ánh xạ với 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 ánh xạ đạt chất lượng dịch vụ tổng thể cực đại M ứng dụng triển khai chúng lên tảng với ràng buộc tài nguyên Giả sử tcompijk thời gian tính tốn tác vụ vik ứng dụng Ai PE pxy mức chất lượng Qij Khi tổng thời gian tính tốn cho ứng dụng Ai mức chất lượng Qij PE là: 15 Li tcompij   tcompijk k 1 (3.1) Trong đó, Li số tác vụ ứng dụng Ai Giả sử tcommijrs trễ truyền thông từ tác vụ vir đến tác vụ vis ứng dụng Ai mức chất lượng Qij Khi tổng trễ truyền thơng ứng dụng Ai mức chất lượng Qij sau ánh xạ là: Li Li r s tcommij    rstcommijrs  dist (( x, y ), (x', y')) (3.2) Trong đó,  rs  có kết nối tác vụ vir vis ,  rs  cho trường hợp lại dist   x, y  ,  x’, y’   x ' x  y ' y khoảng cách Manhattan (MD) từ PE pxy đến px ' y ' Tổng thời gian thực ứng dụng Ai mức chất lượng Qij tính cơng thức: tij  tcompij  tcommij (3.3) Giả sử  i đại diện cho mức độ ưu tiên ứng dụng Lúc đó, tốn ánh xạ xây dựng sau: Giả sử có M ATG ứng dụng đưa vào hệ thống đồng thời trạng thái tảng phần cứng Tìm hàm ánh xạ: A V , E   N  P, L  , Map  vik   pxy , vik V , pxy  P với mục tiêu B Ni  M  i   ij Bij  M  i 1 j max  M Ni  T    ij tij   i 1 j 1 min Thỏa mãn điều kiện: Ni  j 1 ij (3.4) (3.5)  ,  ij  Qij lựa chọn, cho trường hợp khác  t  p  HW  HW (3.6)  tcompij  treqcompij   tcommij  treqcommij Cần lưu ý rằng, biểu thức (3.4) mục tiêu tốn ánh xạ Khi Bmax tìm thấy, biểu thức (3.5) sử dụng để tìm giải pháp vị trí đặt tác vụ tối ưu 3.3 Các giải pháp cho toán ánh xạ ứng dụng lên NoC thời gian chạy 3.3.1 Giải pháp tối ưu sử dụng thuật tốn tìm kiếm đầy đủ 3.3.1.1 Thuật tốn Trong phần này, tác giả đề xuất giải pháp tối ưu đơn giản cho toán ánh xạ với việc xem xét tảng phần cứng có kích thước nhỏ, số lượng ứng dụng triển khai lên tảng không lớn, số mức chất lượng ứng dụng nhỏ Trong trường hợp vậy, thuật tốn tìm kiếm đầy đủ sử dụng để tìm giải pháp tối ưu cho toán ánh xạ xây dựng Mục 3.2.3 hoàn toàn khả thi Mã thuật tốn tìm kiếm đầy đủ trình bày Thuật toán 16 Thuật toán 1: Giải pháp tối ưu sử dụng thuật tốn tìm kiếm đầy đủ Input: A(V,E), N(P,L) // task vik V ; PE pxy  P 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 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 3.3.1.2 Kết mô đánh giá Để đánh giá giải pháp đề xuất, vài kịch mô thực Trong giải pháp này, tảng NoC cấu hình lại được trình bày Mục 3.2.2 với kích thước 3x3, bao gồm ISP vùng cấu hình lại sử dụng Có ứng dụng tổng hợp sử dụng mô phỏng, đồ thị tác vụ chúng tạo công cụ TGFF [25] Trong đó, ứng dụng A1 có tác vụ mức chất lượng (Q11, Q12 Q13) Ứng dụng A2 có tác vụ mức chất lượng (Q21, Q22, Q23 Q24) Ứng dụng A3 có tác vụ mức chất lượng (Q31, Q32, Q33 Q34) Với ứng dụng, thời gian tính tốn tác vụ trễ truyền thơng cặp tác vụ tạo 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 [69] Bốn kịch khác sử dụng để mô cho giải pháp đề xuất sau: (i) Mức độ ưu tiên ứng dụng nhau; (ii) Ứng dụng A1 có mức ưu tiên cao ứng dụng A2 cuối ứng dụng A3; (iii) Ứng dụng A2 có mức ưu tiên cao ứng dụng A3 cuối ứng dụng A1; (iv) Mức độ ưu tiên ứng dụng A3 > A2 > A1 Tất kịch mô thực PC với thông số: CPU core i3 – 2,6 Ghz , Bộ nhớ RAM - GB, HDD – 720 GB Các kết mô vị trí đặt tác vụ tảng phần cứng, chất lượng đạt ứng dụng giá trị lợi ích tổng thể ứng dụng theo kịch Hình 3.5 Bảng 3.3 17 V32 V33 V13 V24 V25 V13 V31 V14 V11 V22 V14 V11 V24 V22 V25 V23 V21 V12 V21 V31 V23 V32 V33 V12 a) Kịch b) Kịch V24 V22 V21 V24 V33 V32 V25 V23 V12 V23 V21 V31 V11 V31 V14 V33 V32 V13 V22 V12 V25 V13 V11 V14 c) Kịch d) Kịch Hình 3.5 Vị trí đặt tác vụ vào tảng phần cứng sau ánh xạ Trong kịch đầu tiên, kết ánh xạ (Hình 3.5a) cho thấy tất tác vụ ứng dụng A1 A3 chạy tài nguyên phần cứng Vì vậy, hai ứng dụng chạy mức chất lượng cao Trong đó, có tác vụ ứng dụng A2 chạy tài nguyên phần cứng tác vụ cịn lại chạy ISP Do vậy, ứng dụng A2 chạy mức chất lượng thấp Giá trị lợi ích tổng thể ứng dụng trường hợp 0,25 Bảng 3.3 Kết mô kịch ánh xạ Ƣu tiên Kịch i ii iii iv Kết Ứng dụng Ai Hệ số i Mức chất lƣợng A1 0,33 Q11 A3 0,33 Q31 A2 0,33 Q24 A1 0,50 Q11 A2 0,30 Q23 A3 0,20 Q34 A2 0,50 Q21 A1 0,30 Q13 A3 0,20 Q34 A3 0,50 Q31 A2 0,30 Q23 A1 0,20 Q13 Giá trị lợi ích tổng thể 0,25 0,23 0,23 0,24 Trong kịch thứ hai, ứng dụng ánh xạ lên tảng phần cứng Hình 3.5b Do ứng dụng A1 có mức ưu tiên cao nên tất tác vụ ánh xạ lên vùng tái cấu hình FPGA để đảm bảo đạt mức chất lượng tốt Một số tác vụ ứng dụng A2 A3 chạy 18 phần cứng số tác vụ lại chúng chạy ISP Với giải pháp ánh xạ này, úng dụng A1 chạy chất lượng cao nhất, ứng dụng A2 đạt mức chất lượng trung bình ứng dụng A3 có mức ưu tiên thấp nên chạy chất lượng thấp Giá trị lợi ích tổng thể ứng dụng trường hợp 0,23 Tương tự vậy, giải pháp ánh xạ kịch thứ ba thứ tư thể Hình 3.5c Hình 3.5d Từ kết mơ này, kết luận cách tiếp cận đề xuất tìm thấy giải pháp ánh xạ nhắm đến tối đa chất lượng tổng thể ứng dụng đảm bảo truyền thơng tối thiểu tác vụ Trong tất tình huống, tác vụ ứng dụng ánh xạ vào vùng RR lân cận để giảm thiểu trễ truyền thông tác vụ 3.3.2 Giải pháp heuristic cho toán ánh xạ thời gian chạy Một thuật toán tìm kiếm đầy đủ đề xuất để tối ưu cho toán ánh xạ Mục 3.3.1 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 hạn chế 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 hiệu thời gian thực thuật tốn ánh xạ lớn Để khắc phục nhược điểm này, tác giả đề xuất giải pháp hiệu dựa chiến lược chọn vùng gần lồi kết hợp với thuật toán ánh xạ heuristic Đầ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 ánh xạ á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 3.3.2.1 Chiến lược chọn 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 [13-14] Với tảng phần cứng thực FPGA có số lượng PE không lớn, tác giả đề xuất chiến lược chọn vùng gần lồi nhắm đến mục tiêu cấp phát tài nguyên linh hoạt, thời gian thực chọn vùng nhanh, giảm thiểu khoảng cách MD trung bình vùng chọn, tạo vùng lồi liền kề Chiến lược chia thành 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  Cấp phát PE cứng/mềm cho ứng dụng theo yêu cầu chất lượng Bước chiến lược chọn vùng cấp phát số lượng PE cứng/ mềm tương ứng với mức chất lượng mà ứng dụng yêu cầu Nếu ứng dụng đưa vào hệ thống cách tự nhiên số PE cứng/mềm cấp phát theo tỉ lệ công cho tổng mức chất lượng đạt ứng dụng sau ánh xạ cực đại Ví dụ, số PE cứng/mềm cấp phát dựa theo độ phức tạp ứng dụng Nếu ứng dụng vào ưu tiên người dùng yêu cầu mức chất lượng đó, lúc số PE cứng ưu tiên cấp phát nhiều cho ứng dụng có độ ưu tiên yêu cầu chạy mức chất lượng cao Ví dụ, ứng dụng yêu cầu chạy mức chất lượng cao nhất, PE cứng cấp phát cho tất tác vụ ứng dụng  Chọn vùng gần lồi Tiếp theo, chiến lược chọn vùng dựa góc quét hình học kết hợp với khoảng cách MD tối thiểu sử dụng để chọn vùng gần lồi cho ứng dụng vào Chiến lược mô tả sau: Đầu tiên, tìm PE trung tâm cận (gần) trung tâm làm tâm quét tảng Các góc quét khác thay đổi từ 0->3600 sử dụng Hướng quét 19 chọn chiều ngược chiều kim đồng hồ Tương ứng với góc quét xác định tìm PE trống Bằng cách thực nhiều góc qt khác nhau, liên tục tìm số lượng PE trống cấp phát cho ứng dụng vào Để chắn tạo vùng gần lồi, tác giả sử dụng thêm thông số ràng buộc khoảng cách MD tối thiểu để chọn PE trống gần Vì góc qt liên tục nên yếu tố phân mảnh, khoảng cách vùng lân cận giảm đến mức tối thiểu Sau lần quét trạng thái góc quét cập nhật để sử dụng cho lần quét có ứng dụng đưa vào hệ thống Mã chiến lược chọn vùng trình bày Thuật tốn  Độ phức tạp thuật toán O(n) Thuật toán 2: Chọn vùng gần lồi Input: A(V,E), N_task, N(P,L) //N_task vik V ; PE pxy  P Output: R(N,L) //selected region 1: BEGIN 2: R = ; 3: integer sotf_PE = K*N_task; // the number of soft PEs 4: integer hard_PE = N_task – sotf_PE; // the number of hard PEs 5: if N_task > resource_available then goto step 28; 6: else 7: if remain_PE _angle < N_task then 8: update_value(S); 9: sort( S, compare ); 10: end if 11: if sotf_PE  soft_PE_available then 12: sotf_PE = soft_PE_available; 13: hard_PE =N_task - sotf_PE; 14: else 15: if hard_PE  hard_PE_available then 16: sotf_PE = N_task - hard _PE_available; 17: hard_PE =hard_PE_available; 18: end if 19: end if 20: for mark_PE_angle to max_PE_angle 21: insert(PE in S to R); 22: if enough sotf _PE and hard_PE then break; 23: end if 24: end for 25: update(mark_PE_angle, hard_PE_available, soft_PE_available); 26: update(remain_PE _angle); 27: end if 28: END 3.3.2.2 Thuật toán ánh xạ heuristic Tác giả đề xuất thuật toán ánh xạ dựa ý tưởng chọn tác vụ PE Thuật toán tập trung tối ưu tác vụ có thời gian tính tốn, thời gian truyền thông lớn ưu tiên ánh xạ tác vụ lân cận chúng Thuật toán thực bước sau đây: Bước 1, tìm vùng chọn PE cứng có tổng khoảng cách MD đến PE khác nhỏ đồng thời có số PE trống lân cận lớn gọi PE (trung tâm) Bước 2, xếp tác vụ ATG ứng dụng theo thứ tự giảm dần tổng thời gian truyền thông (sử dụng thuật toán Quicksort); xếp tác vụ lân cận tác vụ có tổng thời gian truyền thơng lớn theo thứ tự giảm dần thời gian truyền thông Bước 3, ánh xạ tác vụ có tổng thời gian truyền thơng lớn vào PE Bước 4, ánh xạ tác vụ lân cận tác vụ vào PE lân cận PE 20 theo thứ tự giảm dần thời gian truyền thông Bước 5, cập nhật tác vụ có tổng thời gian truyền thơng lớn tác vụ ánh xạ trừ tác vụ Bước 6, tiếp tục ánh xạ tác vụ lân cận lại tác vụ vừa cập nhật đến PE trống lân cận PE đặt tác vụ cập nhật cho tổng khoảng cách MD đến tác vụ có liên kết với tác vụ ánh xạ nhỏ Lặp lại Bước tất tác vụ lại ánh xạ Với giải pháp này, thời gian gian truyền thơng khoảng cách MD trung bình ứng dụng sau ánh xạ giảm đến mức tối thiểu Mã thuật tốn trình bày Thuật toán Độ phức tạp thuật toán ánh xạ Heuristic tính theo cơng thức O(n2*m) Thuật tốn 3: Thuật toán ánh xạ tác vụ động Input: A(V,E), R(P,L) Output: tmpg (mapping A(V,E)  R(P,L)) 1: BEGIN 2: pe_center = max_pe_idle_center(tile_info); 3: sort(task_vector, decrease_t_comm); 4: task_cur = task_vector.begin; 5: map_task_pe(task_cur,pe_center); 6: task_vector_child = task_neighbor(task_cur,tile_info,app_graph); 7: sort(task_vector_child, decrease_t_comm); 8: for all unmapped taski ϵ task_vector_child 9: id_pe_map = findPE_1_hop(task_cur,tile_info); 10: if id_pe_map != -1 then 11: map_task_pe(taski, id_pe_map); 12: end if 13: end for 14: for all unmapped taski ϵ task_vector_child 15: id_pe_map = pe_nearest (taski,tile_info,app_graph); 16: map_task_pe(taski,id_pe_map,tile_info); 17: end for 18: task_next = find_next_task(task_vector,tile_info); 19: while tile_infor_ unallocated.size != 20: task_vector_child= task_neighbor(task_next,tile_info,app_graph); 21: sort(task_vector_child, decrease_t_comm); 22: for all unmapped taski ϵ task_vector_child 23: id_pe_map = pe_nearest (taski ,tile_info,app_graph); 24: map_task_pe(taski,id_pe_map,tile_info); 25: end for 26: task_next = find_next_task(task_vector,tile_info); 27: end while 28: END 3.3.2.3 Kết mô đánh giá Trong mô này, tác giả sử dụng tảng phần cứng với kích thước 5x5, 6x6 7x7 Mỗi tảng có ISP PE cịn lại tảng vùng cấu hình lại ISP có khả thực tối đa lên đến sáu tác vụ, vùng cấu hình lại thực tác vụ 12 ứng dụng có kích thước khác thay đổi từ đến 14 tác vụ, ứng dụng có bốn mức chất lượng khác (ví dụ, Qi1, Qi2, Qi3 and Qi4) Thời gian tính tốn tác vụ, trễ truyền thông cặp tác vụ mức chất lượng tạo tương tự Mục 3.3.1.2 Hai kịch mô thực hiện: (i) Các ứng dụng triển khai lên tảng đồng thời (ii) Các ứng dụng triển khai lên tảng cách ngẫu nhiên theo thứ tự ưu tiên Mỗi kịch thực 100 lần 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 21 Để đánh giá tính hiệu thuật toán đề xuất, tác giả chọn ba thuật tốn có liên quan FF, NN [10] Chen-Ling [13] để 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 chiến lược chọn vùng tác giả 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), mức chất lượng ứng dụng, 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), thời gian chạy thuật toán a) Đánh giá tổng giá trị lợi ích mức chất lƣợng ứng dụng 0,300 Giá trị lợi ích tổng thể FF NN Chen TG 0,250 0,200 0,150 0,100 0,050 0,000 CV_NF CV_TG CV_NF CV_TG CV_NF CV_TG 5x5 6x6 7x7 Chiến lƣợc chọn vùng, kích thƣớc tảng Hình 3.(8,9,10) Tổng giá trị lợi ích ứng dụng ánh xạ 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ỏ [67] Do vậy, tác giả sử dụng thông số để đánh giá chất lượng đạt cho ứng dụng sau ánh xạ Hình 3.(8,9,10) 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 5x5,6x6 7x7 theo thuật toán khác Trong tất trường hợp, thuật toán heuristic tác giả đề xuất cho kết tốt so với thuật toán FF, NN Chen-Ling Cụ thể, tảng có kích thước 5x5, sử dụng chiến lược phân vùng NF, thuật toán tác giả (TG) đề xuất cải thiện giá trị lợi ích tổng thể 41,6%, 26,9% 28,0% so với thuật toán FF, NN ChenLing Tương tự, sử dụng chiến lược phân vùng tác giả đề xuất, thuật toán tác giả cải thiện 37,1%, 24,1% 16,7% so với FF, NN Chen-Ling Đối với mạng có kích thước 6x6, thuật tốn heuristic tác giả cải thiện 52,2%, 36,5% 39,4% so với thuật toán FF, NN Chen-Ling trường hợp sử dụng chiến lược phân vùng NF Tương tự, tăng 43,7%, 37,2% 34,0% so với FF, NN Chen-Ling sử dụng chiến lược phân vùng tác giả đề xuất Tương tự, sử dụng chiến lược phân vùng NF, thuật toán tác giả cải thiện chất lượng ứng dụng ánh xạ lên tảng 7x7 69,5%, 62,5% 49,0% so với thuật toán FF, NN Chen-Ling Cải thiện 39,2%, 31,7% 36,7% trường hợp sử dụng chiến lược phân vùng tác giả đề xuất b) Đánh giá hiệu truyền thông Tiếp theo, tác giả đá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 22 đồ thị tác vụ ứng dụng Một thuật toá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 (5x5, 6x6 7x7) theo thuật toán ánh xạ khác Hình 3.11 Hình 3.12 Các giá trị AMD ACMD cắt giảm theo thuật toán heuristic chiến lược chọn vùng tác giả thuật tốn ánh xạ tác giả đề xuất xem xét tối ưu cho hai điều kiện khoảng cách MD trễ truyền thông cặp tác ứng dụng Điều có nghĩa rằng, thuật tốn tác giả có độ trễ tiêu thụ lượng thấp so với thuật tốn khác Hình 3.11 Giá trị AMD ứng dụng ánh xạ theo thuật tốn khác Hình 3.12 Giá trị ACMD ứng dụng ánh xạ theo thuật toán c) Đánh giá hiệu chiến lƣợc chọn vùng NF tác giả Chọn vùng gần lồi sau ánh xạ ứng dụng vào khơng mang lại lợi ích hiệu năng, chống phân mảnh cho PE tảng phần cứng phân tích mà giúp triển khai nhanh ứng dụng lên hệ thống, vấn đề quan trọng cho hệ thống quản lý động Tiếp theo, thời gian chạy thuật tốn chọn vùng tỉ lệ thơng số OB, AMD, ACMD chiến lược chọn vùng tác giả đề xuất NF đánh giá Thời gian chạy thuật toán chọn vùng thống kê theo giá trị trung bình triển khai ứng dụng lên tảng với kích thước khác 5x5, 6x6, 7x7, 8x8, 9x9 10x10 23 Đối với tảng xác định, tác giả chạy 2000 lần với tổng số tác vụ ứng dụng thay đổi từ (x*y) đến (x*y +5) Ví dụ, với tảng có kích thước 5x5, thực chạy 2000 lần cho ứng dụng có tổng số tác vụ thay đổi từ 25 đến 30 Kết thời gian chạy thuật toán chọn vùng Bảng 3.7 Do chiến lược chọn vùng tác giả đề xuất sử dụng kỹ thuật đơn giản nên có thời gian chạy nhỏ so với NF hay nói cách khác chiến lược tác giả đề xuất có độ phức tạp tính tốn nhỏ Bảng 3.7 Thời gian chạy trung bình chiến lược chọn vùng Thời gian chạy trung bình (ms) Kích thƣớc tảng Số tác vụ 5x5 2530 0,1165 0,0704 -39,55 6x6 3641 0,2129 0,1018 -52,20 7x7 4954 0,3913 0,1302 -66,72 8x8 6469 0,6970 0,1722 -75,30 9x9 8186 1,3365 0,2099 -84,29 10x10 100105 2,2836 0,2564 -88,77 CV_NF Gain (%) CV_TG Tiếp theo, tác giả đánh giá tính hiệu cho chiến lược chọn vùng thông qua tỉ số giá trị OB, AMD ACMD chiến lược chọn vùng tác giả chiến lược chọn vùng NF Hình 3.13 cho thấy lợi ích thu từ chiến lược chọn vùng tác giả so với NF giá trị OB, AMD ACMD Tất giá trị OB, AMD ACMD cải thiện Đối với trường hợp tảng có kích thước 5x5, giá trị OB cải thiện trung bình khoảng 12,2%; giá trị AMD and ACMD giảm trung bình 8,6% 8,3% Với tảng có kích thước 6x6, giá trị OB tăng trung bình khoảng 39,8 %; giá trị AMD and ACMD giảm trung bình 16,6 % 15,9 % Tương tự, trường hợp tảng có kích thước 7x7, giá trị tăng giảm trung bình 46,5 % 18,2 %, 17,4 % Kết chứng minh chiến lược chọn vùng tác giả đề xuất mang lại hiệu cao so với NF sử dụng tài nguyên, trễ tiêu thụ lượng Hình 3.13 Các cải thiện chiến lược chọn vùng tác giả 24 KẾT LUẬN Đóng góp khoa học luận án Đóng góp khoa học luận án thể nội dung kết đạt trình bày Chương Chương 3, sau:  Đóng góp thứ nhất: Phát triển tảng phần cứng cấu hình lại thời gian chạy FPGA dựa theo kiến trúc NoC Nền tảng có khả tự động cấu hình lại mơ đun cho lớp truyền thơng NoC để tối ưu hóa cấu trúc truyền thông theo yêu cầu thay đổi ứng dụng nhằm nâng cao hiệu sử dụng tài nguyên cải thiện hiệu mạng; cấu hình lại lớp tính tốn có ứng dụng triển khai lên tảng Ngoài ra, kiến trúc tảng cho phép nâng cấp, sửa lỗi thay đổi thiết kế dễ dàng tương lai Trong đóng góp này, có hai kiến trúc đề xuất cho NoC: o Kiến trúc định tuyến với số lượng kênh ảo không cổng Kiến trúc cải thiện chi phí phần cứng triển khai lên FPGA đảm bảo hiệu cao cho mạng o Kiến trúc giao tiếp mạng sử dụng đệm kép, cho phép tối ưu trễ ghi/đọc liệu vào/ra đệm kỹ thuật ghi/đọc song song  Đóng góp thứ hai: Xây dựng tốn ánh xạ ứng dụng điều chỉnh mức chất lượng lên tảng phần cứng đa lõi cấu hình lại dựa kiến trúc NoC thuật tốn để giải tốn ánh xạ Ngồi mơ hình tốn học xây dựng cho toán ánh xạ, tác giả đề xuất ba thuật toán gồm: o Thuật toán ánh xạ dựa ý tưởng tìm kiếm đầy đủ, thuật tốn phù hợp với tốn ánh xạ có điều kiện kích thước tảng phần cứng nhỏ, số lượng tác vụ số mức chất lượng ứng dụng nhỏ o Thuật toán heuristic cho toán ánh xạ động, thuật tốn có khả giải tốn ánh xạ với kích thước mạng số lượng ứng dụng lớn; thời gian thực nhanh; cải thiện chi phí truyền thơng, lượng tiêu thụ cách tối thiểu thông số AMD ACMD o Một chiến lược chọn vùng cấp phát tài nguyên hiệu cho ứng dụng thời gian chạy dựa phương pháp góc qt hình học đề xuất Hƣớng phát triển luận án Hướng phát triển thời gian tới, tác giả tiếp tục mở rộng hoàn thiện kiến trúc tảng phần cứng cấu hình lại đồng thời cho lớp truyền thơng lớp tính tốn NoC FPGA để tạo hệ thống cấu hình lại hồn chỉnh có tính linh hoạt khả thích nghi cao với tất yêu cầu thay đổi ứng dụng Mở rộng xem xét toán ánh xạ nhiều tác vụ lên PE để tiết kiệm tài nguyên tối ưu hiệu truyền thông Ngồi ra, thuật tốn ánh xạ lại cần xem xét để giải vấn đề phân mảnh PE mà ứng dụng rời hệ thống khơng liền kề DANH MỤC CÁC CƠNG TRÌNH ĐÃ CÔNG BỐ CỦA LUẬN ÁN Nguyen Van Cuong, Pham Ngoc Nam (2015), “A Deadlock free NoC Router Architecture with Irregular Virtual Channel”, Journal of Science and Technology, Vol 53, No.2C, pp 89-102 Nguyễn Văn Cường, Trần Thanh, Phạm Ngọc Nam (2015), “Xây dựng mơ hình cấu hình lại phần động cho mạng chip FPGA”, Tạp chí Khoa học Cơng nghệ Đại học Đà Nẵng, số 11(96).2015, 1, trang 9195 Nguyen Van Cuong, Cao Ba Cuong, Pham Ngoc Nam (2015), “Design of a Low Latency Network Interface using Dual Buffer for Network on Chip”, in 2015 International Conference on Communications, Management and Telecommunications (ComManTel), Danang, Vietnam, pp 205 – 209 Nguyen Van Cuong, Nguyen Trong Bang, Le Dinh Tuyen, Pham Ngoc Nam (2016), “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 Nguyen Van Cuong, Le Dinh Tuyen, Dao Vu Tuan, Tran Thanh Hai, Pham Ngoc Nam (2017), “Heuristics for Dynamic Mapping of Quality Adjustable Applications on NoC-based Reconfigurable Platforms”, The Journal of Science & Technology of Technical Universities (accepted) ... có ứng dụng đưa vào hệ thống Trong phần tiếp theo, kỹ thuật ánh xạ tĩnh ánh xạ động thảo luận chi tiết Tuy nhiên, luận án tập trung vào kỹ thuật ánh xạ động, nghiên cứu sâu kỹ thuật 1.3.2 Ánh xạ. .. ứng dụng (iii) Xây dựng đề xuất thuật toán cho toán ánh xạ ứng dụng điều chỉnh mức chất lượng vào tảng phần cứng cấu hình lại dựa NoC Phạm vi nghiên cứu: Nghiên cứu mô hình kiến trúc NoC sử dụng. .. cấu hình lại phần động FPGA để phát triển tảng phần cứng có khả cấu hình lại lớp truyền thơng lớp tính tốn (iii) Nghiên cứu tốn ánh xạ ứng dụng động điều chỉnh mức chất lượng vào tảng phần cứng
- Xem thêm -

Xem thêm: Tóm tắt Luận án tiến sĩ Kỹ thuật: 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, Tóm tắt Luận án tiến sĩ Kỹ thuật: 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