SCTP网络性能的相关论文

SCTP Performance in Data Center Environments

本论文是英特尔公司发表的,发表时间为2014年10月,由Krishna Kant发表。

简介

本论文首先对SCTP进行了简单介绍,然后对TCP和SCTP进行了黑盒式地对比它们在linux中的实现和性能;接着对比了采取相应地优化后,SCTP所带来的性能提升。最后讨论了SACK,并进行了总结。

SCTP的特点与数据中心的要求

TCP的特点主要有:

SCTP的一些特点包括:

数据中心的一些要求:

针对这些要求,所需要的是

RDMA可以减少内存拷贝,但是,an effective implementation of RDMA becomes very difficult on top of a byte stream abstraction。所以才会考虑SCTP。

SCTP与TCP的性能比较

SCTP的实现主要有两个, 一是LK-SCTP, 另外一个是开源版本KAME。本论文方要采取前者进行测试比较。

测试环境

  1. two 2.8 GHz Pentium IV machines (HT disabled) with 512 KB second level cache (no level 3 cache)
  2. R.H 9.0 with 2.6 Kernel
  3. one or more Intel Gb NICs
  4. One machine was used as a server and the other as a client
  5. Multi-streaming tests were done using a small traffic generator that we cobbled up 多流测试
  6. iPerf sends back to back messages of a given size

测试配置

  1. checksum offload
  2. transport segmentation offload (TSO)

checksum calculation is very CPU intensive. In terms of CPU cycles, CRC-32 increases the protocol processing cost by 24% on the send side and a whopping 42% on the receive side。很明显地,需要把CRC32的代码去掉;这一功能可由专门的硬件来完成。

TSO for SCTP would have to be lot more complex than that for TCP and will clearly require new hardware.所以,把TCP TSO功能禁止掉了。

比较维度

  1. Average CPU cycles per instruction (CPI)
  2. Path-length or number of instructions per transfer (PL)
  3. No of cache misses per instruction in the highest level cache (MPI)
  4. CPU utilization
  5. Achieved throughput.

第一组比较

测试方法的要点有:

测试的主要结果:

解释测试结果:inefficient implementation of data chunking, chunk bundling, maintaining several linked data structures, SACK processing, etc.

第二组比较

测试方法的变化主要是:

测试的主要结果:

在数据中心的环境中,低延时要比高吞吐量重要得多,所以将NO-DELAY设置打开是一个正确的选择。by default, whenever the window allows a MTU to be sent, SCTP will build a packet from the available application messages instead of waiting for more to arrive

多流的性能

测试环境

测试结果

in effect, the streams are about the same weight as associations; furthermore, they are also unable to drive the CPU to 100% utilization. 究其原因,与锁和同步问题相关。

更进一步的检验可以发现sctp在实现和规范上的问题。

SCTP性能加强

实现上的问题

对应的措施

规范上的问题

Performance under Errors

a reduction in SACK frequency is detrimental to throughput performance at high drop rates, but is desirable at lower drop rates.

SCTP performance and security

本论文的主要贡献在于对SCTP协议格式的介绍,以及对新特性的简单测试。主要的点有:

  1. Overview of protocol format. 使用图片来介绍sctp协议的格式。
    • sctp common header format
    • 12 control chunk types and 1 data chunk type 协议类型的列表
  2. four-way Association initiation 图片化展示了四次握手过程
  3. SCTP state diagram 状态转换图
  4. 本论文的测试要简单得多,并没有对sctp进行深入的性能测试。

Portable and Performant Userspace SCTP Stack

本论文主要是从user space来实现sctp协议的讨论。除此之外,本论文还对当前已有的协议工作进行了汇总,包括了linux/iOS/Windowns等多个平台上支持sctp的状况。

参考

Table of Contents