In Arrakis, applications send and receive network packets by directly  การแปล - In Arrakis, applications send and receive network packets by directly  ไทย วิธีการพูด

In Arrakis, applications send and r

In Arrakis, applications send and receive network packets by directly communicating
with hardware. The data plane interface is therefore implemented in an application
library, allowing it to be codesigned with the application [Marinos et al. 2014]. The
Arrakis library provides two interfaces to applications. We describe the native Arrakis
interface, which departs slightly from the POSIX standard to support true zero-copy
I/O; Arrakis also provides a POSIX compatibility layer that supports unmodified
applications.
Applications send and receive packets on queues, which have previously been assigned
filters as described earlier. While filters can include IP, TCP, and UDP field
predicates, Arrakis does not require the hardware to perform protocol processing, only
multiplexing. In our implementation, Arrakis provides a user-space network stack
above the data plane interface. This stack is designed to maximize both latency and
throughput. We maintain a clean separation between three aspects of packet transmission
and reception.
First, packets are transferred asynchronously between the network and main memory
using conventional DMA techniques using rings of packet buffer descriptors.
Second, the application transfers ownership of a transmit packet to the network
hardware by enqueuing a chain of buffers onto the hardware descriptor rings, and
acquires a received packet by the reverse process. This is performed by two VNIC
driver functions. send_packet(queue, packet_array) sends a packet on a queue; the
packet is specified by the scatter-gather array packet_array and must conform to a
filter already associated with the queue. receive_packet(queue) = packet receives
a packet from a queue and returns a pointer to it. Both operations are asynchronous.
packet_done(packet) returns ownership of a received packet to the VNIC.
For optimal performance, the Arrakis stack would interact with the hardware queues
not through these calls but directly via compiler-generated, optimized code tailored to
the NIC descriptor format. However, the implementation we report on in this article
uses function calls to the driver.
Third, we handle asynchronous notification of events using doorbells associated with
queues. Doorbells are delivered directly from hardware to user programs via hardware
virtualized interrupts when applications are running and via the control plane
to invoke the scheduler when applications are not running. In the latter case, higher
latency is tolerable. Doorbells are exposed to Arrakis programs via regular event delivery
mechanisms (e.g., a file descriptor event) and are fully integrated with existing
I/O multiplexing interfaces (e.g., select). They are useful both to notify an application
of general availability of packets in receive queues and as a lightweight notification
mechanism for I/O completion and the reception of packets in high-priority queues.
This design results in a protocol stack that decouples hardware from software as
much as possible using the descriptor rings as a buffer, maximizing throughput and
minimizing overhead under high packet rates, yielding low latency. On top of this native
interface, Arrakis provides POSIX-compatible sockets. This compatibility layer allows
Arrakis to support unmodified Linux applications. However, we show that performance
gains can be achieved by using the asynchronous native interface.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
ใน Arrakis ใบสมัครส่ง และรับแพคเก็ตเครือข่าย ด้วยการสื่อสารโดยตรงกับฮาร์ดแวร์ อินเทอร์เฟซสำหรับข้อมูลเครื่องบินจึงได้นำมาใช้ในโปรแกรมประยุกต์ห้องสมุด ให้มันเป็น codesigned กับแอพลิเคชัน [Marinos et al. 2014] ที่ไลบรารี Arrakis ให้อินเทอร์เฟซที่สองไปยังโปรแกรมประยุกต์ เราอธิบาย Arrakis พื้นเมืองอินเตอร์เฟซ ซึ่งออกเล็กน้อยจากมาตรฐาน POSIX สนับสนุนสำเนาศูนย์I/O Arrakis ยังมีชั้นกัน POSIX ที่สนับสนุน unmodifiedใช้งานโปรแกรมประยุกต์ที่ส่ง และรับแพคเก็ตบนคิว ซึ่งได้กำหนดไว้ก่อนหน้านี้กรองตามที่อธิบายไว้ก่อนหน้านี้ ในขณะที่ตัวกรองสามารถรวมฟิลด์ IP, TCP และ UDPเพรดิเคต Arrakis ต้องการฮาร์ดแวร์การประมวลผล เฉพาะโพรโทคอลมัลติเพล็กซ์แบบ ในการใช้งานของเรา Arrakis ให้กองซ้อนของเครือข่ายผู้ใช้พื้นที่ข้างบนอินเทอร์เฟซการบินข้อมูลการ กองนี้ถูกออกแบบมาเพื่อเพิ่มเวลาแฝงทั้งสอง และอัตราความเร็ว เรารักษาแบ่งส่งแพคเก็ตด้านสามดีและแผนกต้อนรับครั้งแรก แพ็กเก็ตจะถูกโอนย้ายแบบอะซิงโครนัสระหว่างเครือข่ายและหน่วยความจำหลักใช้ DMA ทั่วไปเทคนิคการใช้แหวนของแพคเก็ตบัฟเฟอร์ตัวบอกสอง แอพลิเคชันถ่ายโอนความเป็นเจ้าของแพคเก็ตสัญญาณเครือข่ายฮาร์ดแวร์ โดย enqueuing ห่วงโซ่ของบัฟเฟอร์บนแหวนตัวอธิบายฮาร์ดแวร์ และได้ฝึกฝนแพคเก็ตที่รับ โดยการย้อนกลับ ซึ่งดำเนินการ โดย VNIC ที่สองโปรแกรมควบคุมฟังก์ชัน send_packet (คิว packet_array) ส่งแพคเก็ตบนคิว ที่แพ็คเก็ตตาม packet_array เรย์รวบรวมกระจาย และต้องสอดคล้องกับการตัวกรองที่เกี่ยวข้องกับคิวแล้ว receive_packet(queue) =ได้รับแพคเก็ตแพคเก็ตจากคิว และส่งกลับค่าตัวชี้ไป การดำเนินงานทั้งเป็นแบบอะซิงโครนัสpacket_done(packet) ส่งกลับเจ้าของแพคเก็ตที่รับไป VNICเพื่อประสิทธิภาพสูงสุด กอง Arrakis จะโต้ตอบกับฮาร์ดแวร์คิวไม่ ผ่านโทรศัพท์เหล่านี้ แต่โดยตรงผ่าน ทางรหัส สร้างคอมไพเลอร์ เพิ่มประสิทธิภาพเหมือนกับรูปแบบแสดงรายละเอียดของ NIC อย่างไรก็ตาม ปฏิบัติเรารายงานในบทความนี้ใช้ฟังก์ชันเรียกโปรแกรมควบคุมที่สาม เราจัดการแจ้งเตือนแบบอะซิงโครนัสโดยใช้ doorbells ที่เกี่ยวข้องกับเหตุการณ์คิว Doorbells ถูกส่งโดยตรงจากฮาร์ดแวร์ผู้ใช้โปรแกรมผ่านทางฮาร์ดแวร์ระบบเสมือน interrupts เมื่อโปรแกรม และ ทางเครื่องบินควบคุมเรียกใช้ตัวจัดกำหนดการเมื่อไม่ได้ใช้โปรแกรมประยุกต์ ในกรณีหลัง สูงtolerable แฝงอยู่ เปิดโปรแกรม Arrakis ผ่านเหตุการณ์ปกติจัดส่ง doorbellsกลไก (เช่น เป็นแฟ้มตัวบอกเหตุการณ์) และมีทั้งหมดรวมกับที่มีอยู่มัลติเพล็กซ์แบบอินเทอร์เฟส I/O (เช่น เลือก) จะมีประโยชน์ทั้งแอพลิเคชันการแจ้งเตือนพร้อมทั่วไปของแพ็กเก็ตในรับคิว และการแจ้งเตือนที่มีน้ำหนักเบากลไกสำหรับความสมบูรณ์ของ I/O และการรับส่งข้อมูลในคิวลำดับความสำคัญสูงออกแบบนี้ผลในสแตกโพรโทคอที่ decouples ฮาร์ดแวร์จากซอฟต์แวร์มากที่สุดใช้ตัวบอกเกี่ยวกับแหวนเป็นบัฟเฟอร์ เพิ่มอัตราความเร็ว และลดค่าใช้จ่ายในภายใต้แพคเก็ตสูงราคา latency ต่ำผลผลิต บนพื้นเมืองนี้อินเทอร์เฟส Arrakis ให้ซ็อกเก็ต POSIX-เข้ากันได้ ทำให้ชั้นนี้เข้ากันได้Arrakis สนับสนุน unmodified โปรแกรม Linux อย่างไรก็ตาม เราแสดงว่าประสิทธิภาพกำไรสามารถทำได้ โดยใช้อินเทอร์เฟซเป็นแบบอะซิงโครนัส
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
ในอาร์ราคิ,
โปรแกรมส่งและรับแพ็คเก็ตเครือข่ายการติดต่อสื่อสารโดยตรงกับฮาร์ดแวร์ อินเตอร์เฟซที่เครื่องบินข้อมูลที่จะดำเนินการจึงอยู่ในโปรแกรมห้องสมุดปล่อยให้มันถูก codesigned กับการประยุกต์ใช้ [Marinos et al,
2014]
ห้องสมุดอาร์ราคิมีสองการเชื่อมต่อการใช้งาน เราอธิบายอาร์ราคิพื้นเมืองของอินเตอร์เฟซที่ออกเล็กน้อยจากมาตรฐาน POSIX เพื่อสนับสนุนจริงศูนย์สำเนา I / O; อาร์ราคินอกจากนี้ยังมีการทำงานร่วมกันเป็นชั้น POSIX ที่สนับสนุนการแปรการใช้งาน. การประยุกต์ใช้งานการส่งและรับแพ็คเก็ตในคิวที่ได้รับก่อนหน้านี้ที่ได้รับมอบหมายกรองตามที่อธิบายไว้ก่อนหน้านี้ ในขณะที่สามารถรวมตัวกรอง IP, TCP และ UDP เขตภาค, อาร์ราคิไม่ต้องใช้ฮาร์ดแวร์ในการดำเนินการประมวลผลโปรโตคอลเพียงมัลติ ในการดำเนินการของเราให้อาร์ราคิสแต็คเครือข่ายผู้ใช้พื้นที่ดังกล่าวข้างต้นอินเตอร์เฟซที่เครื่องบินข้อมูล สแต็คนี้ถูกออกแบบมาเพื่อเพิ่มทั้งความล่าช้าและการส่งผ่าน เรายังคงแยกทำความสะอาดระหว่างสามด้านของการส่งแพ็คเก็ตและการรับ. ครั้งแรกที่แพ็คเก็ตจะถูกโอนถ่ายทอดสดระหว่างเครือข่ายและหน่วยความจำโดยใช้เทคนิคเดิม DMA โดยใช้แหวนอธิบายบัฟเฟอร์แพ็คเก็ต. ประการที่สองการประยุกต์ใช้โอนกรรมสิทธิ์ของแพ็คเก็ตส่งไปยังเครือข่ายฮาร์ดแวร์โดย enqueuing ห่วงโซ่ของบัฟเฟอร์บนแหวนอธิบายฮาร์ดแวร์และได้รับแพ็คเก็ตที่ได้รับจากกระบวนการย้อนกลับ นี้จะดำเนินการสอง VNIC หน้าที่ขับรถ send_packet (คิว packet_array) ส่งแพ็คเก็ตในคิวที่; แพ็คเก็ตระบุโดย packet_array กระจายรวบรวมอาร์เรย์และต้องเป็นไปตามตัวกรองเชื่อมโยงกับคิว receive_packet (คิว) = ได้รับแพ็คเก็ตแพ็คเก็ตจากคิวและกลับชี้ไป การดำเนินงานของทั้งสองไม่ตรงกัน. packet_done (แพ็คเก็ต) ผลตอบแทนเป็นเจ้าของของแพ็คเก็ตที่ได้รับการ VNIC ได้. เพื่อประสิทธิภาพสูงสุดกองอาร์ราคิจะโต้ตอบกับคิวฮาร์ดแวร์ไม่ผ่านสายเหล่านี้แต่ได้โดยตรงผ่านทางคอมไพเลอร์สร้างรหัสที่ดีที่สุดที่เหมาะกับอธิบายNIC รูป อย่างไรก็ตามการดำเนินการที่เรารายงานในบทความนี้ใช้เรียกฟังก์ชันให้คนขับรถ. ประการที่สามเราจัดการการแจ้งเตือนของเหตุการณ์ที่ไม่ตรงกันโดยใช้ doorbells ที่เกี่ยวข้องกับการรอคิว doorbells จะถูกส่งโดยตรงจากฮาร์ดแวร์โปรแกรมของผู้ใช้ผ่านทางฮาร์ดแวร์ขัดจังหวะเสมือนจริงเมื่อโปรแกรมจะทำงานและผ่านการควบคุมเครื่องบินจะก่อให้เกิดการจัดตารางเวลาการใช้งานเมื่อไม่ได้ใช้ ในกรณีหลังนี้สูงแฝงเป็นที่ยอมรับ doorbells มีการสัมผัสกับโปรแกรมการจัดส่งผ่านทางอาร์ราคิเหตุการณ์ปกติกลไก(เช่นเหตุการณ์ที่อธิบายไฟล์) และมีการบูรณาการอย่างเต็มที่กับที่มีอยู่ของI / O อินเตอร์เฟซมัลติ (เช่นเลือก) พวกเขามีประโยชน์ทั้งในการแจ้งการประยุกต์ใช้ความพร้อมทั่วไปของแพ็คเก็ตในการได้รับการรอคิวและในขณะที่การแจ้งเตือนที่มีน้ำหนักเบากลไกI / เสร็จสิ้น O และการรับแพ็คเก็ตในคิวลำดับความสำคัญสูง. ผลการออกแบบนี้ในโปรโตคอลสแต็คที่ decouples ฮาร์ดแวร์จากซอฟแวร์ เป็นมากที่สุดเท่าที่เป็นไปได้โดยใช้แหวนอธิบายเป็นกันชนเพิ่มงานและลดค่าใช้จ่ายภายใต้อัตราแพ็คเก็ตสูงผลผลิตlatency ต่ำ ด้านบนของพื้นเมืองนี้อินเตอร์เฟซ, อาร์ราคิมีซ็อกเก็ตที่เข้ากันได้ POSIX ชั้นนี้จะช่วยให้การทำงานร่วมกันอาร์ราคิที่จะรองรับการใช้งานลินุกซ์ยังไม่แปร แต่เราแสดงให้เห็นว่าผลการดำเนินงานกำไรสามารถทำได้โดยการใช้อินเตอร์เฟซพื้นเมืองไม่ตรงกัน






































การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ใน arrakis , โปรแกรมรับและส่งแพ็กเก็ตเครือข่ายโดยตรงติดต่อ
กับฮาร์ดแวร์ เครื่องบินข้อมูลอินเตอร์เฟซจึงใช้ในใบสมัคร
ห้องสมุดที่ช่วยให้มันเพื่อ codesigned ด้วยโปรแกรม [ มารินอส et al . 2014 ]
arrakis ห้องสมุดมีสองอินเตอร์เฟซโปรแกรมประยุกต์ เราอธิบายอินเตอร์เฟซ arrakis
พื้นเมืองซึ่งออกเล็กน้อยจากมาตรฐาน POSIX สนับสนุนจริงศูนย์คัดลอก
I / O ; arrakis ยังมี POSIX เข้ากันได้ ชั้น ที่รองรับการใช้งานแปร
.
โปรแกรมรับและส่งแพ็กเก็ตในแถวคอย ซึ่งก่อนหน้านี้ได้รับมอบหมาย
กรองตามที่อธิบายไว้ก่อนหน้านี้ ในขณะที่ตัวกรองที่สามารถรวม IP , TCP และ UDP ภาคแสดงสนาม
,arrakis ไม่ต้องใช้ฮาร์ดแวร์เพื่อการประมวลผลมัลติโปรโตคอลเท่านั้น
. ในการดำเนินงานของเรา arrakis ให้ผู้ใช้เครือข่ายพื้นที่กอง
ข้างบนเครื่องบินข้อมูลติดต่อ กองนี้ถูกออกแบบมาเพื่อเพิ่มทั้งศักยภาพและ
อัตรา เราจะรักษาความสะอาดแยกระหว่างสามด้านของการส่งแพ็คเก็ต

