TY - GEN
T1 - Spring Buddy
T2 - 27th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2021
AU - Lu, Yihui
AU - Liu, Weidong
AU - Wu, Chentao
AU - Wang, Jia
AU - Gao, Xiaoming
AU - Li, Jie
AU - Guo, Minyi
N1 - Funding Information:
ACKNOWLEDGMENT We thank anonymous reviewers for their insightful comments. This work is partially sponsored by the National Key RD Program of China (No.2018YFB2101102), the Key RD projects in Sichuan Province (No. 2020YFSY0067), the Natural Science Foundation of China (NSFC) (No.61932014, 61972246), and Tencent Basic Platform Technology Project (Rhino Bird Special Research Plan).
Publisher Copyright:
© 2021 IEEE.
PY - 2021
Y1 - 2021
N2 - Within the cloud computing scenario, each server usually carries multiple service processes, which intensifies the concurrency pressure of the system. As a result, the process of memory management during page allocation and deallocation becomes a significant bottleneck. Although several methods such as Buddy System and Inverse Buddy System (iBuddy) have been proposed to improve the performance of memory management, they cannot adapt to the highly concurrent environment of cloud computing, because they either force the memory allocation/deallocation requests to be serialized or bring extra fragmentation. To address the above problem, we propose Spring Buddy, which improves the concurrency of both memory allocation and deallocation and avoids unnecessary fragmentation. It can detect the changes of system- and process-level memory request patterns and dynamically adjust the organization of page frames. Inventively, Spring Buddy uses the spring core layer to provide both concurrent response and resource aggregation capability which is adapted to the system's concurrency pressure, and also uses the spring lazy layer to further mitigate the system resource contention through process behavior prediction. To demonstrate the effectiveness of Spring Buddy, we implement it in the Linux kernel. The results demonstrate that Spring Buddy can reduce memory allocation latency by 71.47 % and deallocation latency by 93.20% on average compared to the existing methods.
AB - Within the cloud computing scenario, each server usually carries multiple service processes, which intensifies the concurrency pressure of the system. As a result, the process of memory management during page allocation and deallocation becomes a significant bottleneck. Although several methods such as Buddy System and Inverse Buddy System (iBuddy) have been proposed to improve the performance of memory management, they cannot adapt to the highly concurrent environment of cloud computing, because they either force the memory allocation/deallocation requests to be serialized or bring extra fragmentation. To address the above problem, we propose Spring Buddy, which improves the concurrency of both memory allocation and deallocation and avoids unnecessary fragmentation. It can detect the changes of system- and process-level memory request patterns and dynamically adjust the organization of page frames. Inventively, Spring Buddy uses the spring core layer to provide both concurrent response and resource aggregation capability which is adapted to the system's concurrency pressure, and also uses the spring lazy layer to further mitigate the system resource contention through process behavior prediction. To demonstrate the effectiveness of Spring Buddy, we implement it in the Linux kernel. The results demonstrate that Spring Buddy can reduce memory allocation latency by 71.47 % and deallocation latency by 93.20% on average compared to the existing methods.
KW - buddy system
KW - memory allocation/deallocation
KW - memory management
KW - resource contention
KW - scalability
UR - http://www.scopus.com/inward/record.url?scp=85129878068&partnerID=8YFLogxK
U2 - 10.1109/ICPADS53394.2021.00056
DO - 10.1109/ICPADS53394.2021.00056
M3 - Conference Proceeding
AN - SCOPUS:85129878068
T3 - Proceedings of the International Conference on Parallel and Distributed Systems - ICPADS
SP - 402
EP - 409
BT - Proceedings - 2021 IEEE 27th International Conference on Parallel and Distributed Systems, ICPADS 2021
PB - IEEE Computer Society
Y2 - 14 December 2021 through 16 December 2021
ER -