Score:2

RDMA ถ่ายโอนระหว่างสองเซิร์ฟเวอร์โดยไม่มี CPU ได้อย่างไร

ธง mx

ฉันได้อ่านเกี่ยวกับ RoCE และพูดถึงการถ่ายโอนข้อมูลสำเนาเป็นศูนย์ระหว่างหน่วยความจำในเซิร์ฟเวอร์หนึ่งไปยังหน่วยความจำของแอปพลิเคชันในเซิร์ฟเวอร์อื่นโดยตรง บทความส่วนใหญ่ ชี้ให้เห็นว่าสิ่งนี้ทำได้โดยไม่ต้องมีส่วนร่วมจาก CPU ฉันไม่เข้าใจว่าสิ่งนี้สำเร็จได้อย่างไร ข้อมูลได้รับจากอะแดปเตอร์ไปยัง RAM โดยไม่มีการประมวลผลจาก CPU ได้อย่างไร จะรู้ได้อย่างไรว่าข้อมูลของแอปพลิเคชันอยู่ที่ไหนใน RAM

djdomi avatar
za flag
เนื้อหาการเรียนรู้หรือคำขอที่เตรียมมานั้นอยู่นอกหัวข้อ เริ่มอ่าน Wikipedia https://en.m.wikipedia.org/wiki/Remote_direct_memory_access ซึ่งอธิบายคำถามย่อยทั้งหมดที่คุณมีในปัจจุบัน
Score:3
ธง cn

ฉันคิดว่าคุณเข้าใจผิด "ไม่มี CPU" ไม่ได้หมายความว่า CPU ไม่เกี่ยวข้องเลย - หมายความว่า CPU ไม่ได้ทำการคัดลอก มันทำ - ผ่านไดรเวอร์ - การตั้งค่าของการดำเนินการคัดลอก จากนั้นฮาร์ดแวร์จะทำการประมวลผลจริง

ลิงค์ของคุณพูดอย่างชัดเจนมาก - แค่อ่าน:

RDMA รองรับเครือข่ายศูนย์สำเนาโดยการเปิดใช้งานอะแดปเตอร์เครือข่ายเพื่อ ถ่ายโอนข้อมูลโดยตรงจากสาย

นั่นคือการดำเนินการคัดลอกไม่ใช่การตั้งค่า มีคนบอกอะแดปเตอร์เครือข่าย

ทำความเข้าใจว่าเครือข่ายสมัยใหม่ที่สิ่งนี้โดดเด่นจริงๆ คือ 100+ กิกะบิต - 10 กิกะไบต์+ - ต่อวินาที ซึ่งมักจะมีหลายบรรทัดรวมกัน โดยที่ระดับไฮเอนด์ในทุกวันนี้อยู่ที่ 400 กิกะบิต

นั่นเป็นจำนวนมาก - เพื่อให้ CPU อ่านจาก RAM ให้วนซ้ำแล้วส่งไปยังอแด็ปเตอร์ เมื่อคุณสามารถบอกอแด็ปเตอร์ได้ว่าหน่วยความจำใดที่จะอ่านและส่ง

แต่อีกครั้ง "ไม่มีส่วนเกี่ยวข้อง" ไม่ใช่ "ไม่มี CPU เลย" แต่เป็น "CPU ไม่ได้คัดลอกข้อมูล" มันยังคงควบคุมทั้งหมด

br flag
คุณถูกต้อง 100% (ตามปกติ Tom ;)) - ฉันเคยใช้มันบน Infiniband เป็น RDMA เท่านั้นแทนที่จะเป็น ROCE แต่มันน่าแปลกที่ CPU ของคุณได้รับผลกระทบเพียงเล็กน้อย มีบางอย่างที่คุณพูด แต่มันเป็น เทคโนโลยีที่ยอดเยี่ยม - และแน่นอนว่าอนุญาตให้แชร์บล็อกหน่วยความจำระหว่างเซิร์ฟเวอร์จำนวนมาก - มีประโยชน์สำหรับสิ่งต่าง ๆ เช่น การเชื่อมโยงกันของแคช เชื่อถือได้ด้วย!
Grant Curell avatar
mx flag
ดังนั้น ในกรณีนี้ CPU จะยังคงให้ที่อยู่อ่าน/เขียนแก่ NIC จากนั้น NIC จะถ่ายโอนข้อมูลออกจากสายไปยังที่อยู่ที่ระบุในหน่วยความจำโดยตรงหรือไม่
cn flag
ใช่. โปรดทราบว่าขึ้นอยู่กับวิธีการตั้งค่าฮาร์ดแวร์ - อุปกรณ์อาจจับคู่พื้นที่บัฟเฟอร์เข้ากับพื้นที่หน่วยความจำ คุณได้รับความคิด? เช่นเดียวกับที่คุณสามารถมีบัฟเฟอร์การอ่านบน NIC ซึ่งตัวควบคุมการจัดเก็บข้อมูลจะอ่านโดยตรง มีสิ่งต่างๆ มากมายในระดับไฮเอนด์ เช่น RAID 5/6 ขณะนี้มีการ์ดเครือข่ายที่สามารถคำนวณได้แล้ว ทำไม เนื่องจาก RAID 6 อาจสร้างดิสก์บนเซิร์ฟเวอร์หลายเครื่อง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา