掌桥专利:专业的专利平台
掌桥专利
首页

动态模块化和可定制的计算环境

文献发布时间:2024-04-18 20:01:23


动态模块化和可定制的计算环境

背景技术

随着计算机系统复杂度的演化,为各种或所有可能的用例设计和配置单一系统变得越来越困难。例如,可以针对高性能计算(high performance computing,HPC)系统中的高吞吐量、针对大容量存储器系统中的存储器低延迟等对系统进行优化。

然而,很少有单个系统设计可以配置成服务于多个优化的用例。因此,系统经常在其生命期内专门用于单个用例或单个用例子集。使这样的系统在它们生命周期中的不同时间(例如,在购买、部署、引导、运行时等)模块化和可定制,使得能够灵活地扩大可能的用例和部署的范围,但也增加了系统成本。此外,有效地实现这样的模块化和可定制性需要仔细的设计。

附图说明

参照以下附图,根据一个或多个不同的实施例详细地描述本公开。附图仅被提供用于说明性目的,并且仅描绘典型实施例或示例实施例。

图1图示了根据本文描述的一个或多个示例的模块化交换机系统和当前经配置交换机系统。

图2图示了根据本文描述的一个或多个示例的由模块化交换机系统在多个经配置交换机系统之间进行的切换。

图3图示了根据本文描述的一个或多个示例的在多个经配置交换机系统之间调整分离部件(disaggregated component)集群的触发过程。

图4图示了根据本文描述的一个或多个示例的一个或多个经配置交换机系统中的扩展质量(quality of scaling,QoSc)特性。

图5图示了根据本文描述的一个或多个示例的当前经配置交换机系统中的每一个之间的各种扩展质量(QoSc)特性。

图6是可以用于实施本公开中描述的实施例的各种特征的示例计算部件。

图7描绘了可以在其中实施本文描述的各种实施例的示例计算机系统的框图。

附图并非是穷举的,并且不将本公开限制于所公开的精确形式。

具体实施方式

所公开的技术的示例描述了模块化交换机系统(或可互换使用的动态模块化和可定制的交换机部件)和一个或多个经配置交换机系统,该一个或多个交换机系统包括分离部件、插件和管理器,这些分离部件、插件和管理器使得经配置交换机系统在不同操作时间在模块化和可定制性方面具有灵活性。该模块化交换机系统和一个或多个经配置交换机系统可以根据多个操作特性集来定义。例如,可以为当前经配置交换机系统定义或调整存储器量、处理能力、扩展质量(QoSc)特性或其他特征。

模块化交换机系统可以使用模块化交换机系统的一个或多个引擎或过程来改变当前经配置交换机系统的虚拟或物理部件。根据模块化交换机系统所确定的规格,当前经配置交换机系统可以是可动态定制的。

当前经配置交换机系统和模块化交换机系统可以被实施为单个系统或分开的系统,其中,当前经配置交换机系统可以被配置用于如部署在例如云环境中的高性能计算(HPC)集群、大容量存储器系统或通用集群的用例。类似的设计可以推广到操作系统或应用程序级别。在一些示例中,当前经配置交换机系统的分离部件的可重新配置性是可能的并且是可测量的。当前经配置交换机系统的可重新配置性可以增加当前经配置交换机系统的使用寿命,同时降低改变系统在生产环境中的实施方式的成本。

相比之下,传统系统依赖于技术管理员手动改变集群部件、存储器可用性、操作系统、应用程序、或甚至系统的物理位置。确定传统系统中需要改变什么经常是通过将已安装的软件应用程序切换到第二软件应用程序来确定的,而不是通过确定重新配置整个系统。然而,对于当前经配置交换机系统,模块化交换机系统可以动态地选择当前经配置交换机系统的规格,以创建动态可定制的系统,或者从一个或多个经配置交换机系统中选择,即被实施为当前经配置交换机系统。

所公开的技术可以提供高度可定制的、可配置的和可扩展的系统,这些系统比当前的选项更便宜、并且向用户提供了在工作负载需求随时间推移而转变时适配其系统的能力,而不必替换这些系统。例如,如果工作负载在扩展类型和特性上从HPC转变到大容量存储器系统,则所公开的技术使得当前经配置交换机系统能够适于转变的工作负载需求。示例的重新配置点可以包括系统的生产、系统的部署以及系统生命期间的各个其他点。此外,所公开的技术使得用户能够在当前经配置交换机系统的配置、设计选择、硬件、软件、封装、互连接口或其他部件方面保持定制的偏好。

此外,该一个或多个经配置交换机系统可以对应于不同的扩展质量(QoSc)特性。QoSc特性可以定义系统的虚拟或物理硬件与系统为预期目的而改变其用途的能力之间的关联。该一个或多个经配置交换机系统的QoSc特性可以由模块化交换机系统动态调整,以创建对于预期目的具有优化的QoSc特性的当前经配置交换机系统。例如,QoSc特性可以对应于多个维度,从如硬件的延迟或带宽值的特性,到当前经配置交换机系统的硬件、操作系统、固件应用程序、软件和其他部件的端到端特性。

在整个公开中实现了技术改进。例如,所公开的技术可以通过实施对网络环境的操作特性进行定义的分离部件集群来实施可重新配置的经部署系统,从而改进传统上符合长期静态部署的计算系统(例如,超级计算机)。与以相对较高的生产和重新配置成本来设计的可组合系统相比,所公开的技术可以更便宜地生产并且为部署更大规模的系统提供更多可配置的选项。此外,与具有灵活性但具有大容量存储器系统或HPC系统的最小扩展质量(QoSc)特性的性能要求的云基础设施系统相比,所公开的技术通过优化若干模块化交换机系统的各种QoSc特性来提供扩展程度的灵活性。

如本文所示,模块化交换机系统可以充当控制器,以根据用于某些预期目的的优化QoSc特性来创建当前经配置交换机系统。在一些示例中,模块化交换机系统可以选择一个或多个经配置交换机系统作为用于在任何时间点创建当前经配置交换机系统的框架,每个经配置交换机系统对应于不同的QoSc特性。

