CN110932839B - 一种网卡、时间同步方法、设备及计算机存储介质 - Google Patents

一种网卡、时间同步方法、设备及计算机存储介质 Download PDF

Info

Publication number
CN110932839B
CN110932839B CN201811102873.8A CN201811102873A CN110932839B CN 110932839 B CN110932839 B CN 110932839B CN 201811102873 A CN201811102873 A CN 201811102873A CN 110932839 B CN110932839 B CN 110932839B
Authority
CN
China
Prior art keywords
time
host
network card
information
time information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811102873.8A
Other languages
English (en)
Other versions
CN110932839A (zh
Inventor
崔向武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811102873.8A priority Critical patent/CN110932839B/zh
Priority to PCT/CN2019/100749 priority patent/WO2020057303A1/zh
Priority to JP2020547281A priority patent/JP2021506037A/ja
Priority to US17/264,901 priority patent/US11609598B2/en
Priority to EP19863839.7A priority patent/EP3855675A4/en
Publication of CN110932839A publication Critical patent/CN110932839A/zh
Application granted granted Critical
Publication of CN110932839B publication Critical patent/CN110932839B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种网卡、时间同步方法、设备及计算机存储介质;其中,所述网卡,包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与主机插槽和主机互联的连接器,所述网卡,用于将同步的时间信息通过共享通道发送给运行N个虚拟机VM的所述主机上的每个VM;所述N≥2。

Description

一种网卡、时间同步方法、设备及计算机存储介质
技术领域
本申请涉及但不限于时间同步领域。
背景技术
虚拟机(VM,Virtual Machine)指通过软件模拟的方式实现具有完整硬件系统功能的、运行在一个完整隔离环境中的完整计算机系统。图1为现有VM中网络时间同步协议(NTP,Network Time Protocol)时间同步方法示意图,图1中,通过VM软件可以在物理服务器11上模拟出一台或多台虚拟的计算机,即:在物理服务器11上运行多个VM,使得VM像真正的计算机一样工作,例如安装操作系统、安装应用程序、访问网络资源等。物理服务器11与NTP服务器12间采用NTP进行报文交互。NTP是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,提供时间校正。其中,运行多个VM的物理服务器也可以称为宿主机或物理主机。
VM中时钟中断是模拟的,不能保证精确的按时发出,当前VM系统时间同步主流采用NTP传送方式实现,其缺点是时间传递精度低。
发明内容
本申请实施例提供了一种网卡、时间同步方法、设备及计算机存储介质,解决了时间传递精度低的问题。
本申请实施例提供了一种网卡,通过该网卡可以将同步的时间信息发送给多个VM,以满足多个VM间时间同步的需求,提高了同步精度。该网卡至少包括晶振、锁相环和连接器。其中,晶振和锁相环都是为网卡提供本地时钟源的,具体的,晶振与锁相环间进行信号互联,晶振将产生的时钟脉冲信号输出给锁相环,锁相环根据时钟脉冲信号产生本地时钟源并提供给网卡使用。连接器与主机(如一台物理服务器)插槽和主机本体互联,该网卡用于将同步的时间信息通过共享通道发送给多个VM。多个VM运行于主机上,多个VM通过主机反馈的该同步的时间信息分别进行各自的时间同步修正。其中,所述共享通道可以通过软件共享方式实现,在共享通道通过软件共享方式实现时,具体是将所述同步的时间信息通过连通主机与每个VM的共享内存通道发送给每个VM,网卡硬件本身不发生变化。所述共享通道可以通过硬件共享方式实现,在共享通道通过硬件共享方式实现时,具体是通过网卡新增的可编程逻辑器件中的多个处理器(如报文收发处理器、时间维护处理器、时间调整处理器和时间同步处理器)来处理,将时间更新信息作为同步的时间信息发送给每个VM,网卡硬件本身发生变化,通过网卡硬件共享主机与每个VM的共享通道以将同步的时间信息发送给每个VM。
本申请实施例提供了一种时间同步方法,主机上运行有多个VM。该方法应用于运行多个VM的主机上,主机将同步的时间信息通过共享通道发送给每个VM,使得每个VM通过主机反馈的该同步的时间信息分别进行各自的时间同步修正。
本申请实施例提供了一种时间同步方法,主机上运行有多个VM。该方法应用于每个VM中。接收主机通过共享通道发送给每个VM的同步的时间信息,根据主机反馈的该同步的时间信息修正每个VM中的本地系统时间。
本申请实施例提供了一种时间同步设备,主机上运行有多个VM。该设备应用于主机上,所述设备包括:同步单元,用于将同步的时间信息通过共享通道发送给每个VM,使每个VM通过主机反馈的该同步的时间信息分别进行各自的时间同步修正。
本申请实施例提供了一种时间同步设备,主机上运行有多个VM。该设备应用于每个VM中。所述设备包括:接收单元,用于接收主机通过共享通道发送给每个VM的同步的时间信息;修正单元,用于根据所述同步的时间信息修正每个VM中的本地系统时间。
本申请实施例提供了一种时间同步设备,所述设备包括:存储有计算机程序的存储器;处理器,配置为执行所述计算机程序时实现上述实施例任一项所述方法的步骤。
本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例任一项所述方法的步骤。
本申请实施例的技术方案中,网卡包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与主机插槽和主机互联的连接器,其中,所述网卡用于将同步的时间信息通过共享通道发送给运行N个VM的主机上的每个VM;所述N≥2。由于能将该同步的时间信息通过共享通道发送给每个VM,即:多个VM间共享该同步的时间信息,因此,解决了时间传递精度低的问题。
附图说明
附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为现有VM中NTP时间同步方法示意图;
图2为本申请实施例一应用场景的架构图;
图3为本申请实施例一网卡的示意图;
图4为本申请实施例又一网卡的示意图;
图5为本申请实施例现有网卡扩展的示意图;
图6为本申请实施例一智能网卡的示意图;
图7为本申请实施例一方法的流程图;
图8为本申请实施例又一方法的流程图;
图9为本申请实施例一设备的组成模块示意图;
图10为本申请实施例又一设备的组成模块示意图;
图11为本申请实施例一设备的硬件结构示意图;
图12为应用本申请实施例共享内存方案的系统架构示意图;
图13为应用本申请实施例SR-IOV方案的系统架构示意图;
图14为应用本申请实施例SR-IOV方案PTP时间同步的加速卡内部功能模块示意图;
图15为应用本申请实施例一加速卡和PTP服务器间同步流程图;
图16为应用本申请实施例一同步加速卡内部时间更新流程图;
图17为应用本申请实施例一VM系统时间调整流程图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本申请,并不用于限定本申请。另外,以下所提供的实施例是用于实施本申请的部分实施例,而非提供实施本申请的全部实施例,在不冲突的情况下,本申请实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
例如,本申请实施例提供的时间同步方法包含了一系列的步骤,但是本申请实施例提供的该时间同步方法不限于所记载的步骤,同样地,本申请实施例提供的网卡和时间同步设备包括了一系列元器件和单元,但是本申请实施例提供的网卡和时间同步设备不限于包括所明确记载的元器件和单元,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的单元。
需要说明的是,本发明实施例所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
VM中时钟中断是模拟的,不能保证精确的按时发出,它有可能延迟,时钟中断处理也并非“抢占”式,只有到VM系统获得运行时才可执行;这样导致VM中系统时间受到物理机时钟源精度和软件调度双重影响。当前VM系统时间同步主流采用NTP传送方式实现。该协议最大的缺点是只能满足毫秒(ms)级别的时间传递精度,时间传递精度低。采用本发明实施例的网卡(网卡可以部署于主机插槽中)将同步的时间信息通过共享通道发送给运行N个虚拟机VM的所述主机上的每个VM;所述N≥2,可以解决时间传递精度低的问题。具体的,主机可以是一台物理服务器,则网卡可以部署于服务器插槽中,如高速串行计算机扩展总线标准(PCIE,Peripheral Component Interconnect Express)插槽中。PCIE属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,主要支持主动电源管理,错误报告,端对端的可靠性传输,热插拔以及服务质量等功能。如图2所示,主机为物理服务器102,运行有主机操作系统,物理服务器102与精确时间同步协议(PTP,Precision Time Protocol)服务器101间采用PTP进行报文交互。相比现行的NTP协议,当前VM系统时间同步采用NTP协议的传送方式实现。该协议最大的缺点是只能满足微秒(ms)级别的时间传递精度,精度低。这对于高精度时间同步所需的纳秒(ns)级时间精度是远远不够的。而采用IEEE1588v2协议的时钟是一种高精度时钟,其在行业对高精度授时迫切需求的大背景下孕育而生,有着明显的优势,如采用双向信道,精度为ns级,费用低,能适应不同的接入环境等等。对于5G场景而言,低时延高可靠业务是5G细分应用之一,在自动驾驶、工业控制等新业务趋势中都有考虑,这些业务趋势都对时延要求高,当未来的网络基础设施逐步被通用服务器替代,可以将业务部署于VM或容器中,因此,在VM中使用1588V2协议实现高精度的时间同步非常有必要。本申请实施例采用IEEE1588v2协议,基于IEEE1588v2时钟由物理服务器102与PTP服务器101构成的系统,作为一种主从同步系统,在系统的同步过程中,主时钟周期性发布PTP协议及时间信息,从时钟端口接收主时钟端口发来的时间戳信息,系统据此计算出主从线路时间延迟及主从时间差,并利用该时间差调整本地时间,使从设备时间保持与主设备时间一致的频率与相位。
PTP协议采用硬件和软件配合的方式获得更精确的时间同步,时钟端口硬件设备如网卡需要支持对PTP同步报文添加时间戳信息。单根IO虚拟化(SR-IOV,Single Root IOVirtualization)技术是一种基于硬件的虚拟化解决方案,可提高性能和可伸缩性。SR-IOV标准允许在虚拟客户机之间高效共享快速外设组件互连,如PCIE,并且它是在硬件中实现的,可以获得非常高的I/O性能。SR-IOV网络设备定义了虚拟功能(VF,Virtual Function)模块,每个VF模块可作为单独的网卡,这些VF功能一般通过PCIE透传技术到VM客户机中。而在现在的标准网卡设计中,时间同步功能在VF模块中不支持,只支持在单个物理功能(PF,Physical Function)模块上使用,而PF模块的数量有限,导致只有少数VM模块可以使用PTP方式同步时间,从而导致VM中的时间同步精度不高。
PTP协议通过以太网同步各设备的时钟能达到更高的同步精度。在物理服务器102中运行多个VM,如图2中以1031-1034所标识的多个VM。对于每个VM而言,每个VM虽然是虚拟化出来的计算机,却可以像真正的计算机一样工作,例如安装操作系统、安装应用程序、访问网络资源等。在物理服务器102中还部署有位于物理服务器插槽(如PCIE插槽)中的网卡,用于识别在物理服务器102与PTP服务器101间收发的PTP报文,将更新的时间同步信息发送给每个VM,在多个VM间实现时间同步更新,提高了精度。
基于上述对本申请实施例的说明,接下来对本申请实施例提供的网卡、时间同步方法及设备等进行说明如下。
本申请实施例的网卡包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与服务器插槽和主机互联的连接器,其特征在于,所述网卡还包括:可编程逻辑器件,如现场可编程门阵列(FPGA,Field-Programmable GateArray),用于将同步的时间信息通过共享通道发送给运行N个虚拟机VM的所述主机上的每个VM;所述N≥2。需要指出的是:1)在共享通道通过软件共享方式实现时,具体是将同步的时间信息通过连通主机与每个VM的共享内存通道发送给每个VM,网卡硬件本身不发生变化。2)在共享通道通过硬件共享方式实现时,具体是通过网卡新增的可编程逻辑器件中的多个处理器(如报文收发处理器、时间维护处理器、时间调整处理器和时间同步处理器)来处理,将时间更新信息作为同步的时间信息发送给每个VM。
在共享通道通过硬件共享方式实现时,一个网卡的示意图如图3所示,该网卡包括晶振21、锁相环22和连接器23。其中,晶振21和锁相环22都是为网卡提供本地时钟源的,具体的,晶振21与锁相环22间进行信号互联,晶振21将产生的时钟脉冲信号输出给锁相环22,锁相环22根据时钟脉冲信号产生本地时钟源并提供给网卡使用。连接器23与主机(如图2中的物理服务器)插槽和主机本体互联,该网卡还可以包括:可编程逻辑器件24,可编程逻辑器件24用于通过网卡硬件共享主机与每个VM的共享通道以将同步的时间信息发送给每个VM。网卡硬件改变的具体实现如图6所示。多个VM运行于主机上,多个VM通过主机反馈的该同步的时间信息分别进行各自的时间同步修正。
网卡除了包括上述元器件,一个网卡的实施例如图4所示,还可以包括:带外管理电路,用于通过I2C总线提供带外管理功能。FPGA中包括内存控制器,用于存储运行基于FPGA编程得到的指令,指令如将同步的时间信息发送给运行多个VM的主机上的每个VM。如实现PTP报文处理、时间信息维护、时间同步和计时步进调整硬件辅助功能,以配合主机侧软件完成虚机中时间同步。PHY器件,用于引出RJ45电口和SFP光口到面板。JTAG调试接口,用于调试和首次加载版本时使用。Flash存贮和内存都可以用于存储指令或数据,如在Flash存贮中存放网卡固件版本。子卡电源为网卡电源模块,用于对该网卡进行供电。
网卡的一实施例中,网卡包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与服务器插槽和主机互联的连接器,所述网卡还包括:可编程逻辑器件,用于与服务器进行时间同步,得到所述同步的时间信息;将所述同步的时间信息通过共享内存通道(如连通所述主机与每个VM的共享内存通道)发送给每个VM。图5为网卡的示意图,可以为基于现有的网卡进行的扩展,在现有的网卡中开辟了时间共享通道241,以将同步的时间信息通过时间共享通道241发送给每个VM,即实现了以共享内存的方式发送同步的时间信息给每个VM。
网卡的一实施例中,网卡包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与服务器插槽和主机互联的连接器,所述网卡还包括:可编程逻辑器件。可编程逻辑器件可以用于根据主机与服务器间收发交互得到的精确时间同步协议PTP报文得到计时步进,根据所述计时步进得到时间更新信息,将所述时间更新信息作为所述同步的时间信息发送给每个VM。具体的,可编程逻辑器件中可以包括:报文收发处理器,用于识别所述主机与服务器间收发交互得到的PTP报文;时间维护处理器,用于对网卡本地时间进行维护;时间调整处理器,用于根据所述PTP报文进行时间同步,以得到调整后的计时步进;时间同步处理器,用于根据所述计时步进对所维护的网卡本地时间进行实时更新,得到时间更新信息,将所述时间更新信息作为所述同步的时间信息发送给每个VM。图6为网卡的示意图,为一种新的智能网卡,在FPGA中新增一些元器件:报文收发处理器243、时间维护处理器244、时间调整处理器245、时间同步处理器246,通过元器件上述的逻辑处理功能块,来实现SR-IOV硬件虚拟化的方式发送同步的时间信息给每个VM。
针对当前服务器上标准网卡对1588V2时间同步只能在单个PF上支持,VM中无法利用1588V2同步实现高精度的问题,采用上述本实施例,将网卡时间在主机和部署于该主机上的各VM间共享,解决了标准网卡对时间同步支持的局限性,无论是采用共享内存的方式,还是采用SR-IOV硬件虚拟化的方式(基于SR-IOV方式的硬件辅助实现方式),将同步的时间信息以VF模块方式共享给多个VM,基于该主机中部署的网卡实现VM与PTP时间服务器间的同步,占用的虚机资源少,使得多个VM可以通过1588V2协议进行高精度的时间同步,精度大大得到提高,可以达到纳秒或者纳秒以上精度级别(如皮秒级别)。其中,时间精度是根据各个用户所要求对时间的度量作出的分类,是用来进行计量的一种方式方法。时间精度可分为:纳秒、皮秒、微秒、毫秒、秒、分、小时等,其中,比纳秒更高精度级别的精度可以是皮秒级别。其中,1000皮秒=1纳秒。
本文中,网卡也可以如后续实施例中所描述的,称为时间同步加速卡,简称加速卡。
网卡内可以划分多个功能分区,即分为一个PF模块和多个VF模块,时间信息存放于每个功能分区中,每个计时周期内刷新全部PF模块和VF模块信息,VM中可以直接访问某一VF模块空间的时间信息。网卡的硬件形态没有限制,可以采用独立的PTP时间同步功能的加速卡出现,也可以在标准网卡基础上扩充PTP时钟同步功能,还可以将PTP时钟同步功能包含到智能网卡中。
一实施例中,所述报文收发处理器,进一步用于对所述PTP报文添加时间戳或提取时间戳。所述时间调整处理器,进一步用于按照周期时长收集主机周期性与服务器交互所述PTP报文存在的时间偏差,根据所述时间偏差得到调整后的计时步进;所述周期时长根据时间同步所需的同步目标精度和/或系统负载情况选择。
一实施例中,所述时间调整处理器,进一步用于达到本地计时周期并触发时间同步更新后,根据所述时间偏差得到调整后的计时步进。所述本地计时周期小于时间同步所需的同步目标精度可以设定为纳秒级或更高精度级别。
一实施例中,所述时间维护处理器,进一步用于根据所述本地时钟源来维持所述网卡本地时间。
本申请的一种时间同步方法,如图7所示,所述方法应用于运行N个虚拟机VM的主机上,所述N≥2,所述方法包括:
步骤201、主机与所述服务器进行时间同步,得到所述同步的时间信息。
步骤202、主机将同步的时间信息通过共享通道发送给每个VM。
采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别(如皮秒),时间精度是根据各个用户所要求对时间的度量作出的分类,是用来进行计量的一种方式方法。时间精度可分为:纳秒、皮秒、微秒、毫秒、秒、分、小时等,其中,比纳秒更高精度级别的精度可以是皮秒级别。其中,1000皮秒=1纳秒。
具体的,可以根据所述每个VM周期性触发的获取请求,主机将同步的时间信息通过共享通道发送给每个VM。
一实施例中,所述主机将所述同步的时间信息发送给每个VM,包括:根据每个VM周期性触发的获取请求,通过连通所述主机与每个VM的共享内存通道,发送所述同步的时间信息给每个VM。
一实施例中,在应用于运行N个虚拟机VM的主机上的每个VM中,所述N≥2,每个VM向所述主机周期性发起获取请求,接收主机通过共享通道发送给每个VM的同步的时间信息;根据所述同步的时间信息修正每个VM中的本地系统时间。所述同步的时间信息通过所述主机与服务器进行时间同步得到。
一实施例中,所述接收主机发送给每个VM的同步的时间信息,还包括:通过连通所述主机与每个VM的共享内存通道得到所述同步的时间信息。
本申请的一种时间同步方法,如图8所示,所述方法应用于运行N个虚拟机VM的主机上,所述N≥2,所述方法包括:
步骤301、主机与服务器进行时间同步,以得到调整后的计时步进。
具体的,主机可以与服务器进行时间同步,得到包含时间戳的PTP报文,从所述PTP报文中提取出所述时间戳,根据所述时间戳得到所述主机与所述服务器间存在的时间偏差;根据所述时间偏差得到调整后的计时步进。
步骤302、根据所述计时步进对主机本地维护的时间进行实时更新,得到同步的时间信息,发送同步的时间信息给每个VM。
具体的,可以根据所述每个VM周期性触发的获取请求,根据所述计时步进对主机本地维护的时间进行实时更新,得到时间更新信息;将所述时间更新信息作为所述同步的时间信息发送给每个VM。
采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别(如皮秒),时间精度是根据各个用户所要求对时间的度量作出的分类,是用来进行计量的一种方式方法。时间精度可分为:纳秒、皮秒、微秒、毫秒、秒、分、小时等,其中,比纳秒更高精度级别的精度可以是皮秒级别。其中,1000皮秒=1纳秒。
一实施例中,每个VM向所述主机周期性发起获取请求,在所述主机与服务器进行时间同步后得到调整后的计时步进;所述计时步进根据所述主机与所述服务器进行时间同步所获取的时间偏差得到。接收主机发送给每个VM的同步的时间信息,根据所述同步的时间信息修正每个VM中的本地系统时间。所述同步的时间信息根据所述计时步进对主机本地维护的时间进行实时更新得到,将时间更新信息作为所述同步的时间信息。
本申请的一种时间同步设备,如图9所示,所述设备包括:第一信息获取单元31,用于与所述服务器进行时间同步,得到所述同步的时间信息。同步单元32,用于将同步的时间信息通过共享通道发送给每个VM。采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别。
一实施例中,所述同步单元,进一步用于:根据每个VM周期性触发的获取请求,通过连通所述主机与每个VM的共享内存通道发送所述同步的时间信息给每个VM。
一实施例中,所述设备还包括:接收单元,用于接收主机发送给每个VM的同步的时间信息;修正单元,用于根据所述同步的时间信息修正每个VM中的本地系统时间。
一实施例中,所述设备还包括:第一获取单元,用于:向所述主机周期性发起获取请求,所述同步的时间信息通过所述主机与服务器进行时间同步得到。所述接收单元,进一步用于:通过连通所述主机与每个VM的共享内存通道得到所述同步的时间信息。
本申请的一种时间同步设备,如图10所示,所述设备包括:第二信息获取单元41,用于与服务器进行时间同步,以得到调整后的计时步进。同步单元42,用于将同步的时间信息通过共享通道发送给每个VM。采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别。
一实施例中,所述第二信息获取单元,进一步用于:与服务器进行时间同步,得到包含时间戳的PTP报文;从所述PTP报文中提取出所述时间戳,根据所述时间戳得到所述主机与所述服务器间存在的时间偏差;根据所述时间偏差得到调整后的计时步进。
一实施例中,所述同步单元,进一步用于:根据所述每个VM周期性触发的获取请求,根据所述计时步进对主机本地维护的时间进行实时更新,得到时间更新信息;将所述时间更新信息作为所述同步的时间信息发送给每个VM。
一实施例中,所述设备还包括:第二获取单元,用于:向所述主机周期性发起获取请求,在所述主机与服务器进行时间同步后得到调整后的计时步进;所述同步的时间信息根据所述计时步进对主机本地维护的时间进行实时更新得到;所述计时步进根据所述主机与所述服务器进行时间同步所获取的时间偏差得到。
一实施例中,所述接收单元,进一步用于:接收根据所述计时步进对主机本地维护的时间进行实时更新得到的时间更新信息,将所述时间更新信息作为所述同步的时间信息。
本申请的一种时间同步设备,如图11所示,时间同步设备410包括:处理器41和用于存储能够在处理器上运行的计算机程序的存储器42。当然,实际应用时,如图11所示,时间同步设备410还可以包括至少一个通信接口43。时间同步设备410中的各个组件通过总线系统44耦合在一起。可理解,总线系统44用于实现这些组件之间的连接通信。总线系统44除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统44。其中,通信接口43,用于与其它设备进行交互。
可以理解,存储器42可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器42旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中,还提供了一种计算机可读存储介质,用于存储上述实施例中提供的计算程序,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
本申请实施例的上述实现方式中,通过共享内存方式将网卡中同步的时间信息高效的共享给各VM,可以基于现有标准网卡在宿主机和虚机间共享网卡时间,不需要改动硬件。基于现有网卡实现,宿主机中运行协议与PTP服务器进行时间同步,宿主机中直接获取网卡时间,在如图12所示的系统管理程序(Hypervisor)中增加共享内存通道,如时间共享模块(Time Share Module)以便VM和宿主机间传递时间信息,VM中周期性获取共享内存中时间来修正系统时间。其中,Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作是虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器。Hypervisor是所有虚拟化技术的核心。非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。
本申请实施例的上述实现方式中,通过SR-IOV硬件虚拟化的同步方式将网卡中同步的时间信息高效的共享给各VM,可以采用一种时间同步加速卡(简称加速卡),具体实现形式可以采用网卡。主机基于该加速卡和时间服务器以1588V2方式同步,该加速卡内部自动将更新后的时间信息分发到多个VF模块中,以便各VM能够直接访问,具体的,加速卡具备识别PTP同步报文并自动添加时间戳、同步加速卡维护本地时间、及同步加速卡提供调整计时步进等功能。如图13所示,通过SR-IOV硬件虚拟化的同步方式将该加速卡时间分发到各VF模块中,同步精度高,它包括主机中运行协议与PTP服务器进行时间同步,每个同步周期根据加速卡和服务器的时间偏差调整计时步进,该加速卡根据调整后的频率计时并实时更新VF模块中时间信息,VM周期性获取VF模块中时间来修正自身的系统时间。
上述两种实现方式(共享内存方式和SR-IOV硬件虚拟化两种同步方式),将加速卡(具体实现形式可以采用网卡)中同步的时间信息高效的共享给各VM。都采用了PTP时间同步协议,利用PTP协议在不断修正虚机时间,同步精度高,从而消除了VM中时间偏移。为了在VM中实现时间同步,通过PTP自动获取时钟服务器的时间来作为参考源调整VM的时间,没有预设过程,同步精度高。
其中,共享内存方式,可以基于现有标准网卡在主机和VM间共享网卡时间,不需要改动硬件;而SR-IOV硬件虚拟化方式需要新增硬件支持,但同步精度更高,可以达到纳秒级同步精度,从而实现了VM中高精度的时间同步。基于SR-IOV硬件虚拟化方式设计的该加速卡,该加速卡可以基于标准网卡外扩可编程器件开发也可以基于智能网卡增加功能,由于PTP协议运行在主机中。加速卡只需要将同步后的时间信息分发到不同的VF中,不仅资源占用少,也保证了基于该主机上的各VM时间的一致性。以该加速卡具体实现形式为智能网卡,使得主机基于该智能网卡和时间服务器以1588V2方式同步。智能网卡内部自动将更新后的时间信息分发到多个VF模块中,以便各VM能够直接访问。智能网卡内部分为一个PF模块和多个VF模块,每个VF模块呈现独立的PCIE设备,时间信息在PF模块及各VF模块间共享。VM根据定时获取的对应VF模块的时间信息来调整本地系统时间。该智能网卡可以部署于标准服务器的PCIE插槽中。该网卡包括:以太网报文收发功能模块,实现标准网卡的报文收发;PTP报文时戳功能模块,识别PTP事件报文添加发送和接收时间戳;计时模块,网卡时钟源维持本地时间;计时步进调整模块,用户可以调整本地计时频率,以便软件根据PTP同步结果调整本地时间;时间分发模块,网卡内部划分多个VF模块,时间更新信息分发到所有VF模块中。通过该网卡,用户创建虚拟客户机时,和网卡的某个VF模块绑定,VM中软件周期性获取VF模块时间信息来调整系统时间。基于该智能网卡VM中时间同步精度可达到纳秒级。
对采用本申请实施例的各个应用场景举例描述如下:
本实例中,其重点保护的是主机与VM间共享网卡PTP时间同步信息的方法,包括基于普通网卡的共享内存方式和基于SR-IOV方式的时钟同步加速卡方式,基于SR-IOV方式的同步加速卡设计通过硬件方式将1588V2同步后的时间在VM间共享,如图14所示,该加速卡包括PTP报文处理模块、时间维护模块、计时步进调整模块、时间信息同步模块。基于该加速卡,用户在主机中运行PTP协议,在加速卡和PTP服务器间进行时间同步,用户在创建VM时绑定加速卡的某个VF,VM中周期性获取所绑定VF的时间信息调整VM的系统时间。其中,PTP报文处理模块:识别经过加速卡的PTP协议报文并添加和提取时间戳;时间维护模块:内部有时钟源维持本地时间;计时步进调整模块:调整本地计时步进达到调整时钟频率功能;时间信息同步模块:加速卡内划分多个功能分区,即分为一个PF和多个VF,时间信息存放于每个功能分区中,每个计时周期内刷新全部PF和VF信息,VM中可以直接访问某一VF空间的时间信息。本实例的加速卡硬件形态没有限制,可以独立的PTP时间同步功能加速卡出现,也可以在标准网卡基础上扩充PTP时钟同步功能,还可以将PTP时钟同步功能包含到智能网卡中。
本实例中,在主机和VM间共享PTP同步时间信息有两种方案:
方式1:共享内存方案
如图12所示,该方案基于现有网卡实现,主机中运行协议与PTP服务器进行时间同步,主机中直接获取网卡时间,在Hypervisor中增加共享内存通道以便VM和主机间传递时间信息,VM中周期性获取共享内存中时间来修正系统时间。
方式2:基于SR-IOV的时钟同步加速卡方案
如图13所示,该方案通过硬件方式将网卡时间分发到各VF模块中,同步精度高,它包括主机中运行协议与PTP服务器进行时间同步,每个同步周期根据加速卡和服务器的时间偏差调整计时步进,网卡根据调整后的频率计时并实时更新VF模块中时间信息,VM周期性获取VF模块中时间来修正自身的系统时间。对应的一方法流程实例的具体步骤包括:主机中运行PTP协议,和PTP服务器周期性同步,计算出时间偏移量,保存在加速卡中;加速卡根据时间偏差调整本地计时步进。根据本地计时步进(如调整后的频率计时)实时更新VF中的时间信息,得到时间更新信息;VM从加速卡中获取时间(如时间更新信息)并调整自身系统时间。
本实例中,主机中运行PTP协议,周期性调整加速卡的计时步进,加速卡内的计时信息不断在更新,各目标VM周期性获取加速卡时间调整其系统时间,整个交互过程分为三个部分:
第一部分:加速卡计时步进调整,如图15所示:
步骤401、主机中运行PTP协议;
步骤402、周期性和PTP服务器交互报文,周期时长可根据同步目标精度和系统负载情况来选择;
步骤403、每个周期内计算加速卡和PTP服务器的时间偏差;
步骤404、根据偏差调整加速卡的计时步进,修正加速卡本地时间,以便加速卡和PTP时间服务器同频同相。
第二部分:加速卡时间刷新,如图16所示:
步骤501、本地计时周期到触发时间更新,这里的计时周期是加速卡硬件的计时周期,要比目标精度短,可以设定为数纳秒;
步骤502、读取本地时钟计数和更新后的计时步进,以计算当前时间;
步骤503、刷新网卡时间,包括刷新PF模块和各VF模块时间。
第三部分:VM时间修正,如图17所示:
步骤601、创建VM时绑定加速卡的某个VF模块;
步骤602、VM中周期性获取本地系统时间和VF模块中时间信息,周期时长可根据同步精度要求和系统负载情况来选择;
步骤603、计算系统时间和加速卡的时间偏差;
步骤604、根据时间偏差调整虚拟系统的本地时间计数频率。
具体的,通过以下方式确定目标VM的系统时间相对于参考时间的调整系数:
若该时间差为负数,则计算调整时长和该时间差的绝对值与调整时长的比值,并将该比值作为调整系数;若该时间差为正数,则计算调整时长和该时间差的绝值之差与调整时长的比值,并将该比值作为调整系数通过调整VM系统时钟频率来实现时间同步,对于VM而言,不会有时间突变,所以VM上与时间相关的业务执行顺序不会发生变化,即不会影响VM上数据库类事件敏感的业务。同时时间同步过程中,不依赖PTP服务,在VM运行期间不中断业务,无论时间偏差大小,均可以实现VM时间的平滑调整。
本申请实施例上述装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
尽管为示例目的,已经公开了本申请的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本申请的范围应当不限于上述实施例。

