Skip to content

Jrdevil-Wang/tzc_transport

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tzc_transport

An efficient IPC for ROS with partial serialization

We propose an efficient IPC technique called TZC (Towards Zero-Copy). As a core component of TZC, we design a novel algorithm called partial serialization. Our formulation can generate messages that can be divided into two parts. During message transmission, one part is transmitted through a socket and the other part uses shared memory. The part within shared memory is never copied or serialized during its lifetime. Our tests show that when the message size is 4MB, TZC can reduce the overhead of ROS IPC from tens of milliseconds to hundreds of microseconds.

A more detailed report can be found: https://arxiv.org/abs/1810.00556

A video of applications is at https://github.com/Jrdevil-Wang/tzc_transport/blob/master/TZC.mp4

Directory description:

/example Code examples using TZC.
/include/tzc_transport Core TZC code.
/include/sensor_msgs Example of generated message header file.
/scripts The TZC message generator.
/templates The template file used by message generator.

If you are interested, please cite our IROS 2019 paper:

@inproceedings{DBLP:conf/iros/0001THM019,
  author    = {Yu{-}Ping Wang and
               Wende Tan and
               Xu{-}Qiang Hu and
               Dinesh Manocha and
               Shi{-}Min Hu},
  title     = {{TZC:} Efficient Inter-Process Communication for Robotics Middleware
               with Partial Serialization},
  booktitle = {2019 {IEEE/RSJ} International Conference on Intelligent Robots and
               Systems, {IROS} 2019, Macau, SAR, China, November 3-8, 2019},
  pages     = {7805--7812},
  publisher = {{IEEE}},
  year      = {2019},
  url       = {https://doi.org/10.1109/IROS40897.2019.8968462},
  doi       = {10.1109/IROS40897.2019.8968462},
  timestamp = {Fri, 31 Jan 2020 13:28:16 +0100},
  biburl    = {https://dblp.org/rec/conf/iros/0001THM019.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

About

An efficient IPC for ROS with Partial Serialization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published