Amazon / AWS EC2 提供 SR-IOV(单根 I/O 虚拟化)实例,它称之为“增强网络”——Google 是否在 Compute Engine 上提供此功能?
具体来说,是否有任何 GCE 实例类型能够绕过管理程序并直接访问多队列 NIC?
需要 SRV-IOV 支持才能利用Scylla DB 的架构?
Amazon / AWS EC2 提供 SR-IOV(单根 I/O 虚拟化)实例,它称之为“增强网络”——Google 是否在 Compute Engine 上提供此功能?
具体来说,是否有任何 GCE 实例类型能够绕过管理程序并直接访问多队列 NIC?
需要 SRV-IOV 支持才能利用Scylla DB 的架构?
目前 Google Compute Engine 不提供 SR-IOV。也就是说,SR-IOV 对于利用 Scylla 的架构并不是绝对必要的。
GCE 提供多队列网络,并且可以使用Intel 的 DPDK直接在用户模式下分配 virtio-net 队列。这应该允许我们的 virtio-net NIC 与 Scylla 一起工作,尽管 DPDK 至少在某一时刻对 virtio-net 做出了某些特定于 qemu 的假设(特别是它假设 Tx/Rx 队列深度为 256 个描述符;virtio-net NIC GCE 目前公布了 16,384 个进入队列,尽管这可能会在不久的将来发生变化)。
对于像 Scylla 这样的应用程序,这应该比利用内核 TCP/IP 堆栈提供卓越的网络性能和更好的来宾计算开销。
此外,对于具有 >= 1 个内核的所有 GCE 实例(即,非小数内核实例),我们提供多 Gbps 吞吐量,具体取决于结构可用性。在具有Haswell 处理器的区域中,延迟可能最低。我们目前不保证特定的网络特性,但我们提供在虚拟 NIC 和任何附加的永久磁盘卷之间共享的高达 2 Gbps/核心的网络吞吐量(本地 SSD 吞吐量不计入此限制)。吞吐量方面,这使得 8-vCPU 和更大的实例可与 EC2 增强网络相媲美。
目前,我们提供的任何东西都与 AWS 的“增强网络”类似。
不过,非常欢迎您在我们的Compute Engine 问题跟踪器上将此作为功能请求发布,这样我们就可以考虑实现类似的功能。