IPTables ใช้ประโยชน์จากตัวประมวลผลแบบมัลติคอร์หรือไม่?


10

แต่ละแพ็กเก็ตได้รับการประมวลผลโดยแกนที่แตกต่างกันหรือไม่? หรือเป็นกระบวนการแบบเธรดเดียว?


2
ฉันไม่แน่ใจว่าทำไม Chopper3 ปิดคำถามนี้ เพื่อตอบว่า: Iptables เป็นเพียงส่วนหน้าของ userspace สำหรับไฟร์วอลล์ linux ซึ่งเป็น netfilter Netfilter เป็นระบบของ hooks ในเคอร์เนลรอบ ๆ การประมวลผลแพ็กเก็ต แต่ละแพ็คเก็ตจะถูกประมวลผลโดยเคอร์เนลโดยเรียกการแทรก เคอร์เนลของคุณไม่ว่าจะขัดจังหวะในหลาย ๆ CPU หรือไม่นั้นขึ้นอยู่กับอายุของมัน ดูกระทู้นี้ใน StackOverflow เกี่ยวกับมัน stackoverflow.com/questions/7467688/…
JakePaulus

+1 เพราะฉันคิดว่าเป็นคำถามของแท้
Sachin Divekar

@ JakePaulus IRQ-balacing นี้จะไม่กำหนดแกนมากกว่าหนึ่งแกนให้กับอินเตอร์รัปต์เดียว ดังนั้นการสลับแกนสำหรับแต่ละแพ็กเก็ตในบรรทัดเดียวจะไม่เกิดขึ้น?
นิลส์

จากจุดแคชหน่วยความจำ CPU ของมุมมองการสลับคอร์สำหรับการเชื่อมต่อเดียวไม่สมเหตุสมผล - มันอาจทำให้การทำงานช้าลงหากคอร์เหล่านี้ไม่แชร์แคชเดียวกัน แต่ทำไมคุณถามคำถามนี้
นิลส์

@Nils อินเทอร์รัปต์ที่สร้างโดยอินเตอร์เฟสสามารถเปลี่ยนเส้นทางไปยัง CPU อื่นที่ไม่ว่าง นอกจากนี้อินเทอร์เฟซหลายตัวอาจมีอินเทอร์รัปต์ส่งไปยัง CPU ที่แตกต่างกันเพื่อกระจายโหลด ฉันคิดว่าคุณถูกต้องเกี่ยวกับทราฟฟิกจากอินเทอร์เฟซเดียวที่ไม่สมดุลระหว่าง CPU ในแต่ละแพ็กเก็ต
JakePaulus

คำตอบ:


6

Iptables เป็นเพียงส่วนหน้าของ userspace สำหรับไฟร์วอลล์ linux ซึ่งเป็น netfilter Netfilter เป็นระบบของ hooks ในเคอร์เนลรอบ ๆ การประมวลผลแพ็กเก็ต แต่ละแพ็คเก็ตจะถูกประมวลผลโดยเคอร์เนลโดยเรียกการแทรก เคอร์เนลของคุณไม่ว่าจะขัดจังหวะในหลาย ๆ CPU หรือไม่นั้นขึ้นอยู่กับอายุของมัน ดูกระทู้นี้ใน StackOverflow เกี่ยวกับมัน /programming/7467688/netfilter-hooks-on-multi-core-system

ดังที่นิลส์กล่าวไว้การขัดจังหวะเหล่านี้จะไม่สมดุลกันในแต่ละแพ็กเก็ต พวกเขาจะมีความสมดุลต่อ IRQ (ต่ออินเตอร์เฟซ) หรืออาจย้ายไปที่ CPU ที่แตกต่างกันหากมีงานยุ่งเกินไป


หรือคุณอาจเค้นการขัดจังหวะของคุณหรือเลียนแบบพวกเขาไปยังแกนที่แตกต่างกัน ฉันได้เห็นในบางกรณีพวกเขาเลียนแบบการขัดจังหวะเครือข่ายทั้งหมดไปยังแกนประมวลผลบางส่วนเพื่อให้มั่นใจว่ามีการเรียงลำดับแพ็กเก็ตน้อยที่สุดและการโยกย้ายกระบวนการข้ามคอร์
chandank
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.