Abstract

Memory copying is one of the common operations in modern operating systems and servers. It is simple but synchronous and deterministic. However, with the coming of big data era, the size of memory data to be copied is increased rapidly in the cloud servers, resulting in blocking the copying thread/process and eventually hurting the responsiveness of a system. In this paper, we propose Vmemcpy, a method for parallelizing memory copy with multi-core CPU, which is the standard hardware equipment among current cloud infrastructures. Vmemcpy mainly improves memcpy function in user space, dividing the copying data into several sub-blocks. Then each of them is executed by a separated thread running on the dedicated CPU core, forming parallel copying and thus reaping performance improvement. Due to the necessary split procedure, Vmemcpy manifests its own cost on copying small data. To deal with this issue, Vmemcpy intelligently determines the copying threshold on different servers, then uses the original copying routine to copy the small data while employing multi-thread to handle with the large one. We implement Vmemcopy on both servers of Linux and Windows. The experimental results show that Vmemcpy brings up to 38.9% reduction on the latency of memory copying. At the same time, moderate overhead is generated when dealing with the small data.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.