Xem mẫu

  1. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Hướng tiếp cận DPDK trong tối ưu hiệu năng xử lý gói tin trên hệ thống gNodeB 5G Tăng Thiên Vũ*, Nguyễn Văn Thành, Nguyễn Chí Kiên, Lý Nguyễn Hoàng Phúc, Phạm Xuân Trà, Bùi Việt Hùng, Vũ Tuấn Đức Dự án trạm thu phát sóng 5G, Dự án 5G gNodeB - Tổng công ty Công nghiệp Công nghệ cao Viettel Email: vutt6@viettel.com.vn Tóm tắt — Để đáp ứng được yêu cầu ngày càng cao về lưu (Control Plane) và Mặt phẳng người dùng UP (User Plane). lượng dữ liệu người dùng, sự tăng nhanh về số lượng người Mặt phẳng UP yêu cầu rất cao về tốc độ xử lý và lưu lượng dùng và đa dạng các loại hình dịch vụ, hệ thống mạng di động gói tin, trong đó mặt phẳng CP yêu cầu nhiêu hơn về độ thế hệ thứ 5 (5G) gặp phải giới hạn ở bài toán xử lý số lượng phức tạp của các giao thức báo hiệu. gói tin lớn ở tốc đô cao. Các phương án tiếp cận truyền thống cho thấy các nhược điểm về băng thông thấp cũng như tải cao Xử lý gói tin trong theo phương pháp truyền thống trong tại các lõi xử lý CPU. Ở bài báo này chúng tôi giới thiệu một hệ thống 5G gNodeB sử dụng các kỹ thuật gửi nhận Socket hướng tiếp cận mới, trong đó nền tảng Data Plane API (Application Programming Interface). Socket API với Development KIT (DPDK) được sử dụng kết hợp với phương nền tảng là Linux Kernel Network Stack cung cấp một tập pháp xử lý gói tin truyền thống để giải quyết vấn đề tồn tại về hợp rất nhiều các giao thức mạng, hỗ trợ hiệu quả cho giao tải xử lý cao và giới hạn băng thông trong mạng truy nhập của diện CP. Cũng chính vì việc hỗ trợ nhiều giao thức ở nhiều hệ thống 5G. tầng (stack) cộng thêm sử dụng cơ chế truyền thông ngắt (interrupt-driven) dẫn đến đối với mặt phẳng UP, cách tiếp Keywords- DPDK, xử lý gói tin, trạm thu phát sóng 5G, NG- cận sử dụng socket này lộ rõ điểm yếu về tốc độ xử lý gói RAN, gNodeB. tin cũng như tải xử lý của bộ xử lý trung tâm CPU I. GIỚI THIỆU (Central Processing Unit). DPDK không hoạt động giống với một network stack, việc giữ cho quá trình xử lý đơn giản Kiến trúc mạng di động thế hệ thứ 5 (5G) được chia kết hợp với áp dụng các kỹ thuật như Poll Mode Driver và thành ba thành phần chính như trong Hình 1, gồm: Mạng lõi quản lý bộ nhớ theo dạng Huge-page giúp DPDK xử lý gói (Core Network), Mạng truyền dẫn (Transportation tin hiệu quả hơn so với phương pháp Socket API. Network) và Mạng truy cập (Radio Access Network – RAN) [2]. Mạng 5G hỗ trợ ba loại dịch vụ cơ bản, đó là: enhanced Mobile Broadband (eMBB), massive Machine Type Communications (mMTC) và Ultra-Reliable and Low Latency Communications (URLLC). Để đáp ứng được những yêu cầu của các loại dịch vụ này, chuẩn 5G định nghĩa về giao diện thế hệ mới cho Mạng truy nhập RAN, gọi là NG - Next Generation RAN. Trạm thu phát sóng 5G Hình 2. Kết nối của các khối bên trong 5G-RAN sử dụng thiết kết NG-RAN được gọi là gNodeB. Trong bài báo này, chúng tôi sẽ mô tả cách tiếp cận mới, gNodeB được cấu thành từ ba thành phần chính như trong đó sử dụng kết hợp công nghệ DPDK và Socket API trong Hình 2, gồm: CU (Central Unit), DU (Distributed để giải quyết vấn đề giới hạn về băng thông xử lý của mặt Unit) và RU (Radio Unit). Trong đó kết nối giữa gNodeB phẳng UP trong gNodeB. Phần còn lại của bài báo được tổ và Mạng truyền dẫn là kết nối backhaul, cung cấp kết nối thành ba phần lớn. Phần II cung cấp thông tin về cách tiếp giữa CU và Mạng lõi. Kết nối giữa CU và các DU được gọi cận hiện tại, mô tả về hướng tiếp cận mới sử dụng DPDK là midhaul, kết nối DU và RU là fronthaul. cho các kết nối backhaul và midhaul. Phần III là tổng hợp các kết quả thử nghiệm kỹ thuật DPDK trong hệ thống 5G mà chúng tôi đã đạt được. Cuối cùng, phần kết luận bài báo được thể hiện trong mục IV. II. DPDK TRONG XỬ LÝ GÓI TIN TRONG 5G GNODEB Hình 1. Mô hình mạng di động thế hệ thứ 5 - 5G A. Cách tiếp cận truyền thống – Socket API cho gNodeB Các kết nối backhaul, midhaul và fronthaul được chia Hình 3 mô tả kiến trúc của giao diện backhaul và thành các mặt phẳng, gồm: Mặt phẳng điều khiển CP midhaul trên trong gNodeB. Trong đó ở đường backhaul, ISBN 978-604-80-5958-3 226
  2. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) các cổng socket được mở để truyền nhận dữ liệu tuyến lên tiếp nhận được dữ liệu. Chi tiết hơn về kiến trúc của DPDK (uplink) và tuyến xuống (downlink). Tương tự ở đường có thể tìm thấy tại [6]. midhaul, các cổng socket được mở trên giao diện lo - loopback (một giao diện mạng đặc biệt trong hệ điều hành Ở cơ chế socket-based, gói tin truyền và nhận dựa trên Linux, trong đó các gói tin khi gửi vào giao diện này, thay cơ chế sự kiện ngắt (interrupt). Ngay các các kỹ thuật nâng vì gửi ra công mạng, gói tin được gửi ngược lại cho hệ điều cấp liên quan đến xử lý ngắt như NAPI [3] cũng không đáp hành). ứng được yêu cầu ngày càng tăng về băng thông của các giao diện mạng. Để khắc phục được điểm yếu của cách tiếp Với cách tiếp cận này toàn bộ dữ liệu của CP và UP tại cận socket, DPDK sử dụng PMD (Poll Mode Driver). Đối kết nối backhaul và midhaul đều cần phải đi qua Linux với PMD, thay vì chờ ngắt thông báo sự kiện gói tin đến, Network Stack. Nhược điểm của phương án này là xuất hiện PMD sẽ tiến hành đọc liên tục các gói tin tại cổng mạng. các điểm giới hạn băng thông do socket không phù hợp cho truyền nhận lượng dữ liệu lớn trên mặt phẳng UP. Về phần bộ nhớ, để dữ liệu có thể được gửi từ phần cứng lên không gian người dùng một cách hiệu quả, DPDK sử dụng thêm một kỹ thuật quản lý bộ nhớ nâng cao của Linux, gọi là huge-page. Thông thường Linux quản lý bộ nhớ chính bằng phương pháp phân tách bộ nhớ thành các vùng địa chỉ vật lý liên tục với dung lượng 4 KB, gọi là page. Việc các page được chia thành 4K khiến độ phân mảnh bộ nhớ cao và dẫn đến hiệu năng của quá trình DMA - Direct Memory Access thấp. Linux cung cấp thêm cơ chế quản lý các page lớn hơn 4K, gọi là các huge-page. DPDK tận dụng cơ chế huge-page này để tăng hiệu năng của quá trình truyền nhận gói tin giữa phần mềm và phần cứng. Hình 3. Kết nối Backhaul và Midhaul sử dụng socket Phần tiếp theo của bài báo sẽ mô tả cách mà DPDK được áp dụng vào hệ thống 5G gNodeB để giải quyết vấn đề liên quan đến tốc độ xử lý gói tin và tải xử lý cao của phương pháp Socket API. B. Kết nối backhaul sử dụng công nghệ DPDK DPDK - Data Plane Development KIT được Intel lần đầu giới thiệu vào năm 2010. Mã nguồn mở này là tập hợp các thư viện và bộ công cụ sử dụng cho xử lý gói tin hiệu quả trên nền tảng kiến trúc chip Intel [1], góp phần khai sinh ra một hướng tiếp cận hoàn toàn mới cho quá trình xử lý gói Hình 5. Sử dụng DPDK cho kết nối backhaul tin trong các hệ thống máy tính. Những điểm đặc biệt trong Hình 5 mô tả vị trí mà DPDK được áp dụng tại kết nối kiến trúc dẫn đến hiệu năng đáng kinh ngạc của DPDK là: backhaul, thay vì ứng dụng CU gửi và nhận gói tin cho kernel-bypass (bỏ qua xử lý gói tin tại kernel), kỹ thuật mạng lõi thông qua các API (Application Programming polling trong xử lý ngắt và quản lý bộ nhớ dưới dạng huge- Interface) socket thì CU sẽ gửi và nhận gói tin thông qua các page. API của DPDK. Sự hiệu quả của việc áp dụng DPDK cho kết nối backhaul sẽ được thể hiện trong phần III của bài báo này. Ngoài ra, bản thân DPDK không phải là một chồng giao thức mạng (network stack) [4], do đó nhược điểm của quá trình sử dụng DPDK là không thể hỗ trợ đủ được các giao thức phức tạp của mặt phẳng CP CU. Để giải quyết vấn đề này, một kỹ thuật của DPDK khác được thêm vào ở giao diện backhaul DPDK, và được trình bày ở phần tiếp theo. C. Sử dụng kỹ thuật DPDK KNI cho mặt phẳng CP ở kết nối backhaul Trong phần trước, DPDK được sử dụng để thay thế socket cho giao diện backhaul giải quyết được hạn chế về Hình 4. Các yếu tố khiến DPDK khác biệt so với Linux tốc độ xử lý gói tin và tải xử lý cho mặt phẳng UP. Để có Netwwork Stack thể đáp ứng được yêu cầu về độ phức tạp của các giao thức Hình 4 mô tả các thành phần trong hệ thống DPDK [5], trên mặt phẳng CP, kỹ thuật KNI (Kernel Network có thể nhận thấy được thay vì gói tin được truyền qua Linux Interface) của DPDK được áp dụng. Kernel network stack, gói tin được gửi thẳng lên không gian Ý tưởng của KNI là biến một cổng mạng đã được dùng người dùng (user space), nơi mà các ứng dụng có thể trực cho DPDK có thể hỗ trợ thêm được API Socket. Để thực ISBN 978-604-80-5958-3 227
  3. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) hiện được ý tưởng này, dữ liệu tại tầng ứng dụng của DPDK Trong phần này sẽ mô tả phương án sử dụng kết hợp sau khi nhận từ NIC được gửi và nhận đến một khối chức DPDK và Linux Stack cho giao diện midhaul. Trong đó mặt năng trong nhân Linux do cộng đồng DPDK phát triển phẳng CP của midhaul sẽ tiếp tục sử dụng socket trên cổng (rte_kni.ko), khối chức năng này đăng ký với Linux một lo, trong khi mặt phẳng UP sẽ sử dụng nền tảng DPDK giao diện Ethernet ảo. Dữ liệu gói tin DPDK thông qua giao Ring-buffer. Hình 7 mô tả kiến trúc của giao diện midhaul diện ảo này được gửivào Linux Kernel Stack, qua đó người khi sử dụng phối hợp hai kỹ thuật này. dùng có thể dùng socket API cho một cổng mạng đã được dùng cho DPDK. III. GIẢI PHÁP TOÀN DIỆN CHO MẶT PHẲNG CU VÀ RU TRONG 5G GNODEB Như vậy, với một cổng mạng có chạy DPDK, kỹ thuật KNI hỗ trợ API socket cho mặt phẳng CP. Để có thể hỗ trợ Hình 8 mô tả kiến trúc chung cho toàn bộ hệ thống kết được cho cả mặt phẳng UP, một bộ lọc gói tin được thiết kế nối trên của mặt phẳng CP và UP trên gNodeB sử dụng trong đó: gói tin ở măt phẳng CP được giữ nguyên và gửi DPDK. Trong hình vẽ này, toàn bộ các kỹ thuật được mô tả lại cho khối KNI, gói tin ở mặt phẳng UP được gửi trực tiếp ở các phần trước được áp dụng, gồm: DPDK KNI tại cho ng dụng. Hình 6 mô tả thiết kế của giao diện backhaul backhaul, DPDK Ring buffer tại midhaul. khi sử dụng DPDK và kỹ thuật KNI kết hợp lọc gói tin. Hình 8. Kiến trúc đầy đủ của các kết nối backhaul và midhaul trong 5G-RAN. Kiến trúc này đã được thử nghiệm trên hệ thống 5G do dự án 5G thuộc Tổng công ty CN CNC Viettel thực hiện. Kết quả đo đạc của các giao diện được thể hiện ở trong các Hình 6. Sử dụng kỹ thuật DPDK KNI cho kết nối backhaul thống kê dưới đây được thực hiện trên hệ thống sử dụng chip Intel Xeon Gold, bộ nhớ 128GB, NIC Intel X710 Fortville D. Áp dụng kỹ thuật DPDK Ring-buffer cho giao diện và chạy hệ điều hành CentOS7. Phiên bản của DPDK cho midhaul thử nghiệm này là 19.11.2. Như đã nhắc đến ở phần trước, trong cách tiếp cần Bài thử nghiệm thực hiện với băng thông 1.8Gpbs của truyền thống, ngoài việc áp dụng socket cho kết nối ở toàn hệ thống, tải xử lý của các CPU tại kết nối backhaul backhaul, kết nối midhaul giữa CU và DU cũng sử dụng các (Hình 9) và kết nối midhaul (Hình 10) được đo với các kịch API socket. Khác với kết nối backhaul, kết nối midhaul sử bản kích thước gói tin khác nhau. dụng API socket trên giao diện lo (loopback) của Linux. Đặc điểm của giao diện này là không kết nối đến phần cứng Hình 9 thể hiện tải xử lý của luồng nhận dữ liệu tại kết công mạng (NIC, Network Interface Card), việc không kết nối backhaul. Nhận thấy, cùng một băng thông là 1.8Gbps, nối đến phần cứng này dẫn đến băng thông của socket ở hệ thống sử dụng Socket API cần tải CPU nhiều hơn so cổng loopback sẽ cao hơn nhiều so với cổng mạng thật ở với trường hợp sử dụng DPDK. giao diện backhaul. Mặc dù gói tin không cần gửi/nhận từ phần cứng nhưng vẫn sẽ cần đi qua Linux Kernel Network Stack. Đối với mặt phẳng UP, lượng dữ liệu truyền rất lớn dẫn đến khi đi qua Kernel Stack sẽ gây tải cao cho các khối xử lý trung tâm (CPU). Hình 9. So sánh tải của luồng (thread) chương trình nhận gói tin tại kết nối backhaul Tương tự tại kết nối midhaul, cũng cùng điều kiện là băng thông thử nghiệm 1.8Gbps, tải CPU sử dụng cho nhận gói tin tại DU khi chạy Socket API cao hơn rất nhiều khi sử Hình 7. Sử dụng DPDK ring buffer cho kết nối midhaul dụng DPDK. ISBN 978-604-80-5958-3 228
  4. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Ngoài ra, kết quả thử nghiệm cũng cho thấy rằng, tải xử Bản thân công nghệ DPDK cũng là một nhánh của các lý của hệ thống sử dụng Socket API phụ thuộc nhiều vào công nghệ giảm tải (offloading), trong tương lai không xa, kích thước gói tin. Cùng một băng thông, xử lý gói tin có để có thể phá vỡ thêm nhiều giới hạn cho 5G cũng như các kích thước bé tốn nhiều tải CPU hơn so với gói tin có kích thế hệ mạng di động tiếp theo, hướng tiếp cận offloading, thước lớn. Vấn đề này không gặp phải khi sử dụng DPDK. đặc biệt là hardware offloading cần được nghiêm túc đánh giá và thử nghiệm. Trong bài báo này, phương án sử dụng DPDK Ring- Buffer giải quyết được các vấn đề về băng thông cho mặt phẳng UP giữa CU và DU. Song song đó, phương án này vẫn còn có nhược điểm khi các khối logic CU và DU phải được triển khai trên một máy tính vật lý, nhược điểm này sẽ hạn chế độ linh hoạt của các phương án triển khai và cần phải được cân nhắc nâng cấp trong các nghiên cứu tiếp theo.. TÀI LIỆU THAM KHẢO [1] Xiaoban Wu, Peilong Li, Yongyi Ran, Yan Luo. “Network measurement for 100 GbE network links using multicore processors[J]”. Future Generation Computer Systems, 2017. Hình 10. So sánh tải của luồng (thread) chương trình [2] 3GPP 5G, “5G; NG-RAN; Architecture description,” ETSI TS 138 nhận gói tin tại kết nối backhaul 401 V15.2.0, July. 2018. [3] Kai Zhu, Xíngshu Chen, Jun Tang, “A Method of Adaptive IV. KẾT LUẬN Selection of Hybrid Interrupt-NAPI Scheme”, ICCIIS, 2010. Với sự phát triển mạnh mẽ của mạng di động, đặc biệt [4] Cerrato I, Annarumma M, Risso F. Supporting Fine-Grained Network Functions through Intel DPDK[C].Third European mạng di động thế hệ thứ 5, các phương pháp tiếp cận truyền Workshop on Soft ware Defined Networks. IEEE Computer Society, thống bắt đầu xuất hiện các giới hạn, việc ứng dụng các kỹ 2014:1-6. thuật xử lý gói tin mới như DPDK góp phần phá vỡ các giới [5] Bi H, Wang Z H. DPDK-based Improvement of Packet hạn đó. Forwarding[J]. 2016, 7:01009. [6] W. R. Intel, High-performance multi-core networking software Bài báo đã mô tả các kết quả của việc áp dụng DPDK design options, White Paper 2011. cho hệ thống 5G gNodeB trên các giao diện backhaul và midhaul. Bài báo cũng mô tả các kỹ thuật để có thể phối hợp hoạt động giữa phương pháp DPDK và phương pháp truyền thống. Sự kết hợp này giúp tận dụng được các điểm mạnh khác nhau của từng phương án. ISBN 978-604-80-5958-3 229
nguon tai.lieu . vn