作者:Brandon Lewis
基准测试是电子工程师的最爱,因为它提供了有关性能、功耗、延迟或其他可能对整个系统产生重大影响的组件指标的快速参考。嵌入式微处理器基准联盟 (EEMBC)等组织广泛提供组件基准测试,可测量从微控制器 (MCU) 及其外围设备的能效到多核和异构计算架构的性能,再到数据中心服务器的延迟和吞吐量等方方面面。这些标准化测试提供的分数提供了设备在受控环境中如何运行的比较快照,并且可以帮助工程决策者快速筛选众多组件选项并确定解决方案。
但这绝非易事,正如任何优秀的工程师都会告诉您的那样,因为基准测试结果通常只衡量不在复杂的真实系统环境中运行的孤立组件的性能。公平地说,给定系统设计的无限变量转化为无限可能的测试向量,使得基准测试的圣杯——系统级基准——不切实际。
系统级基准测试复杂性的一个完美示例是物联网 (IoT)。有时被称为“系统系统”架构,对物联网设备进行基准测试不仅需要测试多个组件,还需要测试设备与数据中心服务器之间连接的安全性、延迟和吞吐量。物联网部署模型的多样性和不同垂直市场的独特要求对围绕物联网系统开发标准化测试提出了进一步的挑战,这再次使基准测试变得不切实际。
或者是吗?
“传统的基准是,‘这里有一些代码。去用你最喜欢的编译器编译代码,然后在处理器上运行它,’”EEMBC 总裁 Markus Levy 说。“随着您对系统级别的了解越来越多,您会发现您需要拥有更多的外部影响力才能使其成为现实世界。这是我们将使用 IoT-Gateway 和 IoT-Secure 基准做的事情,也是我们一直在使用IoT-Connect基准做的事情。”
EEMBC 物联网工作组成立于 2015 年,旨在为物联网社区制定更全面的基准。他们努力的最初产品是前面提到的 IoT-Connect 基准,它通过考虑蓝牙、Wi-Fi 和 Thread 等无线接口的功耗(以及可能未来的 LoRa),以及传感器输入的影响。如图 1 所示,IoT-Connect 基准测试包括一个基于 Arduino 的 I/O 控制器,该控制器使用 SPI 或 I2C 接口来模拟传感器输入,以及一个配备连接屏蔽层的 Raspberry Pi,用作射频控制器。这两个设备都与被测设备 (DUT) 通信,
图1 此处显示的是来自 EEMBC 的 IoT-Connect 基准测试,它使用 Arduino I/O 控制器、带有蓝牙低功耗(BLE) 屏蔽的 Raspberry Pi(在本例中)以及此处用于评估性能和STMicroelectronics Nucleo 平台的功耗。
IoT-Connect 基准测试代表了用于测试复杂物联网系统的各种元素的初始框架,也为两个最新的 EEMBC 物联网基准测试奠定了基础:IoT-Secure和IoT-Gateway。
为物联网决策者制定更深入的基准
IoT-Secure 和 IoT-Gateway 基准测试目前都在开发中,但重要的是它们试图提供标准化但灵活的工具——所有这些都基于配置文件的概念。例如,由 Synopsys 的 Mike Borza 和 Ruud Derwig 共同主持的 IoT-Secure 基准测试建立在 IoT-Connect 提供的框架之上,以量化加密算法(如 SHA-256、AES 和 ECC)的影响,通过硬件加速器、加密协处理器、严格意义上的软件或它们的组合。然而,IoT-Secure 基准也将在后续阶段推出,将这些独立功能组合到配置文件中,允许用户计算技术和实施方法的组合如何优化系统级别的安全性。
“与此相关的是某种形式的性能——无论是吞吐量,还是延迟,还有一个能量因素,还有一个内存利用率因素,”Levy 说。“我们想知道的是,‘做这种安全性相关的开销是多少?’”
另一个可能更雄心勃勃的基准测试是 IoT-Gateway,由戴尔的 Rory Rudolph 担任主席。IoT-Gateway 旨在根据特定垂直市场的要求评估网关的基本功能及其性能。原则上,IoT-Gateway 将采用分布式基准测试架构,测量客户端-服务器交互和跨多个物理端口生成的工作负载,以提供整个系统的延迟和吞吐量指标,直至达到饱和值。
如前所述,在通用测试之外,来自不同市场的典型工作负载和使用模型将用于创建额外的基准配置文件(例如在自动化、媒体和运输领域),从而允许根据其要求对网关进行测试目标行业(图 2)。
图2 各种垂直市场的不同要求要求基于行业为 IoT-Gateway 基准开发单独的配置文件。
如图 3 所示,IoT-Gateway 基准测试可以概括地描述为连接到服务器、从服务器接收测试数据、计算该数据,然后将其传回的过程。在 IoT-Gateway 的第 1 阶段,这将使用基于软件的基准控制器、典型的工作负载生成器和执行引擎来执行,所有这些都在被测网关上本地运行(图 4)。在第 2 阶段,基准测试将演变为通过外部控制器和基准测试设备运行真实世界的网关工作负载(图 5)。
图3 IoT-Gateway 基准测试致力于测试网关设备的基本功能,以及它们基于行业要求的性能。
图4 IoT-Gateway 基准测试的第 1 阶段完全由在网关本地运行的软件组成,不使用物理端口,并生成各种行业使用模型的典型工作负载。
图5 IoT-Gateway 基准测试的第 2 阶段将是分布式架构测试,不仅包括被测网关,还包括单独的基于服务器的工作负载生成器和控制器。
“我们正在做的是开发与云通信的概念验证,然后我们将开发连接到蓝牙或其他射频方法的组件,”Levy 解释说。“真正的挑战是发展客户端-服务器关系。
“使用 IoT-Connect 基准测试会稍微简单一些,因为您正在模拟 IoT 边缘节点设备,”Levy 继续说道。“在网关的情况下,您可能有 50 或 100 个蓝牙连接,因此当您尝试使接口饱和时会变得有点复杂。您不能只让一个 BLE 设备与网关通信。理想情况下,你会不断地向它扔设备,包括混合协议,因为网关可以同时使用不同的设备进行 Wi-Fi、蓝牙和其他类型的射频。”
与处理器无关的网关基准测试将针对基于 Linux 的操作系统 (OS),以促进适用于最广泛系统的标准化水平。