图1图示了根据本文描述的一个或多个示例的模块化交换机系统和当前经配置交换机系统。如图所示,模块化交换机系统100包括处理器104A、存储器105A和机器可读介质106A。当前经配置交换机系统140包括处理器104B、存储器105B和机器可读介质106B。如下文将更详细讨论的,所公开的技术的示例允许从通用模块化交换机(例如,模块化交换机系统100)到经配置交换机系统(例如,当前经配置交换机系统140)的转换。也就是说,在一些示例中,可以发生重新配置过程,其中,模块化交换机系统100被重新配置成当前经配置交换机系统140。

处理器104A、104B(图示为模块化交换机系统100的处理器104A和当前经配置交换机系统140的处理器104B)可以是一个或多个中央处理单元(CPU)、基于半导体的微处理器、和/或适用于取得并执行在机器可读存储介质106中存储的指令的其他硬件设备。处理器104A、104B(包括模块化交换机系统100的处理器104A或当前经配置交换机系统140的处理器104B中的一个或两个)可以取出、解码和执行指令,以控制用于实施模块化切换的过程或操作。作为取得并执行指令的替代或补充,处理器104A、104B可以包括一个或多个电子电路,该一个或多个电子电路包含用于执行一个或多个指令的功能的电子部件,如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他电子电路。

也可以实施存储器105A、105B(图示为模块化交换机系统100的存储器105A和当前经配置交换机系统140的存储器105B)和机器可读介质106A、106B(图示为模块化交换机系统100的机器可读介质106A和当前经配置交换机系统140的机器可读介质106B)。例如,存储器105(包括模块化交换机系统100的存储器105A和当前经配置交换机系统140的存储器105B中的一个或两个)和/或机器可读介质106(包括模块化交换机系统100的机器可读介质106A和当前经配置交换机系统140的机器可读介质106B中的一个或两个)可以包括可以用于存储要由处理器104A、104B执行的信息和指令的随机存取存储器(RAM)或其他动态存储器。存储器105A、105B和/或机器可读介质106A、106B也可以用于在执行要分别由处理器104A、104B执行的指令期间存储临时变量或其他中间信息。存储器105A、105B和/或机器可读介质106A、106B同样可以包括耦接到总线的只读存储器(“ROM”)或其他静态存储设备,用于分别存储处理器104A、104B的静态信息和指令。

模块化交换机系统100可以包括执行过程或操作的一个或多个模块。这些模块可以包括例如触发引擎108、商用交换机110、网络计算环境模块112、分离部件模块114、插件模块116和计算管理器引擎118。

触发引擎108被配置成生成和发送触发通知(例如,使用可调整互连或其他设备)以启动当前经配置交换机系统140的动态系统设计重新配置。触发通知可以在各个策略管理器之间传输,这些策略管理器是在模块化交换机系统100或当前经配置交换机系统140实施的。每个触发通知可以由模块化交换机系统100的触发引擎108接收,并且触发引擎108可以负责生成、发送和接收模块化交换机系统100内部的触发,如本文所述。

当触发引擎108接收到触发通知时,触发引擎108(以及模块化交换机系统100的对应部件)可以通过在对应于每个系统定义的分离部件集群之间进行切换来启动当前经配置交换机系统140从第一经配置交换机系统到第二经配置交换机系统的调整。

例如,当前经配置交换机系统140可以对应于定义操作特性集的特定分离部件集群。该操作特性集可以确定例如向执行软件应用程序提供多少存储器或处理能力(其预测应用程序应当运行多快)、当前经配置交换机系统140为执行过程要访问多少存储器、以及其他操作特性,如在整个公开中所定义的。

在一些示例中,触发通知可以在两步过程中生成,其中,在第一触发通知中从当前经配置交换机系统140向模块化交换机系统100提供监测数据,并且一旦模块化交换机系统100将监测数据(例如,在当前经配置交换机系统140处执行的工作负载)与阈值进行比较,模块化交换机系统100可以在(例如,发送到商用交换机110的)第二触发通知中触发当前经配置交换机系统140的动态重新配置,以启动重新配置过程,如本文所述。例如,如果工作负载高于阈值,那么模块化交换机系统100可以将当前经配置交换机系统140重新配置成第一布局,并且如果工作负载低于阈值,那么模块化交换机系统100可以将当前经配置交换机系统140重新配置成第二布局。关于触发和重新配置过程的额外细节在图3和整个公开中提供。

作为说明性示例,工作负载可以响应于一个或多个争用(例如,争用可以对应于系统上相互干扰的工作负载,例如,为了利用相同的资源)、延迟或带宽限制而被延迟。在一些示例中,监测数据可以包含指示与特定工作负载相关联的争用、延迟和/或带宽的数据。在另一个示例中,由当前经配置交换机系统140处理的工作负载可以被识别为工作负载值,并且可以与扩展质量(QoSc)特性或设置的其他准则进行比较。当该值未能超过QoSc特性(例如,阈值)时,可以确定工作负载因此要被延迟或阻碍(这可以在过程中稍后激活当前经配置交换机系统140的重新配置)。例如,QoSc特性可以对应于多个维度,从如硬件的延迟或带宽值的特性,到当前经配置交换机系统的硬件、操作系统、固件应用程序、软件和其他部件的端到端特性。

继续该说明性示例,可以动态调整各种程度的QoSc特性,包括对应于各种QoSc特性的最小值到最大值,这些QoSc特性可以由管理用户动态确定或定义。对应于特定QoSc特性的最小值可以确定在没有硬件优化的情况下用于经配置交换机系统的硬件资源的最小量。特定QoSc特性的下一级别可以对应于QoSc特性的硬件优化值,该硬件优化值确定延迟值并且确定硬件配置以减少商用交换机110的硬件部件所经历的延迟(如下所述)。特定QoSc特性的下一级别可以对应于与特定QoSc特性相对应的系统优化值,该系统优化值确定延迟值并且减少模块化交换机系统的固件、操作系统和/或中间件部件以及任何先前部件(例如,硬件等)的延迟。特定QoSc特性的下一个级别可以是最大级别,该最大级别为模块化交换机系统的每个软件应用程序和每个先前描述的部件确定延迟值并且减少该延迟值。

在工作负载和阈值示例中的每一个中,工作负载(例如,传输速率、错误率等)可以被测量以确定工作负载值或与工作负载相关联的度量(例如,针对传输速率工作负载的每秒比特数或针对错误率工作负载的每小时错误数等),并且可以将工作负载值与阈值进行比较。当工作负载值超过阈值时,触发引擎108可以生成触发通知。