Claims (26)

1.一种网卡,所述网卡至少包括用于产生时钟脉冲信号的晶振、用于根据时钟脉冲信号为网卡提供本地时钟源的锁相环、及与主机插槽和主机互联的连接器,其特征在于,所述网卡包括一个物理功能PF模块和N个虚拟功能VF模块,运行在所述主机上的N个虚拟机VM中的每个VM与所述N个VF模块中的相应的一个VF模块绑定,N≥2;
所述网卡与服务器进行时间同步,以基于所述本地时钟源得到同步的时间信息,并将所述同步的时间信息发送至所述PF模块和所述N个VF模块中的每一个,并且
所述N个VM中的每个VM访问与其自身绑定的相应的一个VF模块中的同步的时间信息。
2.根据权利要求1所述的网卡,其特征在于,所述网卡还包括:可编程逻辑器件;
所述可编程逻辑器件,用于根据主机与服务器间收发交互得到的精确时间同步协议PTP报文得到计时步进,根据所述计时步进得到时间更新信息,将所述时间更新信息作为所述同步的时间信息通过SR-IOV硬件虚拟化的方式或共享内存方式发送给每个VM。
3.根据权利要求2所述的网卡,其特征在于,所述可编程逻辑器件,包括:
报文收发处理器,用于识别所述主机与所述服务器间收发交互得到的所述PTP报文;
时间维护处理器,用于对网卡本地时间进行维护;
时间调整处理器,用于根据所述PTP报文进行时间同步,以得到所述计时步进;
时间同步处理器,用于根据所述计时步进对所维护的网卡本地时间进行实时更新,得到所述时间更新信息。
4.根据权利要求3所述的网卡,其特征在于,所述报文收发处理器,用于对所述PTP报文添加时间戳或提取时间戳。
5.根据权利要求3所述的网卡,其特征在于,所述时间调整处理器,用于按照周期时长收集主机周期性与服务器交互所述PTP报文存在的时间偏差,根据所述时间偏差得到所述计时步进;
所述周期时长根据时间同步所需的同步目标精度和/或系统负载情况选择。
6.根据权利要求5所述的网卡,其特征在于,所述时间调整处理器,用于达到本地计时周期并触发时间同步更新后,根据所述时间偏差得到所述计时步进。
7.根据权利要求3所述的网卡,其特征在于,所述时间维护处理器,用于根据所述本地时钟源来维持所述网卡本地时间。
8.根据权利要求1至7任一项所述的网卡,其特征在于,所述网卡部署于所述主机的所述主机插槽中。
9.一种时间同步方法,其特征在于,所述方法应用于运行N个虚拟机VM的主机上,所述主机配置有网卡,所述网卡包括一个物理功能PF模块和N个虚拟功能VF模块,所述N个VM中的每个VM与所述N个VF模块中的相应的一个VF模块绑定,所述N≥2;所述方法包括:
与服务器进行时间同步,以得到同步的时间信息,并将所述同步的时间信息发送至所述PF模块和所述N个VF模块中的每一个;以及
将同步的时间信息通过SR-IOV硬件虚拟化的方式或共享内存方式发送给每个VM,由所述N个VM中的每个VM周期性地访问所述相应的一个VF模块以获取所述相应的一个VF模块中的所述同步的时间信息。
10.根据权利要求9所述的方法,其特征在于,采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别。
11.根据权利要求9所述的方法,其特征在于,所述将同步的时间信息通过SR-IOV硬件虚拟化的方式或共享内存方式发送给每个VM,包括:
根据主机与服务器间收发交互得到的精确时间同步协议PTP报文得到计时步进,根据所述计时步进得到时间更新信息,将所述时间更新信息作为所述同步的时间信息发送给每个VM。
12.根据权利要求11所述的方法,其特征在于,所述根据主机与服务器间收发交互得到的精确时间同步协议PTP报文得到计时步进,根据所述计时步进得到时间更新信息,包括:
获取包含时间戳的所述PTP报文;
从所述PTP报文中提取出所述时间戳,根据所述时间戳得到所述主机与所述服务器间存在的时间偏差,根据所述时间偏差得到所述计时步进;
根据所述每个VM周期性触发的获取请求,根据所述计时步进对主机本地维护的时间进行实时更新,得到所述时间更新信息。
13.一种时间同步方法,其特征在于,所述方法应用于运行N个虚拟机VM的主机上的每个VM中,所述主机配置有网卡,所述网卡包括一个物理功能PF模块和N个虚拟功能VF模块,所述N个VM中的每个VM与所述N个VF模块中的相应的一个VF模块绑定,所述PF模块和所述N个VF模块中的每一个存储同步时间信息,所述N≥2;所述方法包括:
每个VM周期性地访问所述相应的一个VF模块中的所述同步时间信息,得到每个VM的同步的时间信息;
根据所述同步的时间信息修正每个VM中的本地系统时间。
14.根据权利要求13所述的方法,其特征在于,采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别。
15.根据权利要求13所述的方法,其特征在于,所述每个VM周期性地访问所述相应的一个VF模块中的所述同步时间信息,得到每个VM的同步的时间信息,包括:
每个VM通过所述主机周期性发起获取请求,并通过所述主机与服务器进行时间同步得到。
16.根据权利要求13所述的方法,其特征在于,所述每个VM周期性地访问所述相应的一个VF模块中的所述同步时间信息,得到每个VM的同步的时间信息,包括:
每个VM周期性地通过连通所述主机与每个VM的共享内存通道得到相应的一个VF模块中的所述同步的时间信息。
17.根据权利要求15所述的方法,其特征在于,所述每个VM周期性地访问所述相应的一个VF模块中的所述同步时间信息,得到每个VM的同步的时间信息,包括:
根据计时步进对主机本地维护的时间进行实时更新得到的时间更新信息,将所述时间更新信息作为所述同步的时间信息。
18.根据权利要求17所述的方法,其特征在于,所述计时步进根据所述主机与所述服务器进行时间同步所获取的时间偏差得到。
19.一种时间同步设备,其特征在于,应用于运行N个虚拟机VM的主机上,所述主机配置有网卡,所述网卡包括一个物理功能PF模块和N个虚拟功能VF模块,所述N个VM中的每个VM与所述N个VF模块中的相应的一个VF模块绑定,所述N≥2;所述设备包括:
第一信息获取单元,与服务器进行时间同步,以得到同步的时间信息;
同步单元,将所述同步的时间信息分发至所述PF模块和所述N个VF模块中的每一个;以及将同步的时间信息通过SR-IOV硬件虚拟化的方式或共享内存方式发送给每个VM,由所述N个VM中的每个VM周期性地访问所述相应的一个VF模块以获取所述相应的一个VF模块中的所述同步的时间信息。
20.根据权利要求19所述的设备,其特征在于,采用所述同步的时间信息所达到的精度,包括:纳秒级、或纳秒级以上的更高精度级别。
21.根据权利要求20所述的设备,其特征在于,所述同步单元,用于根据主机与服务器间收发交互得到的精确时间同步协议PTP报文得到计时步进,根据所述计时步进得到时间更新信息,将所述时间更新信息作为所述同步的时间信息发送给每个VM。
22.一种时间同步设备,其特征在于,应用于运行N个虚拟机VM的主机上的每个VM中,所述主机配置有网卡,所述网卡包括一个物理功能PF模块和N个虚拟功能VF模块,所述N个VM中的每个VM与所述N个VF模块中的相应的一个VF模块绑定,所述PF模块和所述N个VF模块中的每一个存储同步时间信息,所述N≥2;所述设备包括:
接收单元,用于通过连通所述主机与每个VM周期性地访问所述相应的一个VF模块中的所述同步时间信息于接收主机通过SR-IOV硬件虚拟化的方式或共享内存方式发送给每个VM的同步的时间信息;
修正单元,用于根据所述同步的时间信息修正每个VM中的本地系统时间。
23.根据权利要求22所述的设备,其特征在于,所述接收单元,用于接收根据计时步进对主机本地维护的时间进行实时更新得到的时间更新信息,将所述时间更新信息作为所述同步的时间信息。
24.根据权利要求23所述的设备,其特征在于,所述计时步进根据所述主机与服务器进行时间同步所获取的时间偏差得到。
25.一种时间同步设备,其特征在于,所述设备包括:
存储有计算机程序的存储器;
处理器,配置为执行所述计算机程序时实现权利要求9至18任一项所述方法的步骤。
26.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求9至18任一项所述方法的步骤。
CN201811102873.8A 2018-09-20 2018-09-20 一种网卡、时间同步方法、设备及计算机存储介质 Active CN110932839B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811102873.8A CN110932839B (zh) 2018-09-20 2018-09-20 一种网卡、时间同步方法、设备及计算机存储介质
PCT/CN2019/100749 WO2020057303A1 (zh) 2018-09-20 2019-08-15 网卡、时间同步方法和设备及计算机存储介质
JP2020547281A JP2021506037A (ja) 2018-09-20 2019-08-15 ネットワークカード、時刻同期方法および装置、並びにコンピュータ記憶媒体
US17/264,901 US11609598B2 (en) 2018-09-20 2019-08-15 Network card, time synchronization methods and devices, and computer storage media
EP19863839.7A EP3855675A4 (en) 2018-09-20 2019-08-15 NETWORK CARD, TIME SYNCHRONIZATION METHOD AND APPARATUS, AND COMPUTER STORAGE MEDIA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811102873.8A CN110932839B (zh) 2018-09-20 2018-09-20 一种网卡、时间同步方法、设备及计算机存储介质

Publications (2)

Publication Number Publication Date
CN110932839A CN110932839A (zh) 2020-03-27
CN110932839B true CN110932839B (zh) 2023-09-22

Family

ID=69855580

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811102873.8A Active CN110932839B (zh) 2018-09-20 2018-09-20 一种网卡、时间同步方法、设备及计算机存储介质

Country Status (5)

Country Link
US (1) US11609598B2 (zh)
EP (1) EP3855675A4 (zh)
JP (1) JP2021506037A (zh)
CN (1) CN110932839B (zh)
WO (1) WO2020057303A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865466B (zh) * 2020-07-10 2023-11-03 润电能源科学技术有限公司 时间同步方法、装置、被授时设备和存储介质
CN111857237B (zh) * 2020-07-27 2023-09-08 超越科技股份有限公司 一种时钟同步方法、系统、设备以及介质
CN112350718B (zh) 2020-09-25 2023-06-27 苏州华兴源创科技股份有限公司 时钟源电路、机箱及多机箱级联系统
JP2022067149A (ja) * 2020-10-20 2022-05-06 株式会社オートネットワーク技術研究所 車載装置、車載通信システムおよび同期制御方法
US11748141B2 (en) * 2020-10-30 2023-09-05 Red Hat, Inc. Providing virtual devices direct access to clock times in memory locations managed by a hypervisor
US20220006607A1 (en) * 2020-12-26 2022-01-06 Intel Corporation Timestamp alignment for multiple nodes
CN112904932A (zh) * 2021-05-08 2021-06-04 鹏城实验室 时钟同步方法、板卡、计算机存储介质及终端设备
KR102407341B1 (ko) * 2021-05-14 2022-06-13 한국전자기술연구원 정밀 시각 프로토콜의 메시지를 송수신하기 위한 방법 및 이를 위한 장치
US11844037B2 (en) * 2021-07-23 2023-12-12 Charter Communications Operating, Llc Automated determination of a timing offset for DOCSIS time protocol to provide precision time protocol accuracy
CN113759766A (zh) * 2021-07-29 2021-12-07 苏州浪潮智能科技有限公司 一种独立上电启动的智能网卡及智能网卡上电启动方法
US11558448B1 (en) * 2021-09-22 2023-01-17 International Business Machines Corporation Sparse information sharing system
CN114003091B (zh) * 2021-10-29 2024-01-30 深圳市科思科技股份有限公司 时间同步方法、装置、设备及存储介质
CN114679481A (zh) * 2022-02-23 2022-06-28 达闼机器人股份有限公司 机器人的控制方法、装置、存储介质及机器人集群
CN117811687A (zh) * 2022-09-26 2024-04-02 施耐德电器工业公司 用于多个操作系统时间同步的系统与方法
CN115865803B (zh) * 2023-03-03 2023-08-22 浪潮电子信息产业股份有限公司 一种io请求处理方法、装置、设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239227A (zh) * 2013-06-20 2014-12-24 杭州华三通信技术有限公司 一种虚拟化存储管理装置、本地虚拟存储管理装置及方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003036123A (ja) * 2001-07-25 2003-02-07 Meidensha Corp コンピュータの時刻管理方式
JP4543836B2 (ja) * 2004-09-02 2010-09-15 株式会社明電舎 データ処理システムの時刻同期方法
US7356725B2 (en) * 2005-09-09 2008-04-08 International Business Machines Corporation Method and apparatus for adjusting a time of day clock without adjusting the stepping rate of an oscillator
US8473638B2 (en) * 2008-05-02 2013-06-25 James Aweya Method and apparatus for time and frequency transfer in communication networks
JP5533526B2 (ja) * 2010-10-04 2014-06-25 富士通株式会社 チャネル制御装置および方法
JP5845771B2 (ja) * 2011-09-26 2016-01-20 日本電気株式会社 情報伝達システムおよび情報伝達方法
JP2013145460A (ja) * 2012-01-13 2013-07-25 Fujitsu Ltd 情報処理装置、情報処理装置の制御方法、制御プログラム、記録媒体
WO2013154578A1 (en) * 2012-04-13 2013-10-17 Empire Technology Development Llc Determining destination cloud system requirements
CN110138488A (zh) * 2013-02-22 2019-08-16 瑞典爱立信有限公司 时间同步的可插拔收发信机及其同步方法
US9552309B2 (en) * 2014-06-04 2017-01-24 Ixia Methods, systems, and computer readable media for providing precise timing in virtual data network or storage network test environment
US9344265B2 (en) * 2014-10-15 2016-05-17 Anue Systems, Inc. Network packet timing synchronization for virtual machine host systems
CN104615549A (zh) * 2015-01-19 2015-05-13 杭州华三通信技术有限公司 一种虚拟系统中域管理方法和装置
US9816665B2 (en) * 2015-01-19 2017-11-14 Clinton Electronics Corporation Equipment boom with locking feature
US10020905B2 (en) * 2016-04-19 2018-07-10 Centurylink Intellectual Property Llc Accurate synchronization as a service
JP2018088646A (ja) * 2016-11-29 2018-06-07 富士通株式会社 時刻同期装置及び時刻同期方法
EP3553994B1 (en) * 2016-12-30 2023-05-31 Huawei Technologies Co., Ltd. Method for exchanging time synchronisation message, and network device
US10216641B2 (en) * 2017-01-13 2019-02-26 International Business Systems Corporation Managing and sharing alias devices across logical control units
CN107247616A (zh) * 2017-04-25 2017-10-13 郑州云海信息技术有限公司 一种虚拟化平台虚拟化应用性能测试的方法及系统
US10944818B1 (en) * 2017-08-30 2021-03-09 Amazon Technologies, Inc. Time synchronization monitoring with client mirroring
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
US10788841B2 (en) * 2018-08-24 2020-09-29 Baidu Usa Llc Hardware centralized time synchronization hub for an autonomous driving vehicle

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239227A (zh) * 2013-06-20 2014-12-24 杭州华三通信技术有限公司 一种虚拟化存储管理装置、本地虚拟存储管理装置及方法

