Homa:低延迟数据中心网络传输

上传者: 42157188 | 上传时间: 2023-02-22 22:10:47 | 文件大小: 170KB | 文件类型: ZIP
C++
霍马 Homa传输协议作为C ++用户空间库的实现。 什么是霍马运输协议? Homa是由开发的用于数据中心网络的新传输协议。 Homa提供了极低的延迟,特别是对于包含大量非常短消息的工作负载,它还支持大型消息和高网络利用率。 可以在找到有关Homa的完整说明。 其版本已在ACM SIGCOMM 2018中发布。 这是什么实现? 该项目旨在提供Homa传输协议的实现,该协议可以作为C ++库包含在应用程序中,并且可以在用户空间中完全运行,而绕过内核以实现最佳性能。 该实现分为两层: 一个“数据包驱动程序”,它提供简单的不可靠的数据包发送/接收,以及 使用数据包发送/接收来实现Homa协议的Transport。 该项目提供了驱动程序的基于的实现,该驱动程序可为具有各种NIC的基于Linux的系统提供高性能的数据包处理。 传输与驱动程序无关,因此可以通过构建其他驱动程序来支持其他环境。

文件下载

资源详情

[{"title":"( 80 个子文件 170KB ) Homa:低延迟数据中心网络传输","children":[{"title":"Homa-master","children":[{"title":".clang-format <span style='color:#111;'> 521B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"DebugTest.cc <span style='color:#111;'> 5.82KB </span>","children":null,"spread":false},{"title":"STLUtilTest.cc <span style='color:#111;'> 1.87KB </span>","children":null,"spread":false},{"title":"CodeLocationTest.cc <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false},{"title":"TimeoutTest.cc <span style='color:#111;'> 3.50KB </span>","children":null,"spread":false},{"title":"Perf.cc <span style='color:#111;'> 2.17KB </span>","children":null,"spread":false},{"title":"HomaConfig.h.in <span style='color:#111;'> 1020B </span>","children":null,"spread":false},{"title":"Receiver.cc <span style='color:#111;'> 30.45KB </span>","children":null,"spread":false},{"title":"IntrusiveTest.cc <span style='color:#111;'> 15.75KB </span>","children":null,"spread":false},{"title":"Sender.cc <span style='color:#111;'> 41.04KB </span>","children":null,"spread":false},{"title":"TransportImpl.h <span style='color:#111;'> 2.79KB </span>","children":null,"spread":false},{"title":"STLUtil.h <span style='color:#111;'> 2.16KB </span>","children":null,"spread":false},{"title":"ControlPacket.h <span style='color:#111;'> 1.82KB </span>","children":null,"spread":false},{"title":"Perf.h <span style='color:#111;'> 9.20KB </span>","children":null,"spread":false},{"title":"Timeout.h <span style='color:#111;'> 5.77KB </span>","children":null,"spread":false},{"title":"ObjectPool.h <span style='color:#111;'> 4.62KB </span>","children":null,"spread":false},{"title":"Intrusive.h <span style='color:#111;'> 14.25KB </span>","children":null,"spread":false},{"title":"ThreadId.h <span style='color:#111;'> 1.46KB </span>","children":null,"spread":false},{"title":"Policy.cc <span style='color:#111;'> 5.46KB </span>","children":null,"spread":false},{"title":"Receiver.h <span style='color:#111;'> 18.09KB </span>","children":null,"spread":false},{"title":"ObjectPoolTest.cc <span style='color:#111;'> 4.39KB </span>","children":null,"spread":false},{"title":"Driver.cc <span style='color:#111;'> 1.29KB </span>","children":null,"spread":false},{"title":"Sender.h <span style='color:#111;'> 16.05KB </span>","children":null,"spread":false},{"title":"StringUtil.cc <span style='color:#111;'> 6.64KB </span>","children":null,"spread":false},{"title":"ThreadId.cc <span style='color:#111;'> 3.19KB </span>","children":null,"spread":false},{"title":"Protocol.h <span style='color:#111;'> 10.62KB </span>","children":null,"spread":false},{"title":"UtilTest.cc <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false},{"title":"StringUtil.h <span style='color:#111;'> 2.03KB </span>","children":null,"spread":false},{"title":"Policy.h <span style='color:#111;'> 4.09KB </span>","children":null,"spread":false},{"title":"SenderTest.cc <span style='color:#111;'> 68.69KB </span>","children":null,"spread":false},{"title":"Homa.cc <span style='color:#111;'> 1005B </span>","children":null,"spread":false},{"title":"PolicyTest.cc <span style='color:#111;'> 2.93KB </span>","children":null,"spread":false},{"title":"StringUtilTest.cc <span style='color:#111;'> 3.39KB </span>","children":null,"spread":false},{"title":"TransportImplTest.cc <span style='color:#111;'> 5.44KB </span>","children":null,"spread":false},{"title":"CodeLocation.h <span style='color:#111;'> 2.08KB </span>","children":null,"spread":false},{"title":"Debug.h <span style='color:#111;'> 3.92KB </span>","children":null,"spread":false},{"title":"Drivers","children":[{"title":"Util","children":[{"title":"QueueEstimatorTest.cc <span style='color:#111;'> 2.73KB </span>","children":null,"spread":false}],"spread":false},{"title":"Fake","children":[{"title":"FakeDriverTest.cc <span style='color:#111;'> 7.51KB </span>","children":null,"spread":false},{"title":"FakeDriver.cc <span style='color:#111;'> 6.96KB </span>","children":null,"spread":false}],"spread":false},{"title":"DPDK","children":[{"title":"MacAddressTest.cc <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"DpdkDriverTest.cc <span style='color:#111;'> 1.82KB </span>","children":null,"spread":false},{"title":"DpdkDriverImpl.h <span style='color:#111;'> 9.21KB </span>","children":null,"spread":false},{"title":"MacAddress.cc <span style='color:#111;'> 2.49KB </span>","children":null,"spread":false},{"title":"DpdkDriver.cc <span style='color:#111;'> 2.82KB </span>","children":null,"spread":false},{"title":"MacAddress.h <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"DpdkDriverImpl.cc <span style='color:#111;'> 26.14KB </span>","children":null,"spread":false}],"spread":false}],"spread":false},{"title":"TubTest.cc <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false},{"title":"ReceiverTest.cc <span style='color:#111;'> 42.49KB </span>","children":null,"spread":false},{"title":"ThreadIdTest.cc <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false},{"title":"TransportImpl.cc <span style='color:#111;'> 5.00KB </span>","children":null,"spread":false},{"title":"Debug.cc <span style='color:#111;'> 13.10KB </span>","children":null,"spread":false},{"title":"Mock","children":[{"title":"MockSender.h <span style='color:#111;'> 2.01KB </span>","children":null,"spread":false},{"title":"MockPolicy.h <span style='color:#111;'> 1.74KB </span>","children":null,"spread":false},{"title":"MockMessage.h <span style='color:#111;'> 2.56KB </span>","children":null,"spread":false},{"title":"MockDriver.h <span style='color:#111;'> 2.11KB </span>","children":null,"spread":false},{"title":"MockReceiver.h <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false}],"spread":false},{"title":"Util.cc <span style='color:#111;'> 3.31KB </span>","children":null,"spread":false},{"title":"SpinLockTest.cc <span style='color:#111;'> 1.34KB </span>","children":null,"spread":false},{"title":"Tub.h <span style='color:#111;'> 6.82KB </span>","children":null,"spread":false},{"title":"SpinLock.h <span style='color:#111;'> 3.50KB </span>","children":null,"spread":false},{"title":"CodeLocation.cc <span style='color:#111;'> 3.17KB </span>","children":null,"spread":false}],"spread":false},{"title":"LICENSE <span style='color:#111;'> 755B </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 2.00KB </span>","children":null,"spread":false},{"title":"cmake","children":[{"title":"HomaConfig.cmake <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"modules","children":[{"title":"FindDpdk.cmake <span style='color:#111;'> 2.46KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"include","children":[{"title":"Homa","children":[{"title":"Driver.h <span style='color:#111;'> 9.56KB </span>","children":null,"spread":false},{"title":"Exception.h <span style='color:#111;'> 3.04KB </span>","children":null,"spread":false},{"title":"Perf.h <span style='color:#111;'> 3.40KB </span>","children":null,"spread":false},{"title":"Homa.h <span style='color:#111;'> 9.60KB </span>","children":null,"spread":false},{"title":"Util.h <span style='color:#111;'> 2.99KB </span>","children":null,"spread":false},{"title":"Debug.h <span style='color:#111;'> 5.97KB </span>","children":null,"spread":false},{"title":"Drivers","children":[{"title":"Util","children":[{"title":"QueueEstimator.h <span style='color:#111;'> 3.91KB </span>","children":null,"spread":false}],"spread":false},{"title":"Fake","children":[{"title":"FakeDriver.h <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false}],"spread":false},{"title":"DPDK","children":[{"title":"DpdkDriver.h <span style='color:#111;'> 5.84KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"test","children":[{"title":"Perf.cc <span style='color:#111;'> 25.81KB </span>","children":null,"spread":false},{"title":"Output.h <span style='color:#111;'> 3.49KB </span>","children":null,"spread":false},{"title":"system_test.cc <span style='color:#111;'> 6.46KB </span>","children":null,"spread":false},{"title":"dpdk_test.cc <span style='color:#111;'> 3.99KB </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 1.35KB </span>","children":null,"spread":false}],"spread":true},{"title":"CMakeLists.txt <span style='color:#111;'> 8.22KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明