无间断流数据流传输

GAPLESS DATA STREAMING

Consult Google
Scholar


背景

在许多实际应用(卫星信号监测、电子监视、成像等)中,都需要用到无间断信号采集、实时数据存储、实时数据分析等技术。

无间断数据采集可分为两种类型:

  • 用于实时数据分析的无间断采集;

  • 用于实时数据存储的无间断采集,即无间断数据流传输系统(Gapless Streaming Systems)。

AlazarTech提供以上两种类型的无间断采集方式,这里我们将重点对无间断数据流传输系统进行阐述。

技术

顾名思义,无间断数据流传输系统需要大容量存储介质来保存所获取的数据。根据不同的存储速度和容量要求,目前有多种类型的存储介质供人选择。

在板载存储器中存储

几乎所有AlazarTech的产品都有板载存储器。在一些高级型号上,板载存储器可高达8GB。对于大多数应用,板载存储器在模数转换模块(Analog-to-Digital Converter,ADC)与PCIe(PCI Express)总线之间起到大容量先进先出(First Input First Output,FIFO)存储器的作用,从而防范操作系统的延迟。此外,当数据所需的存储量小于板载存储器的容量时,板载存储器也可用于高速数据存储,提供通过PCIe总线进行数据检索的用途。

  • 利: 非常快的数据存储速度,且与总线速度无关

  • 弊: 板载存储器大小有限

在主板内存中存储

如上所述,板载存储器可以用作大容量先进先出(FIFO)存储器,通过总线将数据流传输到用户的缓冲区。

应该注意的是,其他一些制造商声称其产品具有数据流传输功能,但实际只能数据流传输到内核内存(kernel memory)中的缓冲区,仍依赖于CPU的处理将数据传输到应用空间。这就导致整体速度慢得多。与之不同,AlazarTech可以通过直接内存存取(Direct Memory Access,DMA)将数据流直接传输到用户缓冲区。

能够将数据流实时传输到用户缓冲区的一个优点是:用户可以分配非常大的缓冲区(>50GB,在具有64GB内存的计算机中),并将数据流传输到此内存中。这是一种低成本的采集几十GB数据的方式。

GAPLESS DATA STREAMING

AlazarDSO Stream to Memory功能可以实现上述目标。AlazarDSO先分配一块操作系统所允许的最大缓冲区,然后以总线的最大速度将数据流传输到此缓冲区中。当缓冲区填满后,AlazarDSO将此缓冲区的内容复制到硬盘中以供后续分析。需要说明的是,将数据存储到硬盘的速度由硬盘来决定,这可能会非常慢,具体取决于系统。重点是AlazarDSO允许以非常高的速度将几十GB的数据存储到主板内存中。

ATS-SDK还提供了C示例程序,演示如何在程序控制下无间断地采集数据并存入主板内存。

随着更新换代,主板所支持的内存容量正在增加,目前的主流计算机几乎都支持192GB的内存容量。此外,高端服务器和工作站可支持1TB的内存,虽然它们比较贵。

  • 优点: 低成本的、可达总线最大传输速度的、用于快速存储几十GB级别数据的方案。

  • 缺点: 存储量大小受主板内存的限制,如果超过50GB的存储容量会比较贵。

在PCIE SSD卡中存储

另一种目前流行的用于无间断数据流传输的存储介质是由英特尔、镁光等厂商所生产的PCIe SSD卡。

GAPLESS DATA STREAMING

他们实际就是插入相邻插槽的PCIe卡,并在操作系统中显示为磁盘驱动器。由于它们不必通过SATA或SAS接口传输,所以这些磁盘驱动器的速度要快得多。此外,它们没有活动部件,因此从长远来看它们更可靠。

PCIe SSD卡通常具有512GB甚至1TB的存储容量,未来还会有更大容量。

不幸的是,到目前为止PCIe SSD卡的平均写入速度无法达到总线最大速度,其速度大约被限制在1.8GB/s,但我们期望未来其速度还可以增加。

  • 优点: 速度相对快,没有活动部件,尺寸小。

  • 缺点: 容量有限,而且大容量的较贵,平均写入速度无法达到总线最大速度。

在RAID系统中存储

基于独立磁盘冗余阵列(Redundant Array of Independent Disk,RAID)的无间断数据流传输系统是性能最强的。目前虽然已有很多不同等级的RAID,但RAID0级别和RAID5级别在无间断数据流传输系统中是最流行的。

GAPLESS DATA STREAMING

RAID的基本原理就是通过多个磁盘并行化数据存储。RAID0(也称为条带化,striping)将数据分割并同时写入每个磁盘,如果每个磁盘的平均写入速度为100MB/s,则8个这种磁盘的平均写入速度就是800MB/s。尽管听起来很简单,但RAID0的工作原理就是这样。

RAID5在数据存储时增加了一些冗余,这样如果RAID阵列中的一个磁盘坏了,则仍可以恢复完整数据(在特定条件下)。

应该指出的是,数据流传输系统的平均写入速度由所有环节中最慢的设备决定:

  • A/D转换速度

  • PCI总线传输速度

  • RAID控制器传输速度

  • RAID系统的平均写入速度

ALAZARTECH的优势

AlazarTech开发的AlazarStream系统可实现A/D数据在RAID卷中无间断存储。AlazarStream是一个完整的计算机系统,它带有RAID卷以及用于AlazarTech高速数字采集卡的主板插槽。为保证互操作性(interoperability),所有部件都经过精心挑选,并且每个系统都经过了全面调试和测定,写入速度为平均值。

现有两种AlazarStream系统:

  • 基于SSD的AlazarStream系统

  • 基于HDD的AlazarStream系统

基于SSD的AlazarStream系统SSD based AlazarStream systems例如性能最高的AlazarStream 3000系统,它使用RAID0时可达3000MB/s(3GB/s)以上的平均写入速度。该系统包括2U机架式机箱、嵌入式RAID控制器、24个SSD、可运行Windows Server版操作系统的高端双CPU服务器级主板以及备用电源。

该解决方案的最大容量为20TB。

基于HDD的AlazarStream系统HDD based AlazarSream systems,例如AlazarStream 2000系统,它可提供略低的平均写入速度,但具有更大的存储容量。该系统使用24个磁盘时(容量大于40TB),可达2000MB/s(2GB/s)的平均写入速度。

具有更大容量的基于HDD的AlazarStream系统正在开发中。

  • 优点: 超大容量,超高速度,数据冗余(用于数据恢复)

  • 缺点: 成本高,机箱体积大。