KStreams: Kernel Support for Efficient End-to-End Data Streaming

dc.contributor.author Kong, Jiantao
dc.contributor.author Schwan, Karsten
dc.date.accessioned 2004-08-11T18:51:26Z
dc.date.available 2004-08-11T18:51:26Z
dc.date.issued 2004
dc.description.abstract Technology advances are enabling increasingly data-intensive applications, ranging from peer-to-peer file sharing, to multimedia, to remote graphics and data visualization. One outcome is the considerable memory pressure imposed on the machines involved, caused by application-specific data movements and by repeated crossings of user/kernel boundaries. We address this problem with a novel system service, termed KStreams, a general facility for manipulating data without using intermediate buffers when it moves across multiple kernel objects, like files or sockets. KStreams may be used to implement kernel-level services that range from application-specific implementations of sendfile commands, to data mirroring or proxy functions, to fast path data conversions and transformations for data streaming. The KStreams API permits individual applications to define fast path operations, which will then execute at kernel level and if desired, without further application involvement. By placing application-specific data manipulations into data movement fast paths, user/kernel boundary crossings are avoided. By operating on data streams `in-flight', data buffering is made unnecessary, thereby further reducing the memory pressure imposed on machines. KStreams is implemented on Linux kernel version 2.4.22. Its evaluation uses data-intensive tasks performed in conjunction with modern web services, such as proxy functions, remote media streaming, data visualization, etc. Initial experiences with the KStreams implementation are encouraging. Fast path data transformation via KStreams results in increased throughput of 20-50% compared to user-level data manipulations. Future work with KStreams uses it with complex multi-machine web services, evaluated with representative user loads and applications. en
dc.format.extent 229777 bytes
dc.format.mimetype application/pdf
dc.identifier.uri http://hdl.handle.net/1853/89
dc.language.iso en_US
dc.publisher Georgia Institute of Technology
dc.relation.ispartofseries CERCS;GIT-CERCS-04-04
dc.subject Data objects
dc.subject Data streaming
dc.subject Data intensive applications
dc.subject Fast paths
dc.subject Increased throughputs
dc.subject Kernel level services
dc.subject Kernels
dc.subject Kstreams
dc.subject Memory resources
dc.title KStreams: Kernel Support for Efficient End-to-End Data Streaming en
dc.type Text
dc.type.genre Technical Report
dspace.entity.type Publication
local.contributor.author Schwan, Karsten
local.contributor.corporatename Center for Experimental Research in Computer Systems
local.relation.ispartofseries CERCS Technical Report Series
relation.isAuthorOfPublication a89a7e85-7f70-4eee-a49a-5090d7e88ce6
relation.isOrgUnitOfPublication 1dd858c0-be27-47fd-873d-208407cf0794
relation.isSeriesOfPublication bc21f6b3-4b86-4b92-8b66-d65d59e12c54
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
224.39 KB
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
1.85 KB
Item-specific license agreed upon to submission