在另一个示例中,工作负载的测量可以对应于在特定位置处理的工作负载,包括本地工作负载(例如,在本地域内或在一个交换机下)或系统范围内的工作负载(例如,跨多个域或跨多个交换机)。当在特定位置处理的工作负载超过为该特性设置的阈值时,系统可以被重新配置以使其他设备/应用程序/层或多或少地接管工作负载处理。对超过阈值的工作负载的识别可以启动触发的生成(来自触发引擎108),并且该触发可以启动当前经配置交换机系统的重新配置。在一些示例中,不同的通信模式可以导致触发在堆栈中向上传播(例如,从OS到应用程序层等),导致工作负载的重新部署或交换机的重新配置,这也可以调整工作负载的测量。在这个重新配置的示例中,系统的其余部分可以长期容纳流量(例如,通过启动网络中的流量平衡过程或者到其他设备的流量重定向过程)。

在其他示例中,工作负载可以由模式来定义。对于系统配置,触发引擎108可以识别以模式重复发生的数据传输中的延迟,其中,在预定时间段内被延迟的数据传输发生的次数超过阈值。在另一个示例中,触发引擎108可以识别大于阈值的范围争用,或者测量的带宽小于每秒千兆比特的阈值。在范围争用中(例如,涉及从不同节点对存储器范围的访问),触发引擎108可以触发交换机系统(例如,图1的当前经配置交换机系统140)从标准规模存储器到大规模共享存储器配置的重新配置,这对于共享存储器访问模式可能更为优化。

在其他示例中,工作负载可以由地理特性来定义。例如,系统的布局或景观可以识别代表从当前经配置交换机系统140到外部系统的一个或多个接口的代理设备。在该示例中,可以使用接口来对代理设备进行编程,而不是识别流量模式以触发工作负载,以帮助识别模式或应用程序行为,并且将所确定的模式或应用程序行为关联为工作负载。可以对指令(例如,由商用交换机110)进行解释,以决定如何重新配置当前经配置交换机系统140以及在哪个级别重新配置,如本文所述。在一些示例中,所识别的代理设备可以用于了解建议的工作负载行为,包括与可以为当前经配置交换机系统140调整流量平衡或重定向过程的代理设备相比,如何改进操作行为。

在其他示例中,工作负载可以由时间模式来定义。例如,已部署的软件应用程序可以随时间推移逐渐实施(例如,软调整),而对未部署的应用程序可以一次性进行调整。实施方式的差异可以有助于将应用程序的部署与为最终用户设备改变应用程序的可预测模式相关。

在其他示例中,触发通知可以对应于操作特性集。例如,操作特性可以将该可配置选项集从处理超过延迟阈值的工作负载改变为处理超过带宽阈值的工作负载。在另一个示例中,操作特性可以将该可配置选项集改变为定义网络接口控制器(NIC)的不同硬件要求。

在其他示例中,触发通知可以对应于来自与模块化交换机系统100通信的用户设备的重新配置请求。在该示例中,系统的用户可以识别当前经配置交换机系统140的目的应从第一经配置交换机系统改变为第二经配置交换机系统。来自用户设备的请求可以被识别为触发通知,以将当前经配置交换机系统动态调整到与第二经配置交换机系统相对应的分离部件。

商用交换机110被配置成识别或选择经配置交换机系统(例如,在接收到触发通知时或以预定的时间间隔,或在以另一种方式监测当前经配置交换机系统140的工作负载时)。当前经配置交换机系统140根据操作特性集来定义。例如,可以为特定系统定义或调整存储器量、处理能力、扩展质量(QoSc)特性或其他特征。

商用交换机110被配置成通过测量由模块化交换机系统100接收或发送的数据来确定工作负载的类别。该测量可以连续进行或者与预定的时间间隔相关联地进行。

在一些示例中,在接收到触发通知时,商用交换机110被配置成确定(由分离部件模块114)实施的分离部件集群。分离部件集群可以包括策略管理器、一个或多个可配置选项和插件。

(由计算管理器引擎118实施的)策略管理器是被配置成测量其对应的计算操作层的特性的计算应用程序。策略管理器可以包括一个或多个结构管理器、资源管理器和应用程序管理器。

例如,结构管理器是软件部件,其通过指示结构插件这样处理来启动结构的重新配置。结构管理器可以基于由系统管理员提供的指定策略来动作。结构管理器可以测量设备连接之间(例如,切换结构中的分组转发引擎(Packet Forwarding Engine,PFE)之间)传输的数据。切换结构可以由交换机接口板(Switch Interface Board,SIB)构成,这些交换机接口板提供跨灵活PIC集中器(Flexible PIC Concentrator,FPC)的PFE之间的互连。

在另一个示例中,资源管理器是通过指示操作系统插件这样处理来启动系统资源(例如,处理器、存储器、存储设备等)的重新配置和/或通过指示结构管理器来启动较低层的重新配置的软件部件。资源管理器可以基于由系统管理员提供的指定策略来动作。资源管理器可以测量CPU、存储器、存储设备以及网络使用和流量数据。资源管理器可以决定何时针对特定的软件应用程序(例如,为了改善图像处理、为了改善用户体验等)来切换资源配置(例如,存储器、处理器等)。

在另一个示例中,应用程序管理器是通过指示应用程序插件这样处理来启动应用程序的重新配置和/或通过指示资源管理器来启动较低层的重新配置的软件部件。应用程序管理器可以基于由系统管理员或系统程序员提供的指定策略来动作。应用程序管理器可以测量特定于应用程序的度量。

分离部件集群的该一个或多个可配置选项可以对应于当前经配置交换机系统的可配置选项。例如,该一个或多个可配置选项可以根据操作特性集中的每个操作特性来定义用于处理在当前经配置交换机系统处接收到的工作负载的处理器功率量、或者用于在缓存存储器设备中使用的存储器量。在一些示例中,可以在虚拟环境中自动且实时地调整该一个或多个可配置选项,而在物理环境中则可以通过手动干预来调整该一个或多个可配置选项。

