Tóm tắt và kết luận

Một phần của tài liệu Cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 37 - 41)

Với tính linh hoạt của mình, FPGA là rất hợp với các ứng dụng nhúng có nhiệm vụ quan trọng, nhƣng chúng rất nhạy cảm với bức xạ và nhiễu điện từ [71]. Vì vậy, độ tin cậy của chúng có thể là không đủ, trừ khi một số kỹ thuật chịu lỗi có khả năng giảm nhẹ sai sót mềm đƣợc sử dụng. Những ảnh hƣởng chủ yếu đƣợc biết là các nhiễu loạn sự kiện đơn (SEU) hoặc các lỗi mềm, bởi vì chỉ vài trạng thái logic của vài phần tử nhớ bị thay đổi trong khi bản thân thiết bị là rất hiếm khi bị hƣ hỏng vĩnh viễn. Trong FPGA, SEU có thể trực tiếp làm hỏng kết quả tính toán hoặc gây ra thay đổi bộ nhớ cấu hình, có thể gây ra những thay đổi làm suy thoái chức năng và hiệu suất của thiết bị. Có hai cách để thực hiện các mạch chịu lỗi trong các FPGA dựa trên SRAM, nhƣ mô tả trong sơ đồ của hình 2.20.

Hình 2.20: Quy trình thiết kế giảm SEU và SET

Khả năng đầu tiên là thiết kế một ma trận FPGA mới bao gồm các thành phần chịu lỗi. Một số công ty FPGA cung cấp một số họ chịu bức xạ trong đó có các thành phần chịu lỗi. Các phƣơng án chịu lỗi dựa trên sự dự phòng nhƣng đƣợc xây dựng bên trong mạch và ngƣời dùng không cần phải quản lý điều đó. Cách tiếp cận này đòi hỏi rất nhiều kỹ sƣ và thời gian phát triển. Hơn nữa, các thiết bị đặc biệt chỉ có thị trƣờng

Nguyễn Viết Hiếu – K16D2

nhỏ nhƣ ô tô và hàng không vũ trụ là không thể cho phép sản xuất khối lƣợng lớn. Do đó các FPGA đặc biệt là thƣờng đắt hơn nhiều so với các thiết bị thƣơng mại.

Khả năng thứ hai là sử dụng các FPGA thƣơng mại và áp dụng kỹ thuật mô tả ở mức cao của thiết kế trƣớc khi mô tả này đƣợc tổng hợp trong FPGA. Ngƣời sử dụng có trách nhiệm để làm cứng thiết kế của mình mà không yêu cầu chế tạo chip mới. Nhanh chóng thay đổi hoàn toàn của cả phần cứng và cập nhật phần mềm đƣợc đảm bảo bởi các nhà sản xuất trong suốt thời gian sống của thiết bị. Thiết bị quá cũ có thể đƣợc dễ dàng thay thế bởi những cái mới nhờ vào khả năng tƣơng thích ngƣợc và do đó nó có thể thu hút sự chấp nhận từ ngƣời sử dụng.

Một số các FPGA hiện đại cung cấp tái cấu hình linh động không chỉ cung cấp một mức độ linh hoạt cao hơn, mà còn có giải pháp hiệu quả để sửa chữa SEU. Sử dụng tái cấu hình linh động sẽ cho phép phát hiện lỗi trên hệ thống trong quá trình hoạt động, định vị trí lỗi rất nhanh, điều chỉnh nhanh, nhanh chóng phục hồi từ những thất bại tạm thời, tránh khoảng nghỉ dài của chức năng ngắt, nhanh chóng sửa chữa lỗi thƣờng trú thông qua cấu hình lại và duy trì dịch vụ liên tục là rất quan trọng trong tính toán có độ tin cậy cao.

Trong phần còn lại của luận văn này, giới thiệu về mô hình kết hợp các phƣơng pháp tiếp cận khác nhau với tái cấu hình linh động: phát hiện lỗi hiệu quả, nhanh chóng sửa chữa và phục hồi từ lỗi. Luận văn này tập trung tới lỗi gây lên bởi SEU trong bộ nhớ cấu hình và các thành phần có thể cấu hình lại cũng nhƣ các lỗi thƣờng trú đơn.

Nguyễn Viết Hiếu – K16D2

CHƢƠNG 3: CHỊU LỖI TRONG CHIP HỆ THỐNG ĐA NHÂN ĐỘNG (DyMPSoC)

3.1. Tóm tắt

Sau khi nghiên cứu các giải pháp kỹ thuật cao về khả năng chịu lỗi trong các kiến trúc có thể cấu hình lại, có thể thấy rằng kỹ thuật về kiến trúc và khả năng chịu lỗi mức hệ thống là thú vị hơn bằng cách sử dụng FPGA thƣơng mại có sẵn thay vì trực tiếp sử dụng các FPGA chuyên dụng chịu đƣợc bức xạ.

Hiện nay, tính toán song song là một xu hƣớng quan trọng của hệ thống nhúng. Khả năng có thể đáp ứng yêu cầu ngày càng tăng trong sức mạnh tính toán để phân phối các nhiệm vụ trên các bộ xử lý khác nhau và để cho những bộ xử lý này hoạt động song song. Các bộ xử lý lõi mềm và FPGA yêu cầu thấp về chi phí không có tính kỹ thuật (NRE - Non-Recurring Engineering) để phát triển hệ thống đa bộ xử lý. Hơn nữa, một số FPGA cho phép tái cấu hình linh động từng phần trong thời gian chạy, nhƣng với độ nhạy cao của mình, các lỗi về điện tử có thể gây ra loạn chức năng hệ thống. Chƣơng này trình bày hệ thống trên chip đa xử lý chịu lỗi (MPSoC - Multi- Processor System-on-Chip) dựa trên tái cấu hình linh động trên toàn bộ nền tảng. Luận văn này giới thiệu một hệ thống MPSoC kết hợp các kỹ thuật chịu lỗi ở nhiều cấp độ: chịu lỗi linh động MPSoC (FT-DyMPSoC - Fault-Tolerant Dynamic MPSoC). Ngoài ra, chƣơng này cũng trình bày về việc thay đổi phƣơng pháp tiêu chuẩn của việc tự tái cấu hình trong thời gian chạy, tạo điều kiện cho việc thiết kế khái niệm mô-đun phức tạp.

3.2. Giới thiệu

Để đáp ứng những thách thức ngày càng phức tạp, yêu cầu sức mạnh tính toán tăng rất nhanh chóng. Hiện tại có hai chiến lƣợc chính để đối phó với vấn đề này:

1. Tăng tần số hoạt động: Giải pháp này có hạn chế đáng kể bởi giới hạn tần số và phụ thuộc vào công nghệ sản xuất. Hơn nữa, chiến lƣợc này làm tăng điện năng tiêu thụ.

2. Sử dụng xử lý song song: Kỹ thuật này làm tăng số lƣợng các thành phần tính toán trong hệ thống. Cấu trúc liên kết đa bộ xử lý khai thác cơ chế này.

Trái ngƣợc với việc tăng tần số, các hệ thống đa bộ xử lý thì số bộ xử lý có thể tăng mà chỉ phụ thuộc vào kích thƣớc của thiết bị. Cấu trúc liên kết đa bộ xử lý có thể đƣợc thực hiện trên một bộ vi xử lý FPGA với lõi mềm nhƣ Xilinx MicroBlaze, hoặc bộ xử lý lõi cứng nhƣ PowerPC [56]. Ngoài ra các FPGA mới cung cấp nguồn tài nguyên mật độ cao tích hợp xử lý chuyên dụng. Có hai cách chính của việc truyền thông để trao đổi dữ liệu trong một hệ thống đa bộ xử lý: qua tin nhắn và bộ nhớ chia sẻ [2]. Mỗi cách đều có ƣu và khuyết điểm riêng của nó, nhƣng một cụm (đƣợc xây

Nguyễn Viết Hiếu – K16D2

dựng bởi các truyền thông bằng tin nhắn) là phù hợp hơn cho các kiến trúc tái cấu hình [2]. Sự tích hợp này đƣợc thúc đẩy bởi sự tồn tại và sẵn có của các bus IP điểm - điểm.

