Performance Tradeoffs for Static Allocation of Zero-Copy Buffers Pål Halvorsen, Espen Jorde, Karl-André Skevik, Vera Goebel, and Thomas Plagemann Institute for Informatics, University of Oslo, Norway Multimedia and Telecommunications Track (MTT ’02) – 28th EUROMICRO Conference, Dortmund, Germany, September 2002
15
Embed
Performance Tradeoffs for Static Allocation of Zero-Copy Buffers Pål Halvorsen, Espen Jorde, Karl-André Skevik, Vera Goebel, and Thomas Plagemann Institute.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Performance Tradeoffs for Static Allocation of Zero-Copy Buffers
Pål Halvorsen, Espen Jorde, Karl-André Skevik, Vera Goebel, and Thomas Plagemann
Institute for Informatics, University of Oslo, Norway
Multimedia and Telecommunications Track (MTT ’02) –
28th EUROMICRO Conference,Dortmund, Germany, September 2002
Application ScenarioMedia-on-Demand server:Applicable in applications like News- or Video-on-Demand provided by city-wide cable or pay-per-view companies
Multimedia Storage Server
Project goals:Optimize performance within a single server:• Reduce resource requirements • Maximize number of clients
Retrieval is the bottleneck:Some important factors:• Memory management• Communication protocol processing• Error management
Example: Intel Hub Architecture (850 Chipset) – II
I/Ocontroller
hub
memorycontroller
hub
RDRAM
RDRAM
RDRAM
RDRAM
PCI slots
PCI slots
PCI slots
system bus(64-bit, 400/533 MHz)
hub interface(four 8-bit, 66 MHz)
PCI bus(32-bit, 33 MHz)
RAM interface(two 64-bit, 200 MHz)
network card
disk
file system
communication system
application
file systemcommunication
system
application
disk network card
Note:these transfers only show data movement between sub-systems. Additionally, data touching operations within a sub-system will require that data is moved from memory and to the CPU, e.g.: - checksum calculation - encryption - data encoding - forward error correction
retrieving 1 GB 16 K disk I/Os (1 buf, 1 region each) sending 1 GB 1 M packets (2 mbufs each, sharing data region) totally 2 M + 32 K get and free operations
0.63 s sending the whole file assuming a pool (takes totally about 10 s, or 7s kernel time, to send having fast devices)
Might save time to set data pointers and length fields
Inflexible (variable bit rate streams)
Strict waiting on static buffers
Saves CPU cycles at the cost of statically allocating memory
Conclusions and Future Work Zero-copy reduces data movement overhead in the
OS(reduces processing time by approximately 50 %)
Static versus dynamic allocation of zero-copy buffers tradeoff between flexibility and CPU resources static saves CPU, but inflexible dynamic is flexible, but adds allocation costs we will use our dynamic implementation in our future work