(由插件模块116实施的)插件可以对应于应用程序插件、操作系统插件、固件插件或在计算环境的各层实施的其他类型的插件,这些插件向现有计算机程序添加特定特征(例如,使得能够实施定制)。例如,插件可以被配置成实施每个分离部件集群的操作特性集。应用程序插件可以被配置成实施一个或多个应用程序、其配置和其部件的操作特性集。操作系统插件可以被配置成实施操作系统、其配置和其部件的操作特性集。固件插件可以被配置成实施由所讨论的固件来管理的各个系统的操作特性集,如引导程序配置、分区、一致性域、以及配置中包括的设备及其操作特性。结构插件可以被配置成实施拓扑的操作特性集、交换机、路由器、以及各个交换机的操作特性。

在一些示例中,在接收到触发通知时,商用交换机110被配置成确定例如以自底向上的格式(例如,从结构到资源到应用程序或其他实施格式)实施的分离部件集群。例如,商用交换机110可以访问多个策略管理器,其中,每个策略管理器对应于系统的不同方面。策略管理器可以对应于例如结构层、部件层、系统层和应用程序层。

在一些示例中,管理器和插件可以被组织成层次结构。例如,管理器可以包含策略(例如,计算机实施的指令和规则),并且插件可以实施由系统执行动作的机制。在一些示例中,插件可以调出警报和信息,并且管理器可以发出命令作为响应。

策略管理器可以向商用交换机110提供包括一个或多个命令的响应。作为说明性示例,该响应包括对流量变化的警报,该警报可以保证对当前经配置交换机系统140配置的改变,但是该响应也可以包括如故障、感知到的安全攻击等的事件。

商用交换机110可以比较来自策略管理器的响应,以确定策略管理器之间是否达成共识。如果达成共识,则商用交换机110可以根据该多个策略管理器的共识来识别可以启动重新配置。该重新配置可以端到端地和上下地在分离部件集群中实施。随着对分离部件集群的每次改变,当前经配置交换机系统的不同操作特性被实施以对应于新的分离部件集群。

在一些示例中,一个或多个插件可以查询策略管理器,以提供与当前经配置交换机系统140的连续评估相关联的警报,或者根据时间框架(例如,每天、每周等)提供警报。例如,警报可以由插件(例如,较低级别的实体)向同一域(例如,交换机、固件、操作系统和应用程序)或跨多个域的较高级别的设备或实体发出。这些警报可以识别一些需要在某个时间框架内采取动作的行为。因为策略管理器包含策略和其他计算机实施的规则,所以策略管理器可以最适合发出启动动作的请求。在一些示例中,商用交换机110可以基于对与经配置交换机系统相对应的工作负载的连续重新评估,将特性调整到新的平衡。

网络计算环境模块112被配置成通过选择多个预定义的当前经配置交换机系统中的一个来定义计算系统的配置,这些当前经配置交换机系统包括高性能计算(HPC)系统、低延迟大容量存储器系统、大容量存储器系统、或部署在例如云环境中的通用集群。当前经配置交换机系统的定义可以由与当前经配置交换机系统相关联的虚拟或物理分离部件来确定,这确定了当前经配置交换机系统可以多快、多有效或多准确地处理它接收到的工作负载。

在一些示例中,网络计算环境模块112可以定义与特定的经配置交换机系统的操作特性集相对应的最小值。例如,该操作特性集可以定义与当前经配置交换机系统相对应的大容量存储器部件或系统可扩展性。

在一些示例中,可以为特定的经配置交换机系统确定模板配置。模板可以定义需要满足QoSc特性的哪些值,使得商用交换机110可以调整操作特性,以对应于该经配置交换机系统的定义。这可以包括增加存储器大小、调整配置或应用程序。在一些示例中,QoSc特性的值可以定义系统的部件的性能要求。可以为配置定义性能要求(例如,允许的最大延迟、允许的最小带宽等),并且可以调整应用程序以满足性能、规模、可靠性、尾延迟或其他操作特性。在一些示例中,可以实施接口部件和功能来增加或启用运行时验证和认证。

可以为该多个预定义的经配置交换机系统中的每一个确定各种系统配置。例如,预定义的经配置交换机系统可以包括具有最小大容量存储器配置(例如,一太字节的数据)的一个计算节点、独立的单机架系统或更小的系统、多个机架和多个计算节点的集群、利用“即服务”(as a service,aaS)远程或基于云的功能调用的地理上分布的节点、分离存储器或应用程序。作为说明性示例,应用程序可以包括高性能计算(HPC)应用程序(例如,科学计算或有限元建模)、大容量存储器应用程序(例如,存储器中数据库放大或缩小,或图形处理),或云(例如,存储器中横向扩展、机器学习、深度学习或协作应用程序)。

分离部件模块114被配置成确定和调整一个或多个分离部件集群,其中,可以为经配置交换机系统定义多个分离部件集群。例如,分离部件集群可以包括存储器、处理器、网络连接、硬件、固件、系统软件、应用程序栈、或可以定义计算设备的操作特性的其他部件。

在一些示例中,分离部件模块114被配置成以特定时间间隔或在触发通知时(包括在运行时或引导时)根据当前经配置交换机系统来调整分离部件集群。例如,对于不同的配置,可以存在不同类型的插件。在其他示例中,插件可以被重新配置或针对给定配置用对应插件替换。

插件模块116被配置成实施与当前经配置交换机系统140的新配置相对应的一个或多个插件。例如,插件可以监测特定于配置的不同类型的信息,执行与所讨论的配置相关的动作、或其他动作。

计算管理器引擎118被配置成访问与所讨论的配置相对应的策略,并且能够使用插件来调用它们的执行。在一些示例中,计算管理器引擎118可以与插件模块116交互以调用插件的执行。

图2图示了根据本文描述的一个或多个示例的由模块化交换机系统在多个计算环境之间进行的切换。在该图示中,图2中的模块化交换机系统200和当前经配置交换机系统240分别对应于图1中的模块化交换机系统100和当前经配置交换机系统140。

如上所讨论的,在一些示例中,重新配置过程可以发生,其中,模块化交换机系统200被重新配置成当前经配置交换机系统240。

在步骤1,当前经配置交换机系统240经由网络连接与一个或多个其他计算系统通信,该一个或多个其他计算系统包括第一其他计算系统210A和第二其他计算系统210B。取决于当前经配置交换机系统240的配置,当前经配置交换机系统240与一个或多个其他计算系统210A之间的通信可以在设备之间传输数据。

