Làm sao để cho các CPU đa lõi hoạt động trong thiết kế truyền thông nhúng

• Tốc độ dữ liệu cao (High Data Rates):Ứng dụng phải có khả năng hoạt

động ở 10 Gbps tại hiện tại và tăng nhanh lên đến 40 Gbps và cao hơn thế.

• Cơ sở luồng (Flow-based):Truyền thông ở những tốc độ xử lý phải được

stateful so với gói theo định hướng, yêu cầu phần cứng để đạt được hàng

triệu luồngdữ liệu đồng thời.

• Truyền thông không đồng nhất:Tốc độ gói cao từ hàng trăm luồng đồng

thờisẽ tạo nên dữ liệu ghép kênh không đồng nhất, tác động tiêu cực đến

cache, sử dụng bộ nhớ và sử dụng các thiết bị vào/ra ( I/O ) thông qua các

ứng dụng trên CPU của host.

pdf7 trang | Chia sẻ: maiphuongdc | Lượt xem: 1701 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Làm sao để cho các CPU đa lõi hoạt động trong thiết kế truyền thông nhúng, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Làm sao để cho các CPU đa lõi hoạt động trong thiết kế truyền thông nhúng Với các mạng thông tin cồng kềnh, đa dạng, và không thể dự đoán trước, các giải pháp được sử dụng trên mạng đang phải làm việc quá sức. Một kiến trúc đa lõi không đồng nhất mới có thể là giải pháp cho vấn đề này. Khối lượng liên lạc trong cả hệ thống mạng doanh nghiệp và thông tin tăng lên theo cấp số nhân, mở rộng từ 10 Gbps lên đến 40 Gbps và thậm chí có khả năng tăng lên tới 100 Gbps trong tương lai gần. Phát triển nhanh chóng này được kích thích bởi số lượng người dùng mạng nhiều hơn, các thiết bị và đầu cuối (ví dụ như máy tính, máy chủ, điện thoại di động, điện thoại IP và đầu giải mã/set-top box), các ứng dụng khác hình thành do hội tụ mạng (như VoIP, IPTV, P2P, Web 2.0) và nhu cầu băng thông lớn hơn bởi các ứng dụng trên. Các nhà sản xuất các thiết bị truyền thông cần phải xây dựng các sản phẩm hỗ trợ các ứng dụng và dịch vụ theo các yêu cầu cụ thể. Điều này liên quan đến sự hội tụ ngày hôm nay của nhu cầu về hiệu suất trong khả năng bảo mật tích hợp, nhận thức nội dung, tính linh hoạt và tính lập trình hóa để xử lý một danh sách dài các ứng dụng tiến hóa hoặc phát triển theo những hướng khác nhau. Thiết kế ứng dụng với nền tảng dữ liệu thông minh Hệ thống mạng doanh nghiệp và mạng dữ liệu bao gồm rất nhiều thiết bị hỗ trợ vô số các tính năng mạng và bảo mật như duyệt gói sâu (Deep Packet Inspection), đo lường và thử nghiệm, dịch vụ bảo hiểm, phòng chống xâm nhập, chống mất mát dữ liệu, tường lửa, cân bằng tải, và nhiều dịch vụ khác.. Bất kể chức năng cụ thể nào thực hiện những thiết bị này, chúng thường chia sẻ một số đặc điểm chung sau đây. Trước hết, các thiết bị trên chuyển tiếp lưu lượng dữ liệu qua mạng dựa nhiều trên thông tin cơ bản của lớp 2 và lớp 3. Mục đích chính là chạy một ứng dụng cơ sở dữ liệu sử dụng thông tin từ lớp 2 đến lớp 7 để xử lý, quyết định chuyển tiếp dựa trên nội dung hoặc phân tích và đánh giá chất lượng dòng tải. Có thể nói, những thiết bị này thực chất là các host cho các ứng dụng có thể tham gia đầy đủ vào quá trình chuyển tiếp gói. Các ứng dụng này cần có khả năng tính toán với cường độ cao và thường được thiết kế trên kiến trúc x86. Do được triển khai trên dòng mạng, chúng cần phải không gây ra tác động tiêu cực thông qua mạng hoặc gây ra trễ. Để địa chỉ hóa nhiều điểm trong hệ thống mạng doanh nghiệp và mạng truyền tải cho các ứng dụng dữ liệu nền tảng, các nhà sản xuất cung cấp khả năng mở rộng sản phẩm để tối ưu hóa giá cả, hiệu suất, giao diện, mật độ sử dụng và độ tin cậy (xem hình 1). Những sản phẩm này bao gồm từ các thiết bị có cấu hình cố định ở tầm thấp, khả năng cấu hình mang tính gia dụng ở tầm trung cho đến những kết cấu module ở tầm cao. Một mục tiêu kỹ thuật chung là thường xuyên tăng hiệu suất trên các dòng sản phẩm. Việc phát triển các dạng ứng dụng khác nhau trên từng thiết bị phần cứng có thể tránh được bằng cách thực hiện một thiết kế đơn cho toàn bộ dòng sản phẩm. Thách thức kĩ thuật: Hiệu suất và Tri thức Để đạt được thiết kế với hiệu suất cao, các ứng dụng dữ liệu nền tảng thông minh cân nhắc đến việc sử dụng kiến trúc CPU đa lõi sẽ phải đối mặt với một số thách thức kĩ thuật quan trọng, bao gồm: • Tốc độ dữ liệu cao (High Data Rates): Ứng dụng phải có khả năng hoạt động ở 10 Gbps tại hiện tại và tăng nhanh lên đến 40 Gbps và cao hơn thế. • Cơ sở luồng (Flow-based): Truyền thông ở những tốc độ xử lý phải được stateful so với gói theo định hướng, yêu cầu phần cứng để đạt được hàng triệu luồng dữ liệu đồng thời. • Truyền thông không đồng nhất: Tốc độ gói cao từ hàng trăm luồng đồng thời sẽ tạo nên dữ liệu ghép kênh không đồng nhất, tác động tiêu cực đến cache, sử dụng bộ nhớ và sử dụng các thiết bị vào/ra ( I/O ) thông qua các ứng dụng trên CPU của host. • Tích hợp bảo mật: Hầu hết các mạng và các ứng dụng bảo mật yêu cầu một số hình thức xử lý an ninh. Đa số các yêu cầu tăng tốc trong truyền thông là cho xử lý bảo mật, làm cho quá trình đồng xử lý bảo mật look-aside rất không hiệu quả. Việc xử lý bảo mật riêng biệt bây giờ phải được tích hợp chặt chẽ trong nền tảng dữ liệu để đáp ứng các yêu cầu về an toàn cho tất cả lưu lượng truy cập mà không giảm hiệu suất hoặc tăng độ trễ. • Độ trễ thấp: Các ứng dụng trực tiếp trên mạng cần phải không gây ra độ trễ đáng kể ảnh hưởng đến hiệu suất hệ thống trong thời gian thực. Tuy nhiên, tốc độ dữ liệu cao từ mô hình giao thông không thống nhất có thể gây ra hiện tượng “đói” chu kì bộ xử lý của máy chủ lưu trữ và làm độ trễ tăng lên. • DPI: Với các quyết định chuyển tiếp di chuyển ngoài các tiêu chí đơn giản của lớp 2 và 3, ứng dụng và nội dung đang sử dụng là cao nhất. Ở tốc độ dữ liệu rất cao, DPI cũng tạo ra một lớp mới về khối lượng công việc, có thể xử lý thuế hiệu suất cao nhất-CPU mục đích chung. Mở rộng ra, các công cụ biểu thức chính quy thường được cần thiết. • Khả năng ảo hóa: Sự bùng nổ của công việc cụ thể và các thiết bị an ninh trên mạng đã tạo ra chi phí đáng kể, lượng năng lượng tiêu thụ, và các thách thức hoạt động. Nhiều nhà điều hành mạng đã lợi dụng các giải pháp ảo hóa để giảm số lượng các thiết bị mạng. • Tính Linh hoạt và thích ứng: Với giao thức tiến hóa lớp 2 và lớp 3 cũng như sự biến đổi cận liên tục trong các ứng dụng lớp 4 đến lớp 7, dịch vụ, giao thức và các thiết kế phần cứng cho nền tảng cơ sở dữ liệu thông minh cần có khả năng chương trình hóa, cung cấp sự linh hoạt cần thiết để nhanh chóng thích nghi với những thay đổi này. Tổng kết các yêu cầu này, cuối cùng các nhà thiết kế phải đối mặt với ba thách thức khi sử dụng các CPU đa lõi mục đích chung cho các ứng dụng dữ liệu nền tảng thông minh. Đầu tiên là để làm cho CPU sử dụng cho mục đích chung tính toán hiệu quả nhất có thể. Bất kể số lượng lõi hoặc tốc độ hoạt động của chúng khi có tính đến tất cả các yêu cầu, nhà thiết kế phải trả lời các câu hỏi như: Hiệu suất thật sự của hệ thống là gì? Bao nhiêu lệnh cần thiết có thể cho mỗi gói? Sự liên quan giữa các luồng công việc khác nhau trong mỗi phân vùng đến việc thiết lập đầy đủ các yêu cầu để tối đa hóa hiệu suất trong thế giới thực? Mối quan tâm thứ hai là hiệu quả bộ nhớ. Việc đạt được thông lượng cao nhất với độ trễ thấp nhất có ảnh hưởng nhiều nhất bởi băng thông bộ nhớ, hiệu quả bộ nhớ cache, và tránh tình trạng dừng vi xử lý gây ra các chu kì xử lý dư (còn gọi là thời gian chết). Cuối cùng, hiệu quả sử dụng năng lượng đóng một vai trò quan trọng trong thiết kế tổng thể về hiệu suất trên tỷ lệ năng lượng. Giải pháp: Một kiến trúc đa lõi không đồng nhất Tổng hợp các thách thức mà thiết bị mạng cần phải đối mặt trong nỗ lực cung cấp hiệu năng làm việc cao, sự thông minh và tính khả trình đòi hỏi một kiến trúc vi xử lý đa chip, đa lõi không đồng nhất. Kiến trúc này kết hợp ứng dụng cơ sở dữ liệu mạng khả trình có hiệu suất làm việc cao nhằm tối ưu hóa cho xử lý gói ở lớp 2 đến lớp 7 và cấu trúc CPU đa lõi ảo hóa trên nền x86 qua giao diện PCI Express ảo hóa. Thiết kế dựa trên kiến trúc này có thể cho phép các nhà cung cấp thiết bị nâng cao hiệu năng, tính linh hoạt, và các lĩnh vực hóa hệ thống lập trình lên gấp 4 lần so với các giải pháp x86 đa lõi sử dụng giao diện card mạng chuẩn. Từ góc nhìn hẹp của việc phát triển ứng dụng và lưu trữ, không có kiến trúc vi xử lý nào khác được công nhận rộng rãi hơn hoặc phù hợp hơn so với x86. Nó cung cấp tùy chọn thích hợp về giá cả, hiệu suất, khả năng hỗ trợ liên tục, khả năng thay đổi, bao gồm cả các lĩnh vực quan trọng như tính ảo hóa. Tuy nhiên kết hợp các yêu cầu về hiệu suất cao, độ trễ thấp, và khả năng xử lý luồng ổn định với các ứng dụng và nội dung DPI trên lớp 2-lớp 7 cản trở vi xử lý đa lõi đồng nhất ứng dụng hiệu quả trong thực tế. Một kiến trúc đa lõi không đồng nhất có ba mục tiêu (xem hình 2). Mục tiêu đầu tiên là để tối ưu mục đích nói chung của bộ vi xử lý đa lõi nhàm cho phép nó tập trung vào các luồng công việc được cho là tốt nhất. Trong các ví dụ về hệ thống truyền thông nhúng, luồng công việc bao gồm việc lưu trữ cho phòng chống xâm nhập, tường lửa, phòng chống mất mát dữ liệu, kiểm tra và đo lường, hoặc ứng dụng tương tự khác. Những ứng dụng này có thể tận dụng lợi thế của tăng hiệu suất của đơn lõi cộng thêm với hiệu suất bổ sung từ bộ xử lý đa lõi, và thậm chí cả lợi ích hơn nữa từ ảo hóa. Điều này cho phép các nhà phát triển kết hợp để xây dựng một loạt các tiêu chuẩn và công cụ phát triển nguồn nhân lực cho việc phát triển các tính năng một cách nhanh chóng. Mục tiêu thứ hai là để giới thiệu một nhóm nhỏ các bộ đồng xử lý đa lõi tối ưu nhằm giảm tải gánh nặng xử lý nặng nề của các CPU đa lõi chung mục đích. Trong kiến trúc này, bộ xử lý đa lõi phân kênh không thống nhất theo tỷ lệ lưu lượng và cung cấp các gói mịn và phân loại luồng. Thêm vào đó là việc xử lý ở các lớp mạng thấp hơn như trạm cuối TCP và thông tin báo hiệu SSL có thể được gỡ bỏ từ bộ vi xử lý chung. Thông tin về phương thức xử lý luồng, DPI, và quá trình bảo mật cũng có thể được mang bởi thông tin báo hiệu và thực hiện trên tất cả các gói dữ liệu. Quá trình truyền thông này sau đó có thể được cấu trúc hóa thành một mô hình cụ thể cho truyền dẫn của lõi xử lý chung thích hợp cho mục đích xử lý ứng dụng, do đó tăng hiệu suất máy chủ lưu trữ. Chính sách bổ sung dựa trên cân bằng tải của luồng được phân loại và cấu trúc hóa sẽ cải tiến thêm hiệu quả xử lý máy chủ lưu trữ. Mục tiêu thứ ba là liên kết hai miền xử lý tối ưu hóa công việc thông qua một đường truyền thông ảo hóa hiệu suát cao. Trình điều khiển zero-copy cho phép sao chép nhanh chóng và hiệu quả các khối dữ liệu lớn chuyển từ I / O đến đa lõi, máy ảo, hoặc điểm cuối ảo. Hai miền xử lý đa lõi được liên kết bởi liên kết vào/ra ảo hóa dùng chuẩn PCI Express 2.0 (IOV hay PCI Express 2.0 's I / O Virtualization) và có thể được tăng cường hơn nữa với hỗ trợ VTd của Intel. Đường truyền I/O ảo hóa hiệu suất cao này cung cấp đường dẫn liên kết cuối cùng giữa các bộ xử lý tối ưu hóa lưồng mạng và các bộ vi xử lý đa lõi cho ứng dụng mục đích chung. Làm phần còn lại tốt hơn Kiến trúc đa lõi không đồng nhất này là lý tưởng cho các ứng dụng dũ liệu cơ sở thông minh, hiệu quả cao. Bằng cách áp dụng bộ vi xử lý đa lõi tối ưu hóa dành riêng cho chức năng mạng lớp 2 đến lớp 7, các lõi chung hoạt động hiệu quả hơn, cho phép các ứng dụng mạng tăng hiệu suất đáng kể, giảm độ trễ, và tăng số lượng các chu trình xử lý hiệu quả cho mỗi gói. Các cấu trúc tiền xử lý và cao hơn cải thiện hiệu quả bộ nhớ và băng thông bộ nhớ, giảm bộ nhớ cache và thời gian dừng của bộ vi xử lý. Nhiệm vụ tối ưu hóa bộ xử lý đa lõi cung cấp hiệu suất cao nhất trên tỉ lệ tiêu thụ điện năng có thể. Tất cả những lợi ích kết hợp để làm cho kiến trúc đa lõi không đồng nhất là giải pháp ưu tiên cho các ứng dụng mạng truyền thông nhúng, làm tăng lên đáng kể các tiêu chuẩn thiết kế đa lõi.

Các file đính kèm theo tài liệu này:

  • pdflam_sao_de_cho_cac_cpu_da_loi_hoat_dong_trong_thiet_ke_truyen_thong_nhung_6821.pdf