Onload®️เป็นสแต็กเครือข่ายระดับผู้ใช้ที่มีประสิทธิภาพสูง ซึ่งจะเร่งความเร็ว I/O เครือข่าย TCP และ UDP สำหรับแอปพลิเคชันที่ใช้ซ็อกเก็ต BSD บน Linux
OpenOnload ประกอบด้วยไลบรารีที่ใช้ร่วมกันระดับผู้ใช้ที่ดักฟังการเรียกของระบบที่เกี่ยวข้องกับเครือข่าย และใช้สแต็กโปรโตคอล และรองรับโมดูลเคอร์เนล มันเข้ากันได้กับ API การเรียกระบบเต็มรูปแบบ รวมถึงแง่มุมที่มักจะเป็นปัญหาสำหรับเครือข่ายระดับผู้ใช้ เช่น fork(), exec(), การส่งผ่านซ็อกเก็ตผ่านซ็อกเก็ตโดเมน Unix และการพัฒนาโปรโตคอลเมื่อแอปพลิเคชันไม่ได้กำหนดเวลาไว้ .
OpenOnload ถูกแจกจ่ายเป็นซอร์สโค้ด คำแนะนำสำหรับการสร้าง บรรจุภัณฑ์ และการติดตั้งสามารถพบได้ใน DEVELOPING.md
หากมีอินเทอร์เฟซใดๆ ที่จะเร่งความเร็วโดย Onload ซึ่งไม่ใช่อินเทอร์เฟซ AMD Solarflare ให้ดำเนินการต่อไปนี้เพื่อลงทะเบียนอินเทอร์เฟซเหล่านั้นเพื่อเร่งความเร็วโดยใช้ AF_XDP:
echo ens2f0 > /sys/module/sfc_resource/afxdp/register
แอปพลิเคชันที่จะ Onloaded ควรเปิดใช้งานโดยนำหน้าบรรทัดคำสั่งด้วย onload
พื้นที่เก็บข้อมูลที่โฮสต์โดยสาธารณะเป็นโครงการที่ได้รับการสนับสนุนจากชุมชน เมื่อแจ้งปัญหาในพื้นที่เก็บข้อมูลนี้ คาดว่าผู้ใช้จะต้องเรียกใช้จากส่วนหัวของแผนผัง git เพื่อรับการเปลี่ยนแปลงล่าสุด โดยไม่ได้ใช้ Onload เวอร์ชันอย่างเป็นทางการซึ่งโดยทั่วไปแล้วจะเผยแพร่ก่อนที่การเปลี่ยนแปลงเคอร์เนลที่เสียหายล่าสุดจะปรากฏขึ้นเนื่องจากมีแนวโน้มที่จะนำไปสู่ มีการหยิบยกประเด็นซ้ำซ้อนมากมาย ความเข้ากันไม่ได้ที่เกิดจากเคอร์เนลเวอร์ชันล่าสุดมีแนวโน้มที่จะได้รับการแก้ไขอย่างรวดเร็วที่นี่ในพื้นที่เก็บข้อมูลนี้
OpenOnload รุ่นที่รองรับมีอยู่ในhttps://www.xilinx.com/support/download/nic-software-and-drivers.html#open โปรดแจ้งปัญหาเกี่ยวกับ Onload รุ่นที่รองรับได้ ที่ [email protected]
แผนผังต้นทางนี้เข้ากันได้กับเคอร์เนลและการแจกแจง Linux ต่อไปนี้:
Onload มอบการเร่งความเร็วเครือข่ายที่เหมาะสมที่สุดและคุณสมบัติเพิ่มเติมโดยใช้อินเทอร์เฟซฮาร์ดแวร์ ef_vi ดั้งเดิมที่มาจากอะแดปเตอร์เครือข่าย AMD Solarflare เมื่อเปรียบเทียบกับการใช้กลไก AF_XDP ของ Linux ในโหมดนี้ไม่จำเป็นต้องรองรับเคอร์เนลและไดรเวอร์สำหรับ AF_XDP
มีเวอร์ชันของไดรเวอร์สุทธิ 'sfc' สำหรับอะแดปเตอร์เครือข่าย AMD Solarflare รวมอยู่ด้วย
อะแดปเตอร์ต่อไปนี้สามารถรองรับ OpenOnload โดยไม่มี AF_XDP:
OpenOnload สามารถเร่งความเร็วแอปพลิเคชันบนอะแดปเตอร์เครือข่ายที่ไม่ใช่ Solarflare พร้อมรองรับ AF_XDP
เพื่อสนับสนุนการคัดลอกเป็นศูนย์ Onload จำเป็นต้องมีไดรเวอร์อะแดปเตอร์เครือข่าย AF_XDP เพื่อใช้ AF_XDP พื้นฐานที่จำเป็น โดยทั่วไปแล้วไดรเวอร์ล่าสุดจากผู้จำหน่ายอะแดปเตอร์เครือข่ายจะสนับสนุนสิ่งพื้นฐานเหล่านี้
การสนับสนุน AF_XDP เป็นงานที่ได้รับการสนับสนุนจากชุมชนซึ่งขณะนี้ยังไม่มีคุณภาพในการเผยแพร่
หาก netdriver ไม่รองรับ AF_XDP ในโหมดเนทิฟ Onload จะพยายามใช้โหมด XDP ทั่วไปเมื่อลงทะเบียนอินเทอร์เฟซ เพื่อให้ใช้งานได้ จะต้องตั้งค่าตัวช่วยผู้ใช้ก่อนที่จะลงทะเบียนอินเทอร์เฟซ:
$ make -C ./src/tools/bpf_link_helper/
$ echo $( realpath ./src/tools/bpf_link_helper/bpf-link-helper ) | sudo tee /sys/module/sfc_resource/parameters/bpf_link_helper
OpenOnload สามารถสร้างได้โดยไม่ต้องใช้ไดรเวอร์ SFC:
make
: ใช้ตัวแปร HAVE_SFC=0
;onload_build
& onload_install
: ใช้พารามิเตอร์ --no-sfc
;onload_tool reload
: ใช้พารามิเตอร์ --onload-only
นอกจากนี้ยังสามารถสร้างได้โดยไม่ต้องรองรับ EFCT และ AUX:
make
: ใช้ตัวแปร HAVE_EFCT=0
;onload_build
: ใช้พารามิเตอร์ --no-efct
โปรดดูที่ CONTRIBUTING.md
ไฟล์นี้: (c) ลิขสิทธิ์ 2020-2024 Advanced Micro Devices, Inc.