作为说明性示例,当前经配置交换机系统240可以被配置成高性能计算(HPC)设备,因此由当前经配置交换机系统240执行的操作可以基于与HPC配置相关联的分离部件集群来高速处理从一个或多个其他计算系统210A接收到的数据(例如,在HPC配置中每秒数千万亿次计算,而在非HPC配置中每秒数十亿次计算)。当前经配置交换机系统240可以根据HPC配置的分离部件集群的操作特性(例如,对应于第一经配置交换机系统)来执行来自一个或多个其他计算系统210A的工作负载。

在步骤2,模块化交换机系统200可以监测由当前经配置交换机系统240处理的工作负载和/或接收与由当前经配置交换机系统240处理的工作负载相关联的触发通知。当工作负载超过阈值时,模块化交换机系统200可以确定(要被转换/重新配置成的)不同于活动的经配置交换机系统(其对应于第一经配置交换机系统)的第二经配置交换机系统。

第一经配置交换机系统和第二经配置交换机系统中的每一个对应于对每个经配置交换机系统的操作特性集进行定义的多个分离部件集群。模块化交换机系统220的类型被图示为第一经配置交换机系统220A、第二经配置交换机系统220B和第三经配置交换机系统220C。

图2中的第一经配置交换机系统220A可以对应于大规模HPC计算环境,但是任何经配置交换机系统在本公开的各种实施中都是可能的。例如,在HPC计算环境中,NIC可以优化消息传递接口(Message Passing Interface,MPI)或其他并行计算架构,这允许高效处理与一个或多个其他计算系统210的电子通信。在一些示例中,可以增加以太网(或其他通信协议),同时可以减少光线驱动器(photo line drive)和X点。

第二经配置交换机系统220B可以对应于大规模共享存储器计算环境,但是任何经配置交换机系统在本公开的各种实施中都是可能的。例如,在大规模共享存储器计算环境中,NIC可以优化数据运营商,这允许通过减少跨网络行程、数据过滤和/或接近数据的操纵、或经配置交换机系统的其他特性来提高性能。在一些示例中,可以减少以太网(或其他通信协议)和光线驱动器,同时可以增加X点。

第三经配置交换机系统220C可以对应于大规模云计算环境,但是任何经配置交换机系统在本公开的各种实施中都是可能的。例如,在大规模云计算环境中,可以通过启用使用所讨论的部分云的特定客户所需要的QoSc特性来调节NIC以进行云优化。与其他配置相比,这可以增加或减少此配置的光线驱动器的数量。在一些示例中,可以减少以太网(或其他通信协议)和X点,同时可以增加光线驱动器。

在步骤3,使用说明性经配置交换机系统之一来调整当前经配置交换机系统240,以对应于第二经配置交换机系统。换句话说,第一经配置交换机系统220A、第二经配置交换机系统220B或第三经配置交换机系统200C中的一个可以分别包括模块化交换机系统200可以被重新配置成的当前经配置交换机系统240。例如,如果第一经配置交换机系统220A是正在使用的当前经配置交换机系统240,则可以实施到第二经配置交换机系统220B或第三经配置交换机系统220C的切换。

在步骤4,当前经配置交换机系统240可以根据现在被实施为当前经配置交换机系统240的第二经配置交换机系统的分离部件来处理工作负载。换句话说,当前经配置交换机系统240使用当前经配置交换机系统240的新配置设置,经由网络连接与一个或多个其他计算系统(包括第一其他计算系统210A和第二其他计算系统210B)通信。

图3图示了根据本文描述的一个或多个示例的在多个计算环境之间调整分离部件集群的触发过程。例如,图2中描述的类似触发过程可以使用各种策略管理器(包括一个或多个结构管理器、资源管理器和应用程序管理器)来在图3中实施,以调整系统的不同部件的特性。模块化交换机系统200可以调整当前经配置交换机系统240的分区、集群、应用程序部件和其他特征。

如本文所讨论的,各种实施方式是可用的。例如,各种策略管理器可以在模块化交换机系统200或当前经配置交换机系统240实施。模块化交换机系统200或当前经配置交换机系统240可以在同一物理设备实施,或者在不同的物理位置实施。当在与模块化交换机系统200分开的当前经配置交换机系统240处实施各种策略管理器时,本文描述的触发过程可以向模块化交换机系统200发送通知,以在当前经配置交换机系统240处启动改变。当在模块化交换机系统200的相同物理位置在当前经配置交换机系统240处实施各种策略管理器时,模块化交换机系统200可以在没有发送触发的情况下识别本文描述的触发。在不偏离本公开的本质的情况下,各种实施方式是可用的。

在框310,应用程序管理器312可以通过指示应用程序插件316这样处理来启动应用程序314的重新配置。在一些示例中,应用程序管理器312可以通过指示资源管理器322来指示当前经配置交换机系统240的较低层(例如,操作系统(OS)324、固件327等)。这些动作可以基于由系统管理员或系统程序员提供的指定策略。例如,用户可以通过经由网络连接到策略管理器的设备的用户接口来创建和/或修改一个或多个策略。应用程序管理器312可以测量应用程序特定的度量(例如,包括延迟、错误率等的工作负载度量)。

在框320,资源管理器322可以通过指示操作系统插件326这样处理来启动系统资源(例如,处理器、存储器、存储设备等)的重新配置。在一些示例中,资源管理器322可以通过指示固件插件328这样处理来启动固件(例如,编程到当前经配置交换机系统240的只读存储器中的永久软件)的重新配置。在一些示例中,资源管理器322可以通过指示结构管理器332来指示当前经配置交换机系统240的较低层(例如,处理器、存储器、存储设备等)。这些动作可以基于系统管理员提供的指定策略。资源管理器322可以测量CPU、存储器、存储设备和网络使用和流量数据,并且可以决定何时针对特定的软件应用程序(例如,为了改善图像处理、为了改善用户体验等)来切换资源配置(例如,存储器、处理器等)。

在框330,结构管理器332可以通过指示结构插件336这样处理来启动结构(例如,结构部件334等)的重新配置)。结构管理器332可以基于系统管理员提供的指定策略来动作。结构管理器332可以测量在设备连接之间(例如,切换结构中的PFE之间)传输的数据。切换结构可以由SIB构成,这些SIB提供在跨FPC的PFE之间的互连。

