利用 NFork 高效开发可扩展网络功能
网络与互联网体系结构
2023-09-06 v1
摘要
尽管经过数十年的研究,开发正确且可扩展的并发程序仍然具有挑战性。网络功能(NFs)也不例外。本文提出 NFork,这是一个通过向开发者抽象掉并发性来帮助 NF 领域专家高效开发并发 NF 的系统。NFork 设计背后的关键方案是利用 NF 的特性来克服先前并发编程工作的局限性。开发者将 NF 编写为顺序程序,在运行时,NFork 通过在不同核心处理数据包来实现透明并行化。利用 NF 特性,NFork 借助事务内存并开发高效并发数据结构,以实现可扩展性并保证无并发缺陷。由于 NFork 管理并发,它进一步提供(i)一个剖析器,揭示 NF 语义固有的可扩展性瓶颈的根本原因,以及(ii)可操作的方案,供开发者通过放宽 NF 语义来缓解这些根本原因。我们表明,使用 NFork 开发的 NF 与 Cisco VPP [16] 中的 NF 相比具有竞争力的可扩展性,且 NFork 的剖析器和方案能有效辅助开发者优化 NF 可扩展性。
引用
@article{arxiv.2309.01494,
title = {Productive Development of Scalable Network Functions with NFork},
author = {Lei Yan and Yueyang Pan and Diyu Zhou and Sanidhya Kashyap and George Candea},
journal= {arXiv preprint arXiv:2309.01494},
year = {2023}
}
备注
16 pages, 8 figures