LàmsaođểchocácCPUđalõihoạtđộngtrongthiếtkếtruyềnthôngnhú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ácthiế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ácthiết bị truyềnthô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ếtkế ứng dụng với nền tảng dữ liệuthô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ữngthiết bị này, chúng thường chia sẻ một số đặc điểm chung sau đây. Trước hết, cácthiế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ữngthiết bị này thực chất là các host chocá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ếtkế 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ềntảichocá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ácthiế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ácdò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ếtkế đơ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ếtkế 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đalõ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 t hế. • Cơ sở luồng (Flow-based): Truyềnthô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ềnthô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ácthiế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 trongtruyềnthông là cho xử lý bảo mật, làmcho 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ốngtrong 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ácthiế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ácthiế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 trongcác ứng dụng lớp 4 đến lớp 7, dịch vụ, giao thức và cácthiếtkế phần cứng cho nền tảng cơ sở dữ liệuthô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ếtkế phải đối mặt với ba thách thức khi sử dụng cácCPUđalõi mục đích chung chocác ứng dụng dữ liệu nền tảng thông minh. Đầu tiên là đểlàmchoCPU 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ếtkế phải trả lờicá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ọngtrongthiếtkế 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 đalõ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, đalõ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đalõi ảo hóa trên n ền x86 qua giao diện PCI Express ảo hóa. Thiếtkế 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ý đalõiđồng nhất ứng dụng hiệu quả trong thực tế. Một kiến trúc đalõ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ý đalõ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. Trongcác ví dụ về hệ thốngtruyềnthô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ý đalõi tối ưu nhằm giảm tải gánh nặng xử lý nặng nề của cácCPUđalõi chung mục đích. Trong kiến trúc này, bộ xử lý đalõ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ềnthông này sau đó có thể được cấu trúc hóa th ành một mô hình cụ thể chotruyề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ềnthô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ý đalõ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ý đalõicho ứng dụng mục đích chung. Làm phần còn lại tốt hơn Kiến trúc đalõi không đồng nhất này là lý tưởng chocá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ý đalõ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áclõ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ý đalõ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ữnglợi ích kết hợp đểlàmcho kiến trúc đalõi không đồng nhất là gi ải pháp ưu tiên chocác ứng dụng mạng truyềnthông nhúng, làm tăng lên đáng kểcác ti êu chuẩn thiếtkếđa lõi. . 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. 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