Một số giải pháp kỹ thuật cao kết hợp các lợi ích của kiến trúc xử lý song song và tái cấu hình. Tuy nhiên, không có cách nào có thể thực hiện hoàn toàn cấu hình lại từng phần linh động. Vấn đề lớn của các giải pháp này đến từ các lỗ hổng của một số phần của mạch mà không đƣợc tích hợp vào các khu tái cấu hình. Trong [16], các tác giả xây dựng một hệ thống đa bộ xử lý có khả năng tái cấu hình chịu lỗi. Một tác vụ có thể đƣợc tự động ánh xạ vào hệ thống mà không cần phải khởi động lại quá trình thiết kế. Tuy nhiên, nền tảng đƣợc triển khai vào FPGA nhiều và không thực hiện cấu hình lại linh động. Trong hệ thống này, mỗi FPGA thực hiện một bộ xử lý. Chi phí thiết bị là một vấn đề lớn trong hệ thống này. Thay đổi hành vi của các nút (giảm một lỗi hệ thống) thu đƣợc bằng cách cấu hình lại hoàn toàn FPGA thích hợp. Chiến lƣợc này cần đến thời gian dài để tái cấu hình. Ngoài ra, hệ thống này đòi hỏi một bộ nhớ lớn để lƣu trữ các đầy đủ các bitstream của tất cả các FPGA cho tất cả các nhiệm vụ cấu hình. Nếu hai nhiệm vụ tĩnh ban đầu đƣợc thực hiện trên FPGA và hai nhiệm vụ không hoạt động tại cùng một thời gian, FPGA mục tiêu đƣợc lựa chọn phải đủ lớn.

Kiến trúc RAMPSoC [19] thực hiện cấu hình lại linh động trong một hệ thống MPSoC. Sự thích nghi của nền tảng đến môi trƣờng xảy ra ở các cấp độ khác nhau. Ở cấp độ bộ xử lý, các yếu tố phần mềm đƣợc sửa đổi bằng cách thay thế các chƣơng trình trong bộ nhớ bộ xử lý. Quá trình tái cấu hình linh động, đƣợc sử dụng cho máy gia tốc phần cứng để tối ƣu hóa hiệu suất của ứng dụng. Các thành phần phần cứng chuyên dụng, chẳng hạn nhƣ bộ xử lý, bộ nhớ chƣơng trình và bộ điều khiển bộ nhớ là đƣợc định nghĩa tại thời gian thiết kế. Một sự thay đổi trong chức năng của RAMPSoC đạt đƣợc bằng cách tải lại các bộ vi xử lý và cấu hình lại chƣơng trình linh động của máy gia tốc phần cứng. Hệ thống này bao gồm một bộ xử lý tổng thể để cấu hình lại bộ vi xử lý khác. Về khả năng chịu lỗi, nó là vấn đề lớn bởi vì nếu bộ xử lý này không thành công, toàn bộ hệ thống sẽ không hoạt động chính xác.

Có nền tảng khác khai thác tự động cấu hình lại kiến trúc đa xử lý [4, 5]. Tuy nhiên, các công trình này chỉ xem xét các bộ vi xử lý máy gia tốc, các thành phần phần cứng chuyên dụng của bộ xử lý không thể thay đổi tự động. Nếu xảy ra lỗi trong các thành phần này, chúng không thể đƣợc gỡ bỏ bằng cách sử dụng cấu hình lại từng phần.

Trong chƣơng này sẽ giới thiệu khả năng chịu lỗi của chip hệ thống đa nhân động (FT-DyMPSoC). Hệ thống này bao gồm một số các bộ xử lý mà tất cả đều tự động cấu hình lại để:

i) Đối phó với các lỗi xảy ra trong các bộ vi xử lý.

ii) Tự động thay đổi các chức năng của bộ xử lý để thích ứng với các sự kiện và các ràng buộc khác nhau bên ngoài.

Nguyễn Viết Hiếu – K16D2

Một phần của tài liệu Cấu hình lại phần cứng trong kiến trúc hệ thống nhúng như một khả năng tăng tính linh hoạt của hệ thống tự động (Trang 37 - 41)

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

(82 trang)