在一些示例中,包括应用程序管理器312、资源管理器322或结构管理器332的一个插件可以向不同层中的插件316、326、328、336发送监测统计数据或警报。如图所示,结构插件336可以向OS插件326发送监测统计数据或警报,并且OS插件326可以向应用程序插件316发送监测统计数据或警报。

图4图示了根据本文描述的一个或多个示例的一个或多个经配置交换机系统中的扩展质量(QoSc)特性,该一个或多个经配置交换机系统可以被实施为图1的当前经配置交换机系统140或图2的当前经配置交换机系统240。例如,QoSc特性的确定可以在第一经配置交换机系统与第二经配置交换机系统之间的切换(例如,从标准规模存储器配置到大规模共享存储器配置)中使用。

在框410,通过在对应于每个系统定义的分离部件集群之间切换,触发通知可以启动将当前经配置交换机系统140从第一经配置交换机系统切换到第二经配置交换机系统。在切换过程中,QoSc特性由图1的模块化交换机系统100或图2的模块化交换机系统200动态调整。

例如,当响应于触发通知在结构层(例如,结构管理器332)调整结构部件时,结构管理器332可以指示对应的插件重新配置该层(例如,结构插件336)。在另一个示例中,结构管理器332可以经由结构插件336指示调整存储器侧加速器、存储器NVM、存储器PMEM、存储器DRAM、CPU、加速器、总线、链路、或结构层的其他部件(例如,结构部件334)。各种过程可以在当前经配置交换机系统140的每一层实施,包括由应用程序管理器312在应用程序层实施,由资源管理器322在资源层实施,或者由结构管理器332在结构层实施,如图3所示。

随着QoSc特性增加,在图1中的当前经配置交换机系统140或图2中的当前经配置交换机系统240的其他层处,在与较大QoSc相对应的其他层处动态地调整QoSc特性,使得调整经配置交换机系统的其他部件。图5中提供了每个策略管理器层的QoSc特性的说明性示例。

在图4中,作为示例,提供了与调整后的QoSc特性(例如,增加可重新配置性和可扩展性水平)相关的说明性切换过程。图5出于说明性目的提供了QoSc特性的附加示例,这些示例并不旨在限制本文的公开。如表500所示,一些QoSc特性可以包括配置时间、通常受QoSc级别变化影响的部件、有权配置该部件的用户的身份、QoSc级别的互连、与QoSc级别相关联的功率或冷却、与QoSc级别相关联的计算、以及与QoSc级别相关联的策略管理器。

在框510,可重新配置性和可扩展性选项可以是所示QoSc示例的最低级别。例如,配置时间可以出厂设置一次,并且通常可以影响机箱。配置实体可以是制造商。互连可以是一个或多个硬件设备(例如,可编程专用集成电路(ASIC)、HPE弹弓(Slingshot)互连等)。功率或冷却可以对应于与其他QoSc级别相关的最大功率和冷却选项。计算机可以对应于特定的CPU标识符。策略管理器可以对应于静态数量和容量。

在框520,可重新配置性和可扩展性选项可以处于比框510稍高的级别。例如,配置时间可以是重新排序的、可定制的,或者可以在稍后重新配置(不止一次)。通常受该级别处的变化影响的部件可以是除模块化交换机之外的任何硬件部件。配置实体可以与客户或制造商通信。互连可以是添加的桥。与该级别相关联的功率或冷却可以对应于有限的升级。计算机可以与通过许可证启用的隐藏核心或套接字相对应。策略管理器可以对应于可以通过许可证启用的隐藏管理器。

在框530,可重新配置性和可扩展性选项可以处于比框520稍高的级别。例如,当比较“配置时间”的QoSc特性时,根据框530配置系统时的QoSc特性的测量值可以大于根据框520配置系统时的QoSc特性的测量值。图5中再次提供了说明性示例。配置时间可以是引导时间或更频繁,并且可能通常影响插入式卡。配置实体可以是客户。互连可以实现协议特征。与该级别相关联的加热或冷却可以对应于接通和断开部件。计算机可以对应于从静态分配或一致性到操作环境的各种特性。策略管理器可以对应于各层,包括对操作环境的静态分配或配置文件。

在框540,可重新配置性和可扩展性选项可以处于比框530稍高的级别。例如,配置时间可以是在运行时或更频繁,并且可能通常影响能以编程方式重新配置的模块。配置实体可以对应于程序员或管理用户。互连可以是添加或移除存储器语义、添加put或get命令、或者计算机软件中的其他可配置选项。与该级别相关联的功率或冷却可以对应于部件的有限使用。计算机可以对应于各种应用程序的可重新配置的分配或一致性值。策略管理器可以对应于各种应用程序的重新配置分配或配置文件。

在框550,可重新配置性和可扩展性选项可以处于比框540稍高的级别,该框可以处于图5的图示中提供的最高级别的可重新配置性和可扩展性。配置时间可以自动对应于提供策略或触发动作,并且让代表管理员运行的部件影响操作环境、应用程序遥测、策略声明、API或其他应用程序部件。配置实体可以对应于结构或资源管理器。互连可以是基于策略或遥测的动态性能参数调节。与该级别相关联的功率或冷却对应于解决方案级别仲裁可用功率。计算可以对应于基于时间或偏好的遥测,该遥测可以驱动计算工作负载的重新分配。策略管理器可以基于策略或遥测与结构管理器实时重新配置相对应。

应注意的是,如本文所使用的术语“优化”,“最优”等可以用于意指使得或达到尽可能有效或完美的性能。然而,阅读本文件的本领域普通技术人员将认识到,并不总是能够实现完美。因此,这些术语还可以涵盖在给定的情况下做到或实现尽可能好或有效或实际的性能、或者做到或实现优于利用其他设置或参数所可以实现的性能。

图6图示了根据各种实施例的可以用于实施动态模块化和可定制的计算系统的示例计算部件。现在参考图6,计算部件600可以是例如服务器计算机、控制器、或能够处理数据的任何其他类似的计算部件。在图6的示例实施方式中,计算部件600包括硬件处理器602和机器可读存储介质604。