แรกและแผนกต้อนรับส่วนหน้าแพ็กเก็ตจะถูกโอนอะ ระหว่างเครือข่ายและ
หน่วยความจำหลัก โดยใช้เทคนิค DMA แบบใช้แหวนของ packet buffer ใน .
2 การโอนความเป็นเจ้าของของส่งแพ็กเก็ตไปยังเครือข่าย
ฮาร์ดแวร์โดย enqueuing ห่วงโซ่ของบัฟเฟอร์ลงบนฮาร์ดแวร์หัวเรื่องแหวนและได้รับแพ็คเก็ต
ได้มาโดยกระบวนการย้อนกลับ นี้จะดำเนินการโดยสอง vnic
หน้าที่ขับ send_packet ( คิว packet_array ) ส่งแพ็คเก็ตคิว ;
แพ็คเก็ตถูกระบุโดยกระจายรวบรวมเรย์ packet_array และต้องสอดคล้องกับ
กรองแล้วเกี่ยวข้องกับคิว receive_packet ( คิว ) = แพ็คเก็ตได้รับ
แพ็คเก็ตจากคิวและกลับชี้ไป ทั้งงานมี
ไม่ตรงกันpacket_done ( packet ) ส่งกลับความเป็นเจ้าของได้รับแพ็คเก็ตกับ vnic .
เพื่อประสิทธิภาพที่ดีที่สุด arrakis สแต็คจะโต้ตอบกับฮาร์ดแวร์คิว
ไม่ผ่านโทรศัพท์เหล่านี้โดยตรงแต่ผ่านคอมไพเลอร์สร้างรหัสที่ดีที่สุดเหมาะกับ
รูปแบบหัวเรื่องนิค อย่างไรก็ตาม การใช้งานเรารายงานในบทความนี้ใช้ฟังก์ชันเรียกคนขับ

3 .เราจัดการกับการแจ้งเตือนไม่ตรงกันของเหตุการณ์โดยใช้ doorbells ที่เกี่ยวข้องกับ
คิว กระดิ่งประตูจะส่งตรงจากฮาร์ดแวร์โปรแกรมของผู้ใช้ผ่านทางองค์กรฮาร์ดแวร์
ขัดจังหวะเมื่อโปรแกรมจะทำงานและผ่านการควบคุมเครื่องบิน
เรียกตารางเวลาเมื่อโปรแกรมไม่ทำงาน ในกรณีหลังนี้สูงกว่า
แฝงอยู่ได้กระดิ่งประตูตากโปรแกรม arrakis ผ่านกลไกการส่งมอบ
เหตุการณ์ปกติ ( เช่นแฟ้มหัวเรื่องเหตุการณ์ ) และเป็นแบบครบวงจรกับที่มีอยู่
I / O การมัลติเพล็กซ์อินเทอร์เฟซ ( เช่น เลือก ) พวกเขาจะมีประโยชน์ทั้งการแจ้งโปรแกรม
ว่างทั่วไปของแพ็กเก็ตที่ได้รับคิวและเป็น
ประกาศเบา
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: