当前位置: X-MOL 学术arXiv.cs.OS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Interprocess Communication in FreeBSD 11: Performance Analysis
arXiv - CS - Operating Systems Pub Date : 2020-08-05 , DOI: arxiv-2008.02145
A. H. Bell-Thomas

Interprocess communication, IPC, is one of the most fundamental functions of a modern operating system, playing an essential role in the fabric of contemporary applications. This report conducts an investigation in FreeBSD of the real world performance considerations behind two of the most common IPC mechanisms; pipes and sockets. A simple benchmark provides a fair sense of effective bandwidth for each, and analysis using DTrace, hardware performance counters and the operating system's source code is presented. We note that pipes outperform sockets by 63% on average across all configurations, and further that the size of userspace transmission buffers has a profound effect on performance - larger buffers are beneficial up to a point (~32-64 KiB) after which performance collapses as a result of devastating cache exhaustion. A deep scrutiny of the probe effects at play is also presented, justifying the validity of conclusions drawn from these experiments.

中文翻译:

FreeBSD 11 中的进程间通信:性能分析

进程间通信(IPC)是现代操作系统最基本的功能之一,在当代应用程序的结构中发挥着重要作用。本报告在 FreeBSD 中对两种最常见的 IPC 机制背后的现实世界性能考虑进行了调查;管道和插座。一个简单的基准测试为每个基准提供了一个公平的有效带宽,并提供了使用 DTrace、硬件性能计数器和操作系统源代码的分析。我们注意到,在所有配置中,管道的性能平均比套接字高 63%,而且用户空间传输缓冲区的大小对性能有深远的影响 - 更大的缓冲区在一定程度上(~32-64 KiB)有益,之后性能会下降由于毁灭性的缓存耗尽。
更新日期:2020-08-06
down
wechat
bug