硬件处理器602可以是一个或多个中央处理单元(CPU)、基于半导体的微处理器、和/或适用于取得并执行存储在机器可读存储介质604中的指令的其他硬件设备。硬件处理器602可以取出、解码和执行指令(如指令606至610),以控制用于实施动态模块化和可定制的计算系统的过程或操作。作为取得并执行指令的替代或补充,硬件处理器602可以包括包含用于执行一个或多个指令的功能的电子部件的一个或多个电子电路,如现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他电子电路。

如机器可读存储介质604等机器可读存储介质可以是包含或存储可执行指令的任何电子、磁性、光学或其他物理存储设备。因此,机器可读存储介质604可以是例如随机存取存储器(RAM)、非易失性RAM(NVRAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。在一些实施例中,机器可读存储介质604可以是非暂态存储介质,其中,术语“非暂态(non-transitory)”并不涵盖暂态传播信号。如下文详细描述的,机器可读存储介质604可以用可执行指令(例如,指令606至610)进行编码。

硬件处理器602可以执行指令606来接收触发通知,以改变对应于多个分离部件集群的当前经配置交换机系统。例如,图1所示的模块化交换机系统100或图2所示的模块化交换机系统200可以实施与图1中的当前经配置交换机系统140或图2中的当前经配置交换机系统240相对应的指令。

在一些示例中,触发通知与当前经配置交换机系统所处理的工作负载相关联,当前经配置交换机系统与多个预定义的经配置交换机系统中的第一经配置交换机系统相关联,并且多个预定义的经配置交换机系统的多个分离部件集群对应于操作特性集。该多个分离部件集群可以包括:策略管理器;一个或多个可配置选项,该一个或多个可配置选项根据该操作特性集中的每个操作特性来处理由当前经配置交换机系统接收到的工作负载;以及插件,该插件被配置成实施分离部件集群的操作特性集。

硬件处理器602可以执行指令608来确定对第二经配置交换机系统的操作特性集进行定义的多个分离部件集群。在一些示例中,该多个预定义的经配置交换机系统中的第一经配置交换机系统与该多个预定义的经配置交换机系统中的第二经配置交换机系统不同。

硬件处理器602可以执行指令610来调整当前经配置交换机系统,以对应于第二经配置交换机系统。在一些示例中,第二经配置交换机系统使用与不同于第一经配置交换机系统的第二经配置交换机系统相关联的多个分离部件集群来处理工作负载。

在一些示例中,模块化交换机系统可以包括:用于多个预定义的经配置交换机系统的操作特性集;对应于该操作特性集中的每个操作特性的多个分离部件集群,其中,该多个分离部件集群中的每一个包括:策略管理器;一个或多个可配置选项,该一个或多个可配置选项根据该操作特性集中的每个操作特性来处理由当前经配置交换机系统接收到的工作负载;以及插件,该插件被配置成实施分离部件集群的操作特性集;商用交换机计算设备,所述商用交换机计算设备被配置成从所述多个预定义的经配置交换机系统中选择第一经配置交换机系统;处理器;以及存储器,该存储器被配置成存储指令。

在一些示例中,操作特性集将可配置选项集从处理超过延迟阈值的工作负载改变为处理超过带宽阈值的工作负载。

在一些示例中,操作特性集定义了网络接口控制器(network interfacecontroller,NIC)的不同硬件要求。

在一些示例中,策略管理器包括应用程序管理器、资源管理器或结构管理器。

在一些示例中,分离部件集群的操作特性集包括固件插件、操作系统插件或应用程序插件。

在一些示例中,触发通知在模块化交换机系统的引导时间被激活。

在一些示例中,触发通知从与模块化交换机系统通信的用户设备被动态接收。

图7描绘了可以在其中,实施本文描述的各种实施例的示例计算机系统700的框图。计算机系统700可以用于执行机器可读指令以执行本文描述的过程。在一些示例中,计算机系统700可以对应于图1的模块化交换机系统100或当前经配置交换机系统140,但是不应当局限于本文提供的部件的公开。

计算机系统700包括总线702或用于传送信息的其他通信机制、与总线702耦接以处理信息的一个或多个硬件处理器704。(多个)硬件处理器704可以是例如一个或多个通用微处理器。

计算机系统700还包括耦接到总线702以用于存储要由处理器704执行的信息和指令的主存储器706,如随机存取存储器(RAM)、缓存和/或其他动态存储设备。主存储器706还可以用于存储在执行要由处理器704执行的指令期间的临时变量或其他中间信息。这种指令当在处理器704可访问的存储介质中存储时使计算机系统700成为被定制为执行指令中指定的操作的专用机器。

计算机系统700进一步包括只读存储器(ROM)708或耦接到总线702以用于存储处理器704的静态信息和指令的其他静态存储设备。如磁盘、光盘或USB拇指驱动器(闪速驱动器)等的存储设备710被提供并耦接到总线702,以用于存储信息和指令。

计算机系统700可以经由总线702耦接到如液晶显示器(LCD)(或触摸屏)等的显示器712上,以用于向计算机用户显示信息。包括字母数字键和其他键的输入设备714耦接到总线702,以用于将信息和命令选择传送到处理器704。另一种类型的用户输入设备是如鼠标、轨迹球或光标方向键等的光标控制件716,以用于将方向信息和命令选择传送到处理器704并用于控制在显示器712上的光标移动。在一些实施例中,与光标控制件相同的方向信息和命令选择可以通过在没有光标的情况下接收触摸屏上的触摸来实施。

计算系统700可以包括用于实施GUI的用户界面模块,该GUI可以作为由(多个)计算设备执行的可执行软件代码被存储在大容量存储设备中。通过举例的方式,此模块和其他模块可以包括部件(如软件部件、面向对象的软件部件、类部件和任务部件)、进程、函数、属性、过程、子例程、程序代码段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表格、数组和变量。

通常,如本文所使用的词语“部件”、“引擎”、“系统”、“数据库”、“数据存储”等可以是指在硬件或固件中实施的逻辑,或者是指以如Java、C或C++等编程语言编写的、可能具有入口点和出口点的软件指令集。软件部件可以被编译并链接到可执行程序,被安装在动态链接库中,或者可以用如BASIC、Perl、或Python等解释性编程语言编写。将理解的是,软件部件可从其他部件或从其本身调用,和/或可以响应于检测到的事件或中断而被调用。被配置用于在计算设备上执行的软件部件可以被提供在计算机可读介质中,如致密盘、数字视频盘、闪速存储器驱动器、磁盘、或任何其他有形介质,或者可以被提供作为数字下载(并且可以以需要在执行之前安装、解压缩或解密的压缩格式或可安装格式来原始地存储)。这样的软件代码可以部分或全部地存储在执行计算设备的存储器设备上,以用于由计算设备执行。软件指令可以嵌入在如EPROM等固件中。将进一步理解的是,硬件部件可以包括如门和触发器等的连接逻辑单元,和/或可以包括如可编程门阵列或处理器等的可编程单元。

计算机系统700可以使用定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文所描述的技术,该定制的硬接线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统相结合使计算机系统700成为专用机器或者将其编程为专用机器。根据一个实施例,本文的技术由计算机系统700响应于(多个)处理器704执行主存储器706中包含的一个或多个指令的一个或多个序列而执行。这些指令可以从另一个存储介质(如存储设备710)读取到主存储器706中。主存储器706中包含的指令序列的执行使(多个)处理器704执行本文所描述的过程步骤。在替代实施例中,可以使用硬接线电路来代替软件指令或者与软件指令相结合。

如本文所使用的术语“非暂态介质(non-transitory media)”及类似术语是指存储使机器以特定方式操作的数据和/或指令的任何介质。这样的非暂态介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,如存储设备710。易失性介质包括动态存储器,如主存储器706。非暂态介质的常见形式例如包括软盘、软磁盘、硬盘、固态驱动器、磁带或者任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、闪速EPROM、NVRAM、任何其他存储器芯片或者盒、以及这些介质的联网版本。

非暂态介质不同于传输介质但可以与传输介质结合使用。传输介质参与非暂态介质之间的信息传递。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线702的导线。传输介质还可以采用声波或光波的形式,如在无线电波和红外数据通信期间生成的声波或光波。

计算机系统700还包括耦接到总线702的通信接口718。通信接口718提供耦接到一个或多个网络链路的双向数据通信,该一个或多个网络链路连接到一个或多个本地网络。例如,通信接口718可以是综合业务数字网(integrated services digital network,ISDN)卡、电缆调制解调器、卫星调制解调器或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口718可以是局域网(LAN)卡,以提供到兼容LAN(或与WAN通信的WAN部件)的数据通信连接。还可以实施无线链路。在任何这样的实施方式中,通信接口718发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。

网络链路通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路可以提供通过本地网络到主计算机或到由因特网服务提供商(ISP)操作的数据设备的连接。ISP进而通过现在通常称为“因特网”的全球分组数据通信网络来提供数据通信服务。本地网络和因特网两者都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路上和通过通信接口718的信号(其将数字数据携带到计算机系统700和从该计算机系统携带数字数据)是传输介质的示例形式。

计算机系统700可以通过(多个)网络、网络链路和通信接口718发送消息和接收数据,包括程序代码。在因特网示例中,服务器可以通过因特网、ISP、本地网络和通信接口718来传输应用程序的请求代码。

所接收的代码可以在被接收到时由处理器704执行和/或存储在存储设备710、或其他非易失性存储器中以供以后执行。

在前面章节中所描述的每个过程、方法、和算法均可以在由包括计算机硬件的一个或多个计算机系统或计算机处理器所执行的代码部件中实施并由这些代码部件全部或部分地进行自动处理。该一个或多个计算机系统或计算机处理器还可以操作以支持“云计算”环境中相关操作的进行、或者作为“软件即服务”(software as a service,SaaS)来操作。这些过程和算法可以在专用电路中部分地或全部地实施。上文所描述的各种特征和过程可以彼此独立地使用,或者可以以各种方式进行组合。不同的组合和子组合旨在落入本公开的范围内,并且在一些实施方式中可以省略某些方法框或过程框。本文描述的方法和过程也不限于任何特定的顺序,并且与这些方法和过程相关的框或状态可以以适当的其他顺序进行、或者可以并行进行、或者以某种其他方式进行。可以向所公开的示例实施例中添加框或状态或从中移除框或状态。可以将某些操作或过程的进行分发到多个计算机系统或计算机处理器之中,使其不是仅驻留在单个机器内,而是跨多个机器部署。

如本文所使用的,电路可以利用任何形式的硬件、软件或其组合来实施。例如,可以实施一个或多个处理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、逻辑部件、软件例程或其他机制以构成电路。在实施方式中,本文描述的各种电路可以被实施为分立电路,或者所描述的功能和特征可以在一个或多个电路之中部分地或全部地共享。即使可以将各种特征或功能元件单独地描述或主张为分离的电路,这些特征和功能也可以在一个或多个公共电路之间共享,并且这样的描述不应当要求或暗示需要单独的电路来实施这样的特征或功能。在使用软件来全部或部分地实施电路的情况下,这样的软件可以被实施以与能够执行关于该软件所描述的功能的计算系统或处理系统(如计算机系统700)一起操作。

如本文所使用的,术语“或”可以以包括性或者排他性的意义来解释。此外,不应将对单数形式的资源、操作或结构的描述理解为排除复数。除非另有明确陈述,或者在如所使用的上下文内另有理解,否则条件语言(除其他外,如“可以”、“可能”、“也许”或“会”一般地旨在传达某些实施例包括而其他实施例不包括某些特征、要素和/或步骤。

除非另外明确说明,否则本文档中使用的术语和短语及其变体应被解释为开放式的而不是限制性的。形容词(如“常规”、“传统”、“正常”、“标准”、“已知”和类似含义的术语)不应当被解释为将所描述的项限制为给定时间段或在给定时间可用的项,而是应当被理解为包含可能现在或将来的任何时候都可用或已知的常规、传统、正常或标准技术。在一些情况下,宽泛词语和短语(如“一个或多个”、“至少”、“但不限于”或其他相似的短语)的存在不应当被理解为意指在这些宽泛短语可能不存在的情况下意图或要求更窄的情况。

相关技术
  • 运动姿态确定方法和运动姿态确定装置
  • 一种相机姿态信息确定的方法及相关装置
  • 姿态确定方法、装置和计算机可读存储介质
  • 姿态确定方法、装置和计算机可读存储介质
  • 确定头部姿态的方法、装置、存储介质和终端设备
  • 人体全身姿态的确定方法、其确定装置以及智能鞋
  • 人体全身姿态的确定方法以及其确定装置
技术分类

06120116551100