Also Published As

Publication number Publication date
WO2020057303A1 (zh) 2020-03-26
US11609598B2 (en) 2023-03-21
US20210303021A1 (en) 2021-09-30
CN110932839A (zh) 2020-03-27
JP2021506037A (ja) 2021-02-18
EP3855675A1 (en) 2021-07-28
EP3855675A4 (en) 2022-06-15

Similar Documents

Publication Publication Date Title
CN110932839B (zh) 一种网卡、时间同步方法、设备及计算机存储介质
US11483127B2 (en) Clock synchronization
CN106095706A (zh) 具有主设备和从设备的pll系统
CN103634092A (zh) Cpu集群中的高精度定时器
WO2018227830A1 (zh) 主从机tdma时隙同步校准方法及装置
GB2404761A (en) Multiprocessor system with interactive synchronization of local clocks
WO2016168064A1 (en) Methods, systems, and computer readable media for emulating network devices with different clocks
WO2018063864A1 (en) Protected real time clock with hardware interconnects
US9459652B1 (en) Virtual reference clock for virtual machines
CN109194432B (zh) 一种kvm下多虚拟机时间同步系统
US20160139625A1 (en) Distributed timer subsystem across multiple devices
Ruh et al. Clock synchronization in virtualized distributed real-time systems using IEEE 802.1 AS and ACRN
D'souza et al. Time-based Coordination in {Geo-Distributed}{Cyber-Physical} Systems
US9104364B2 (en) Generation and distribution of steered time interval pulse to a plurality of hardware components of the computing system
CA3014595C (en) Method and apparatus for tdma slot synchronization and calibration of master and slave
Ryan et al. Clock synchronisation on multiple TTCAN network channels
US20230185600A1 (en) Time-dependent action system
US20230300068A1 (en) Synchronization in Distributed Communication Systems
Neville-Neil Time is an illusion lunchtime doubly so
Postolache Time-triggered CANopen implementation for networked embedded systems
Okabe et al. Avoiding year 2038 problem on 32-bit linux by rewinding time on clock synchronization
CN109274451B (zh) 一种时间获取方法、装置和设备
CN112583513A (zh) 云平台时钟授时方法及系统
D'Souza et al. Quartzv: Bringing quality of time to virtual machines
US12019466B2 (en) Virtual precision time protocol clock devices for virtual nodes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant