• 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. 
                
              
                                            
                                
            
 
            
                 7 trang
7 trang | 
Chia sẻ: maiphuongdc | Lượt xem: 1885 | Lượt tải: 0 
              
            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:
 lam_sao_de_cho_cac_cpu_da_loi_hoat_dong_trong_thiet_ke_truyen_thong_nhung_6821.pdf lam_sao_de_cho_cac_cpu_da_loi_hoat_dong_trong_thiet_ke_truyen_thong_nhung_6821.pdf