Multi-Threading Transmission for Virtual Machine: Explanations and Guides

Slow backup speed is an issue that haunts companies with many VMs, now we can optimize bandwidth to solve the problem, usually, through multi-threaded transmission. What is it and how does it work?

download-icon
Free Download
for VM, OS, DB, File, NAS, etc.
iris-lee

Updated by Iris Lee on 2022/10/21

Table of contents
  • What Is Multi-Threading?

  • How Does Multi-Threading Work?

  • Advantages

  • How to Configure Multi-Threaded Transmission in Vinchin Backup & Recovery

  • To Wrap Up

b6da487ab9d3a790bfbedc69a427fb2.png

Slow backup speed is definitely a nightmare when your company operates around the clock with numerous virtual machines running, and it gets worse if there are hundreds or even thousands of them in your virtualized infrastructure. As you scale out, picking up your VM backup speed is getting increasingly important when you want to keep your virtual infrastructure resilient.

Your backup operations could be slowed down by a variety of factors. Inadequate network bandwidth may affect your virtual environment, which could lead to bottlenecks between the backup solution, the destination data storage as well as the source data storage. Your target storage may have a limit on its ability to write data quickly. To solve these problems, bandwidth optimization is necessary, and it can be done in multi-threaded transmission.

What Is Multi-Threading?

Multi-threading is a CPU (Central Processing Unit) feature that enables two or more instruction threads to run concurrently and independently while sharing the same process resources. A thread is a set of instructions that can run simultaneously with other threads belonging to the same root process.

Two main forms of multithreading can be implemented on computer processor hardware, temporal multithreading, and simultaneous multithreading. The maximum number of concurrent threads that can run in any given pipeline stage in a given cycle separates the two kinds. The number of temporal multithreading is one while the latter is greater than one, also referred to as super-threading.

Multi-threading in VM, better known as hyper-threading or simultaneous multithreading (SMT), is a feature allowing multiple separate threads to function at the same time on a single physical processor core. This technology is widely used in virtualizations such as VMware, RHV, XenServer, etc. to improve system performance significantly.

How Does Multi-Threading Work?

Multi-threading often happens in two ways, that is, concurrency and parallelism. A single processor can switch between threads in a multithreaded process to allow for concurrent execution. Although concurrency suggests that many threads are working together, they are not actually executing at the same time. The threads might appear to be running simultaneously because the switch between them happens quickly enough.

In a shared-memory multiprocessor system, a single multithreaded process can run many threads simultaneously on different processors, resulting in parallel execution, which is real simultaneous execution. The operating system's thread support system makes sure that each thread operates on a separate processor when the number of processors available is equal to or fewer than the number of threads running in a process.

Advantages

Improved Application Responsiveness: Applications do not freeze or display the countdown when a request can be started on its own thread. The entire application won’t wait, block, or pend for one request to finish.

Enhanced Server Responsiveness: Other service requests are not blocked by large, complex, or slow clients. The server’s overall throughput is substantially greater.

Minimized System Resource Usage: System resources are barely impacted by threads. Threads require less overhead to establish, maintain and manage than a standard process.

Program Structure Simplification: Multimedia and server-class programs can benefit from having their complicated structures simpler by threads. Complex programs can be designed and coded more easily and are better able to respond to a wide range of user needs when they are divided up into manageable routines for each activity.

Better Communication: To improve process-to-process communication, thread synchronization functions can be applied. Furthermore, exchanging massive volumes of data between various jobs inside an application enables extraordinarily high-bandwidth, low-latency communication through distinct threads of execution operating within the same address space.

With all this said, we can understand how much multi-threading benefits VM protection. By enabling multi-threading transmission in VM backup and recovery, the technology improves the utilization of idle resources and increases throughput for crucial tasks.

However, the highly application-dependent hyperthreading in VM cuts both ways because many processor resources are shared by several logical processors, which may cause performance degradation for some applications. This does not necessarily imply that you should avoid using hyperthreading, you just need to use it wisely.

How to Configure Multi-Threaded Transmission in Vinchin Backup & Recovery

When using Vinchin Backup & Recovery for VM backup, you can easily configure the multi-threaded transmission strategy. By default, data from a single backup/restore job will be processed through 3 threads, and you can change the value from 1 to 8 as demand.

image.png

But please note here: this doesn’t mean it’s always better to apply as many threads as possible. It mainly depends on the overall system resources and network bandwidth that can be allocated to each thread. For example, if 3 threads can gain access to all resources, adding the 4th thread will make no difference in the processing speed.

For VM restore, you can also set up the multithreaded transmission in a way that is similar to backup. You can find the feature in the Advanced Strategy section when customizing the restore strategy in detail.

image.png


To Wrap Up

With multi-threading, you can have the CPU process multiple jobs at once without changing the frequency, but an admin should tread it lightly, for most of the core’s resources are shared between the threads, and CPU-intensive workloads on a hyperthreaded core would suffer the performance. Through the self-defined multi-threaded transmission in Vinchin Backup & Recovery with the 60-day full-featured trial, you can balance fast and efficient VM data protection and stable system performance.


Share on:

Categories: VM Backup