随着大语言模型(large language models,LLMs)(以下简称“大模型”)参数规模的持续增长,微调百亿级参数大模型对计算和存储资源提出了极高要求。传统分布式训练方案通常依赖大量高端GPU和高速互联网络,训练成本极为昂贵。现有单GPU训练...随着大语言模型(large language models,LLMs)(以下简称“大模型”)参数规模的持续增长,微调百亿级参数大模型对计算和存储资源提出了极高要求。传统分布式训练方案通常依赖大量高端GPU和高速互联网络,训练成本极为昂贵。现有单GPU训练方案虽通过张量卸载缓解显存压力,但仍然面临I/O传输效率低和设备利用率不足等问题。传统内核态I/O操作在大规模张量迁移中引入频繁的系统调用和上下文切换,成为制约性能的关键瓶颈;同时,优化器计算无法充分发挥多核CPU的并行能力,难以实现与GPU计算的有效重叠,进一步限制了系统性能。针对上述问题,提出了一种面向大模型训练的异构内存卸载与I/O优化方案HiTrain。首先构建了基于存储性能开发工具包(storage performance development kit,SPDK)的高性能张量存储模块,通过在用户态管理张量数据,避免了内核I/O栈开销,从而提高张量卸载的并发性与吞吐率;其次,设计并实现了基于异步优化器的存储-计算流水线调度模块,通过对优化器的执行进行优化重排来减少GPU等待时间,提高整体训练效率。实验结果表明,在配备单张GPU和非易失性存储器快速固态硬盘(non-volatile memory express solid state drive,NVMe SSD)的服务器上,所提出的方案能够充分利用系统中的存算资源,使得模型训练过程中张量卸载与加载效率提升32.7%,整体训练吞吐提升至现有方案的1.49倍,为低成本大模型训练提供了切实可行的技术路径。展开更多
This paper presents the design and implementation of a Stepper Motor using Nexys2 circuit board based on a Xilinx Spartan 3E Field Programmable Gate Array (FPGA) device with VHDL code. The algorithm implemented on FPG...This paper presents the design and implementation of a Stepper Motor using Nexys2 circuit board based on a Xilinx Spartan 3E Field Programmable Gate Array (FPGA) device with VHDL code. The algorithm implemented on FPGA allows a substantial decrease of the equivalent processing time developed by different velocity controllers. The Stepper Speed control is achieved using VHDL code, and the hardware digital circuit is designed for a programmable rotational stepper motor using VHDL as a tool and FPGA as a target technology. The 50 MHZ provided by the starter kit is divided to obtain the necessary delay time between the motor phases that ranges between 2 - 10 m seconds. Though output selections, the direction of rotation of the stepper motor besides the magnitude of the angle of movement and the rotation speed can be controlled. The major advantage of using reconfigurable hardware (FPGA) in implementing the Stepper Motor instead of a discrete digital component is that it makes modifications to the design easy and quick and also, the total design hence represents an embedded system (works without computer). The total programmable hardware design that controlled on the stepper motor movement, occupied an area that did not exceed 12% of the chip resources.展开更多
近年来存储行业经历了巨大的变革,以固态硬盘(solid state drive, SSD)为代表的半导体存储设备迅猛发展,在性能上显著超越了通过磁头移动寻址的机械硬盘(hard disk drive, HDD).目前支持SSD的2种协议主要包括非易失性内存主机控制器接...近年来存储行业经历了巨大的变革,以固态硬盘(solid state drive, SSD)为代表的半导体存储设备迅猛发展,在性能上显著超越了通过磁头移动寻址的机械硬盘(hard disk drive, HDD).目前支持SSD的2种协议主要包括非易失性内存主机控制器接口规范(nonvolatile memory express, NVMe)协议与串行SCSI(serial attached small computer system interface, SAS)协议,即SAS. NVMe是专为SSD设计的高性能存储协议,能够很大限度地发挥SSD的性能;而SAS协议则充分考虑数据中心的需求,在提供高可靠性与高可扩展性的同时,兼顾了系统性能与成本的平衡.相对于日益增速的存储介质,针对慢速存储设备所设计的软件栈在一次I/O过程中所耗费的时间开销愈发显著.针对该问题学界及工业界都相继提出了众多解决方案,例如Intel提出的高性能存储开发包(storage performance development kit, SPDK)通过将设备驱动实现在用户空间,并采用轮询感知I/O完成等方式大幅度缩短了NVMe SSD对应用程序的响应时间,极大地提升了整个系统的整体性能.然而之前的研究工作针对SAS SSD存储软件栈的优化非常有限,为此在用户空间实现了针对SAS SSD的软件栈优化.实验结果表明,该优化能够有效缩短存储设备对应用程序的响应时间,提高应用对存储设备的访存效率.此外,为了准确评估I/O栈中存储设备的时间开销,硬件性能测试工具HwPerfIO被提出,能够消除大部分软件开销的影响以测得更加准确的存储设备性能.展开更多
文摘随着大语言模型(large language models,LLMs)(以下简称“大模型”)参数规模的持续增长,微调百亿级参数大模型对计算和存储资源提出了极高要求。传统分布式训练方案通常依赖大量高端GPU和高速互联网络,训练成本极为昂贵。现有单GPU训练方案虽通过张量卸载缓解显存压力,但仍然面临I/O传输效率低和设备利用率不足等问题。传统内核态I/O操作在大规模张量迁移中引入频繁的系统调用和上下文切换,成为制约性能的关键瓶颈;同时,优化器计算无法充分发挥多核CPU的并行能力,难以实现与GPU计算的有效重叠,进一步限制了系统性能。针对上述问题,提出了一种面向大模型训练的异构内存卸载与I/O优化方案HiTrain。首先构建了基于存储性能开发工具包(storage performance development kit,SPDK)的高性能张量存储模块,通过在用户态管理张量数据,避免了内核I/O栈开销,从而提高张量卸载的并发性与吞吐率;其次,设计并实现了基于异步优化器的存储-计算流水线调度模块,通过对优化器的执行进行优化重排来减少GPU等待时间,提高整体训练效率。实验结果表明,在配备单张GPU和非易失性存储器快速固态硬盘(non-volatile memory express solid state drive,NVMe SSD)的服务器上,所提出的方案能够充分利用系统中的存算资源,使得模型训练过程中张量卸载与加载效率提升32.7%,整体训练吞吐提升至现有方案的1.49倍,为低成本大模型训练提供了切实可行的技术路径。
文摘This paper presents the design and implementation of a Stepper Motor using Nexys2 circuit board based on a Xilinx Spartan 3E Field Programmable Gate Array (FPGA) device with VHDL code. The algorithm implemented on FPGA allows a substantial decrease of the equivalent processing time developed by different velocity controllers. The Stepper Speed control is achieved using VHDL code, and the hardware digital circuit is designed for a programmable rotational stepper motor using VHDL as a tool and FPGA as a target technology. The 50 MHZ provided by the starter kit is divided to obtain the necessary delay time between the motor phases that ranges between 2 - 10 m seconds. Though output selections, the direction of rotation of the stepper motor besides the magnitude of the angle of movement and the rotation speed can be controlled. The major advantage of using reconfigurable hardware (FPGA) in implementing the Stepper Motor instead of a discrete digital component is that it makes modifications to the design easy and quick and also, the total design hence represents an embedded system (works without computer). The total programmable hardware design that controlled on the stepper motor movement, occupied an area that did not exceed 12% of the chip resources.
文摘近年来存储行业经历了巨大的变革,以固态硬盘(solid state drive, SSD)为代表的半导体存储设备迅猛发展,在性能上显著超越了通过磁头移动寻址的机械硬盘(hard disk drive, HDD).目前支持SSD的2种协议主要包括非易失性内存主机控制器接口规范(nonvolatile memory express, NVMe)协议与串行SCSI(serial attached small computer system interface, SAS)协议,即SAS. NVMe是专为SSD设计的高性能存储协议,能够很大限度地发挥SSD的性能;而SAS协议则充分考虑数据中心的需求,在提供高可靠性与高可扩展性的同时,兼顾了系统性能与成本的平衡.相对于日益增速的存储介质,针对慢速存储设备所设计的软件栈在一次I/O过程中所耗费的时间开销愈发显著.针对该问题学界及工业界都相继提出了众多解决方案,例如Intel提出的高性能存储开发包(storage performance development kit, SPDK)通过将设备驱动实现在用户空间,并采用轮询感知I/O完成等方式大幅度缩短了NVMe SSD对应用程序的响应时间,极大地提升了整个系统的整体性能.然而之前的研究工作针对SAS SSD存储软件栈的优化非常有限,为此在用户空间实现了针对SAS SSD的软件栈优化.实验结果表明,该优化能够有效缩短存储设备对应用程序的响应时间,提高应用对存储设备的访存效率.此外,为了准确评估I/O栈中存储设备的时间开销,硬件性能测试工具HwPerfIO被提出,能够消除大部分软件开销的影响以测得更加准确的存储设备性能.