• 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 |
Chia sẻ: maiphuongdc | Lượt xem: 1691 | 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