## 3 Proposed Status-Byte-Assisted RDMA Transmission Mechanism
### Design of the Status-Byte-Assisted RDMA Transmission Mechanism  
#### 3.2.1 Overview of the Status-Byte-Assisted RDMA Transmission Mechanism  
In our proposed data transmission mechanism, the system is divided into two main parts: the data-sending end and the data-receiving end. The sending end is responsible for filling, sending, and synchronizing data, while the receiving end is responsible for receiving, storing, and processing data. Moreover, we propose a novel memory management approach that utilizes a'status byte' to track and indicate the current state of memory blocks, which helps in managing data flow more effectively.  
Initially, the sending end sets up status bytes to indicate the status of all memory blocks. When sending data, these status bytes are transmitted along with the data. The receiving end monitors for new data arrivals by checking the status bytes. The sending end also retrieves the status bytes from the receiving end to track their states. This system leverages status bytes to effectively manage synchronization between the sending and receiving ends.  
Figure 3 illustrates the data transmission process based on the status-byte-assisted RDMA transmission mechanism. As shown in Figure 3, the data-sending end first calls the memory pool initialization interface (RmInit) to create the status byte. After that, it uses RDMA Write requests (via the RmWrite interface) to continuously send data. When no memory blocks are available, the sending end invokes the memory release interface  
Figure 2: Overall architecture of the proposed status-byte-assisted RDMA transmission system.  
(RmFree) to issue the RDMA Read requests. These RDMA Read requests read the status bytes of all memory blocks on the receiving end at once and store them in the second status byte memory block. This method reduces communication overhead on the receiving end, and improves real-time performance since the sending end manages the status updates.  
Figure 4 illustrates the relationship between the status byte and the status byte memory blocks on the sender and receiver ends. As shown in Figure 4, the data-sending end includes \(N\) sending memory blocks, the first status byte memory block for storing the usage status of the local memory blocks, and the second status byte memory block for storing the usage status of the receiving end's memory blocks. The data receiving end includes \(N\) receiving memory blocks and the third status byte memory block for storing the usage status of the local memory blocks. Here, the status bytes are used to describe the usage status of memory blocks. The usage status of the \(N\) sending memory blocks is represented by the status bytes stored in the first status byte memory block, while the usage status of the \(N\) to receive memory blocks is represented by the status bytes stored in the third status byte memory block. The structures of the first, second, and third status byte memory blocks are shown in Figure 4.  
Figure 4: Relationship between status byte and status byte memory blocks on the sender and receiver end.  
Figure 3: Data transmission process based on the status-byte-assisted RDMA transmission mechanism.  
The status bytes for the sending memory blocks can have two statuses: 0 indicates that the sending memory block does not contain data, while 1 indicates that it contains data. The status bytes for the receiving memory blocks can have three statuses: 0 indicates that a receiving memory block does not contain data, 1 indicates that it has data, and 2 indicates that it is currently unavailable.  
The structures of the sending memory block and receiving memory block used in the proposed transmission mechanism are shown in Table 2. Each memory block, whether sending or receiving, contains two sections: the data status section and the valid content section. The data status section includes one byte for the device number and two bytes for the data packet number, which facilitates sharing the QP and prevents data confusion.