CN115735196A - 数据面的数据栈mip分析工具 - Google Patents
数据面的数据栈mip分析工具 Download PDFInfo
- Publication number
- CN115735196A CN115735196A CN202180039100.3A CN202180039100A CN115735196A CN 115735196 A CN115735196 A CN 115735196A CN 202180039100 A CN202180039100 A CN 202180039100A CN 115735196 A CN115735196 A CN 115735196A
- Authority
- CN
- China
- Prior art keywords
- processor
- per
- user
- total number
- monte carlo
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000004088 simulation Methods 0.000 claims abstract description 46
- 238000000342 Monte Carlo simulation Methods 0.000 claims abstract description 38
- 230000006870 function Effects 0.000 claims description 56
- 238000005516 engineering process Methods 0.000 claims description 24
- 238000005192 partition Methods 0.000 claims description 9
- 239000000969 carrier Substances 0.000 claims description 8
- 101100072641 Triticum aestivum MIPS gene Proteins 0.000 claims 1
- 238000012545 processing Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 12
- 238000007726 management method Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000008676 import Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 238000011143 downstream manufacturing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
Abstract
公开了用于对用户设备(UE)的数据栈执行每秒百万指令(MIPS)分析的装置和方法。该方法包括(i)接收蒙特卡罗模拟的输入,该输入包括对一个或多个用例的要求、处理器规格和用户指定的功能;(ii)确定流量模型、针对每个用例要运行的包的数量以及蒙特卡罗模拟的种子值;(iii)基于输入和流量模型执行蒙特卡罗模拟以生成模拟结果;以及(iv)基于模拟结果确定用于数据栈的处理器核的推荐配置。
Description
相关申请的交叉引用
本申请要求2020年6月15日提交的序列号为63/039,305的美国临时专利申请的权益,其整体通过引用的方式并入本文。
技术领域
本申请涉及通信领域,并且更具体地,涉及用于辅助数据面架构设计和其它应用的分析工具。
背景技术
计算技术的快速增长正在对数据通信产生更大的需求。日益增长的需求转而又驱动通信技术的进一步增长,这通常需要给定空间内增加的资源、附加的特征和/或提高的处理能力。这种增长经常在数据栈设计中引入新的挑战。MIPS已成为用于估计处理器的原始处理能力的近似度量。传统工具通过步进标记或简单测试来执行MIPS计算。这些传统的MIPS计算工具往往过于简化,无法准确地反映实际的现场应用,使得难以探索数据栈设计选项。
发明内容
本公开提供了用于分析和设计5G(宽带蜂窝网络的第五代技术标准)数据栈的架构的装置和方法。更具体地,本公开提供了一种MIPS分析工具来实现上述目标。MIPS分析工具提供用户界面,该用户界面使用户能够指定多个用例要求(例如,通信类型、数据传输速率、要使用的载波/信道等)、处理器规格(例如,要用于处理通信的处理器的类型)和用户指定的功能。例如,用户指定的功能可以包括一个或多个要实现的5G数据栈功能和功能的详细信息(例如,执行频率)。
MIPS分析工具利用流量模型执行蒙特卡罗模拟。流量模型可以由用户确定或通过经验数据确定。流量模型可以包括多个包大小和具有多个包大小的包的对应的分配/分布信息(例如,时间百分比)。为了执行蒙特卡罗模拟,还提供针对每个用例要运行的包的总数和种子值。然后MIPS分析工具生成模拟结果。流量模型的详细示例和模拟结果可以在图5以及对应的描述中找到。基于模拟结果,可以确定用于数据栈的处理器核的推荐配置(例如,推荐多少个处理器及其类型/规格)。
本公开的一个方面是提供一种用于对用户设备(UE)的数据栈执行MIPS分析的方法和装置。例如,该方法包括:(i)接收用于蒙特卡罗模拟的输入,该输入包括针对一个或多个用例的要求、处理器规格和用户指定的功能;(ii)确定用于蒙特卡罗模拟的流量模型,该流量模型基于包大小、针对每个用例要运行的包的数量和蒙特卡罗模拟的种子值来确定;(iii)基于输入和流量模型执行蒙特卡罗模拟以生成模拟结果,以及(iv)基于模拟结果确定用于数据栈的处理器核的推荐配置。该方法可以包括:在执行蒙特卡罗模拟之前为一个或多个用例中的每一个生成指令映射(instruction mapping)或指令图(instructionmap)。指令映射可以用于计算每个分量载波每秒的指令总数,该每个分量载波每秒的指令总数可以用于蒙特卡罗模拟。可以在下面详细讨论的等式A和B中找到每个分量载波每秒的指令总数的示例。
在一些实施例中,本方法可以由其上存储有处理器指令的有形的非暂时性计算机可读介质来实现,该处理器指令在由一个或多个处理器执行时,使一个或多个处理器执行本文描述的方法的一个或多个方面/特征。
附图说明
为了更清楚地描述本公开的实现方式中的技术方案,以下简要描述附图。附图仅示出了本公开的一些方面或实现方式,本领域普通技术人员在不付出创造性劳动的情况下仍可以从这些附图中得出其他附图。
图1是根据本公开的一个或多个实现方式的无线通信系统的示意图。
图2是示出根据本公开的一个或多个实现方式的网络架构的元素的示意图。
图3是示出根据本公开的一个或多个实现方式的MIPS分析工具的示意图。
图4是示出根据本公开的一个或多个实现方式的MIPS分析工具的组件的过程的流程图。
图5是示出根据本公开的一个或多个实现方式的显示信息的用户界面的示意图。
图6是示出根据本公开的一个或多个实现方式的用于数据栈的处理器核的推荐配置的示意图。
图7是示出根据本公开的一个或多个实现方式的方法的流程图。
图8是根据本公开的一个或多个实现方式的终端设备的示意性框图。
具体实施方式
通信环境
图1示出了用于实现该层2数据栈方案的无线通信系统100。如图1所示,无线通信系统100可以包括网络设备101。网络设备110的示例包括基站收发台(BTS)、节点B(NodeB,NB)、演进NodeB(eNB或eNodeB)、下一代NodeB(gNB或gNodeB)、无线保真(Wi-Fi)接入点(AP)等。在一些实施例中,网络设备110可以包括中继站、接入点、车载设备、可穿戴设备等。网络设备110可以包括用于通信网络的无线连接设备,该通信网络例如为:全球移动通信系统(GSM)网络、码分多址(CDMA)网络、宽带CDMA(WCDMA)网络、LTE网络、云无线接入网络(CRAN)、基于电气和电子工程师协会(IEEE)802.11的网络(例如,Wi-Fi网络)、物联网(IoT)网络、设备到设备(D2D)网络、下一代网络(例如,5G网络)、未来演进的公共陆地移动网络(PLMN)等。5G系统或网络可以称为新无线(NR)系统或网络。
如图1所示,无线通信系统100还包括终端设备103。终端设备103可以是被配置为促进无线通信的终端用户设备。终端设备103可以被配置为根据一个或多个对应的通信协议/标准无线连接到网络设备101(例如,经由无线信道105)。终端设备103可以是移动的或固定的。终端设备103可以是用户设备(UE)、接入终端、用户单元、用户站、移动站点、移动站、远程站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备103的示例包括调制解调器、蜂窝电话、智能电话、无绳电话、会话启动协议(SIP)电话、无线本地环路(WLL)站、个人数字助理(PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其他处理设备、车载设备、可穿戴设备、物联网设备、未来5G网络中的终端设备、未来演进的PLMN中的终端设备等。
为了说明的目的,图1仅示出了无线通信系统100中的一个网络设备101和一个终端设备103。然而,应当理解,在一些情况下,无线通信系统100可以包括附加/其他设备,例如,网络设备101和/或终端设备103的附加实例、网络控制器、移动性管理实体/设备等。
无线通信架构
电信架构通常包括三个基本组件,即数据面(DP)、控制面(CP)和管理面(MP)。控制面和管理面服务于数据面。数据面承载用户流量,并且可以命名为用户面、转发面、载波面或承载面。网络系统的管理面对网络堆栈的所有层和系统的其他部分进行配置、监测和提供管理、监测和配置服务。控制面控制路由任务,这些路由任务确定使用哪个路径来发送包或帧。例如,控制面填充路由表、网络拓扑和转发表以使能数据面功能。
图2是示出根据本公开的一个或多个实现方式的网络架构200的元素的示意图。该网络架构用于5G无线系统或设备的无线通信。例如,5G无线系统或设备可以是诸如调制解调器等用户设备(UE)。如图所示,网络架构200包括控制面201和数据面203。控制面201可以由UE的主处理器实现。数据面203可以由UE的主处理器、针对数据面203的微控制器以及其他合适的硬件来实现。
在一些实施例中,控制面201处理诸如非接入层(NAS)功能和无线资源控制(RRC)功能等功能。NAS功能处理诸如移动性管理、会话管理、安全性管理和系统选择等网络层控制。RRC功能处理无线资源分配和配置、无线承载(和逻辑信道)的无线信道控制以及安全性(例如,加密、完整性配置等)。
数据面203被配置为处理层2(L2)和层3/层4(L3/L4)功能。L2功能涉及用于包数据处理的3GPP协议。图2所示,数据面203包括L2协议以及L3/L4协议。L2协议包括媒体访问控制(MAC)层、无线链路控制(RLC)层、分组数据汇聚协议(PDCP)层和服务数据适配协议(SDAP)层。L3/L4协议包括互联网协议(IP)包。这些层与应用(AP)或主机层22和物理(PHY)层24对接,以(i)处理数据包,(ii)解码/编码包的报头,(iii)执行无线链路错误恢复和重传方案,以及(iv)执行重新排序、分段和重组。
在图2所示的图示实施例中,数据面203可以具有部署用于处理数据面(DP)处理器中的DL和UL协议层的下行链路(DL)核203DL和上行链路(UL)核203UL。然而,在其他实施例中,可以存在多于两个的用于处理数据栈功能的处理核。例如,对于5G及以后的通信,不断增长的数据处理需求可能要求更多的处理核以有效解决这个问题。这些处理核可以实现为(例如,UE的控制面201的)主处理器、(例如,数据面203的;μC的)微控制器、数据面硬件(DPHW)、硬件加速器、上述的组合等。
确定如何实现核(即,控制面201和数据面203的架构设计)的关键方面包括确定网络架构200的MIPS处理需求。一旦确定了MIPS处理需求,就可以确定和/或设计处理核的详情(例如,处理器类型、特性、处理器核的数量等)。本公开中提供的MIPS分析工具能够有效且高效地解决上述需求。
MIPS分析工具
图3是示出根据本公开的一个或多个实现方式的MIPS分析工具300的示意图。如图3所示,MIPS分析工具300包括输入模块31(可以经由用户界面视觉呈现给用户)、模拟模块33和推荐模块55。输入模块31被配置为接收输入信息(或输入),该输入信息(或输入)是关于要模拟哪些情况(或“用例”)或场景。模拟模块33被配置为基于输入信息模拟数据处理以生成模拟结果。推荐模块35被配置为提供关于用于数据栈架构设计的处理核的配置的推荐。
输入模块31
输入模块31被配置为从用户接收输入信息以指定多个信息集,包括:用例要求311(例如,对于一个或多个用例的用例要求)、主处理器规格313、微控制器规格315和/或用户功能/执行任务317。
在一些实施例中,用例要求311包括用户指定的性能要求,例如,无线接入技术(RAT)类型(例如,5G或长期演进(LTE)通信)、最大数据速率、子载波间隔(SCS)、分量载波(CC)的数量、逻辑信道(LC)的数量和/或其他合适的要求。SCS确定时隙持续时间并直接影响MIPS计算。最大数据速率指示用例可以支持的最大吞吐率。
在一些实施例中,用例要求311还可以包括典型的用例。典型的用例的示例包括:(1)“仅5G sub6(最大高吞吐量)”(“5G sub6”是指使用低于6GHz频谱的5G部署);(2)“5Gsub6(低时延)”;(3)“5G sub6+LTE”;(4)“仅5G mmW(最大高吞吐量)”(“mmW”指“毫米波”);(5)“仅5G mmW(低时延)”;以及(6)“5GmmW+LTE”。
主处理器规格313包括将在用例中使用的一个或多个主处理器的规格和能力。例如,主处理器规格313可以包括(1)时钟速率;(2)每指令周期(CPI)(本地),时间百分比;(3)CPI(外部),时间百分比;(4)处理器负载阈值百分比。时钟速率可以以“MHz”或“每秒兆周期”为单位。时钟速率指定处理器支持的“每秒周期数”。例如,具有更高时钟速率的处理器可以支持更大的每秒周期数,但代价是更高的功耗。CPI指定每条指令所需的周期数。例如,在待处理的数据在本地存储器中的情况下,所需的周期数少于待处理的数据在远程/外部位置处的情况。因此,本地数据处理的时间百分比(即“CPI(本地)时间百分比”)是计算数据栈处理所需的总周期数的重要因素。处理器负载阈值允许用户确定处理器或处理核的计算能力的使用上限。在一些实施例中,处理器负载阈值的范围可以为20-70%。例如,35%处理器负载阈值表示如果建议的处理导致处理器负载超过35%,则可能需要附加的处理器或处理核。
微控制器规格315使用户能够指定要用于数据处理的微控制器(μC)或辅处理器的特性。微控制器规格315可以类似于主处理器规格313。换句话说,微控制器规格315还可以包括时钟速率、CPI(本地)(时间%)、CPI(外部)(时间%)和处理器负载阈值。然而,在一些实施例中,微控制器的时钟速率通常低于主处理器的时钟速率。微控制器的CPI通常小于主处理器的CPI,使得微控制器可以具有快速、确定性的硬件控制(例如,对于图2所示的数据面硬件DPHW)。
用户功能317可以包括要实现的数据面功能和要执行的任务。MIPS分析工具300还允许用户指定要使用哪个(哪些)处理器来实现用户功能。例如,用户可以指定(i)功能A将由主处理器中的软件实现,(ii)功能B将由微控制器或数据面硬件执行,以及(iii)功能C将由数据面硬件执行。用户功能317还可以指示功能的名称,功能是下行或解开链接(unlink);用于实现功能的指令数,以及执行功能的频率(例如,每个包、每个符号、每个时隙、每个逻辑信道一次,或异步执行)。
模拟模块33
模拟模块33对DL包和UL包两者执行蒙特卡罗模拟。为了执行蒙特卡罗模拟,模拟模块33包括流量模型输入子模块331以建立流量模型。流量模型为要运行的蒙特卡罗模拟提供参数和初始值。在一些实施例中,流量模型包括用户指定的模拟参数,例如,包大小(例如,100、200、500、600、800、1000、1200、1500字节等)和对应的时间百分比(10%、5%、5%、30%、2%、3%、5%、40%等),每个用例的包的总数(例如,10000000个包)和用于模拟的种子值(例如,12345)。流量模型的示例可以在图5(组件501)中找到。流量模型输入子模块331还设置(1)针对每个用例要运行的包的数量和(2)蒙特卡罗模拟的种子值(例如,通过用户输入或经验数据)。
模拟模块33包括信息导入子模块333,该信息导入子模块333被配置为从输入模块31导入用户输入信息。一旦设置了流量模型并导入了用户输入信息,模拟模块333就可以运行模拟并计算每个用例的总MIPS和每秒周期数(对于DL和UL两者)。
模拟模块33包括指令映射子模块335,该指令映射子模块335被配置为为每个用例和流量模型中指定的每个包大小生成指令映射。生成的指令映射包括要模拟的用户功能。
对于该指令映射中的每个用户功能,计算每CC每秒的指令总数(I)。数字“I”与(i)用户功能的指令数以及(ii)每CC的一个时隙中的执行次数有关,该执行次数可以基于诸如最大数据速率、包大小、时隙持续时间和执行频率(例如,同步执行(例如,每个包、每个符号、每个时隙、每个LC一次)或异步执行等)等因素来确定。
在一些实施例中,每CC每秒的指令总数(I)可以基于下面的等式(A)来计算。
I=(A*R)/(S*N)等式(A)
在等式(A)中,“A”表示用户指定的功能的指令数。“R”是指最大数据速率。“S”是包大小。“N”表示分量载波的总数。参数“A”、“R”、“S”和“N”可以从用户输入信息和流量模型中获得或导出。等式(A)用于在“每个包”级别执行的用户功能。
在一些实施例中,每CC每秒的指令总数(I)可以基于下面的等式(B)来计算。
I=(A*P)/(T)等式(B)
在等式(B)中,“A”表示用户指定的功能的指令数。“P”是指每个时隙、每个分量载波的媒体访问控制的子协议数据单元(MacSubPDU)的数量。“T”是时隙持续时间。参数“A”、“P”和“T”可以从用户输入信息和流量模型中获得或导出。等式(B)用于在“每个时隙”级别执行的用户功能。
模拟模块33包括MIPS计算子模块337,该MIPS计算子模块337被配置为执行蒙特卡罗模拟。在为各种包大小的每个用例创建指令映射之后,MIPS计算子模块337开始基于指令映射和流量模型计算每个用例的MIPS。
在一些实施例中,MIPS计算子模块337可以在指定时间百分比的包大小“S”的附近范围内随机改变包大小。因此,可以为时隙随机生成包,并且MIPS计算子模块337可以获得每个时隙的MIPS的模拟结果。
在一些实施例中,在针对每个用例的每次模拟运行中,MIPS计算子模块337可以基于导入的用户输入信息(例如,由信息导入子模块333)和流量模型(例如,由流量输入子模块331)随机生成多个包。
生成的包用于为每个时隙和每秒组成每个载波分量的媒体访问控制(MAC)协议数据单元(每个CC的MAC PDU)。然后MIPS计算子模块337可以计算每个用例的处理负载(例如,以MIPS和Mcps表示),以便为所有用例生成模拟结果。模拟结果的示例可以在图5(组件505)中找到。
推荐模块35
基于所有用例的模拟结果,推荐模块35可以提供关于用于数据栈架构设计的处理核的配置的推荐。例如,基于每种情况的模拟出的MIPS和Mcps,推荐模块35能够提供针对每种情况要使用多少处理器和要使用哪种类型的处理器的推荐。
在图3所示的实施例中,推荐模块35可以提供推荐的概要351。根据概要351,建议对于模拟的用例具有5个“数据面主处理器核”(3个用于下行处理,2个用于上行处理)和6个“数据面微控制器核”(3个用于下行处理,2个用于上行处理)。
通过这种布置,MIPS分析工具300使用户能够有效且高效地设计5G UE数据栈的架构,以适应具有不同用户功能的各种产品的需求。此外,MIPS分析工具300允许用户迭代地、方便地且准确地探索架构设计选项,并定制他们的架构设计以实现期望的性能。
图4是示出根据本公开的一个或多个实现方式的MIPS分析工具400的组件的过程的流程图。分析工具400可以包括输入组件41、模拟组件43和推荐组件45。在一些实施例中,MIPS分析工具400的组件41、43和45可以实现为设备、芯片、存储在存储设备中的指令和/或其他合适的实现方式。
在步骤411处,输入组件41从用户接收第一输入。第一输入包括用例要求,例如,“RAT类型”、“最大数据速率”、“SCS”、“CC的数量”和/或“LC数量”。在步骤412处,输入组件41确定是否输入了所有要模拟的用例。如果是否定的,则过程返回到步骤411。如果是肯定的,则过程进行到步骤413,在步骤413处,输入组件41从用户接收第二输入。第二输入包括要模拟的一个或多个主处理器的主处理器规格。第二输入可以包括“时钟”、“CPI(本地)”、“CPI(外部)”、“处理器负载阈值(%)”等。
在步骤414处,输入组件41从用户接收第三输入。第三输入包括要模拟的一个或多个微控制器的微控制器规格。与第二输入类似,第三输入也可以包括“时钟”、“CPI(本地)”、“CPI(外部)”、“处理器负载阈值(%)”等。
在步骤415处,输入组件41从用户接收第四输入。第四输入包括与要模拟的用户功能相关的信息,例如,“功能名称”、“DL或UL”、“部署”(例如,由主处理器中的软件、微控制器或数据面硬件实现)、“指令数”、“执行频率”等。
在步骤416处,输入组件41确定是否输入了所有要模拟的用户功能。如果是否定的,则过程返回到步骤415。如果是肯定的,则输入组件41将接收到的输入导出或发送到模拟组件43以进行进一步处理。
在步骤431处,模拟组件43开始建立流量模型作为蒙特卡罗模拟过程的输入。流量模型包括针对每个用例要运行的包大小值(字节)和对应的时间百分比值。例如,包大小值可以是50、100、200、500、600、800、100、1200、1500、2500字节(即,10种类型的包大小值),并且对于每种类型的包大小,对应的时间百分比值可以是10%(即,总共100%)。
模拟组件43还可以设置要模拟的包的总数。在一些实施例中,要模拟的包的总数的范围可以为从10,000到1,000,000,000。模拟组件43还可以设置蒙特卡罗模拟的种子值。种子值是蒙特卡罗模拟生成的伪随机数序列的初始值或起点。在种子值相同的情况下,生成相同的伪随机数序列。
在一些实施例中,流量模型、包的总数和种子值可以由用户确定。然而,在一些实施例中,流量模型、包的总数和种子值是模拟组件43中的预设值。这些预设值可以基于经验研究和分析来确定。
在步骤432处,模拟组件43计算每CC每秒的指令总数(I),然后为每个用例运行蒙特卡罗模拟。模拟的结果可以总结为下面的表1,如图4所示的表。
表1
“每CC的总MIPS”可以记为“M”。“每CC的总Mcps”可以记为“C”,“C”可以根据等式“C=M*CPI”来计算。“CPI”是指“每条指令的周期数”。“CC总数”可以记为“N”。因此,“总MIPS”(MT)等于“M*N”,“TotalMcps”(CT)等于“C*N”。
“所需核的总数”可以设置为“X”。因此,“每个核的总Mcps”(Cx)可以为“CT/X”。“处理器负载百分比(每核)”(PL)可以通过等式“PL=(Cx/Clock)×100%”确定,其中,“Clock”是以MHz为单位的时钟值。
在步骤451处,基于所有用例的模拟结果,推荐组件45可以生成要在数据栈设计中使用的处理器的数量和类型的推荐。
图5是示出根据本公开的一个或多个实现方式的显示信息的用户界面500的示意图。在部分501中,可以显示与蒙特卡罗模拟的输入相关联的信息。这些输入包括“流量模型”、“包的总数”和“种子值”。
在部分503中,可以显示与用户功能相关联的信息。如图所示,列出了功能1-17,每个功能都有“指令数”、“执行频率”和“部署”的详细信息。注意,“部署”信息指示用户功能将由软件SW(例如,由主处理器实现)、微控制器(μC)或数据面硬件(DPHW)来执行。在一些实施例中,一些用户功能可以由SW、μC和/或HW的组合来实现。
在部分504a、504b和504c中,显示了三个用例1、2和3。如图所示,可以显示诸如“每时隙(每CC)的包数”、“每时隙(每CC)的指令”和“每秒(每CC)的指令”等值以供用户快速参考。
在部分505中,用例的模拟结果汇总在表中。在示出的实施例中,这些表与上面讨论的表1的格式相同。然而,在其他实施例中,模拟结果可以以诸如图表、图等其他合适的方式呈现。
图6是示出根据本公开的一个或多个实现方式的用于数据栈的处理器核的推荐配置600的示意图。推荐配置600建议具有五个主处理核601的数据栈设计,这五个主处理核601包括DL核103和UL核1和2。主处理核601可以由(例如,UE的)主处理器中的软件实现。推荐配置600包括对下行数据面硬件603的建议,该下行数据面硬件603包括具有三个L2微控制器的L2/L3/L4硬件。类似地,推荐配置600还包括对上行数据面硬件605的建议,该上行数据面硬件605包括具有三个L2微控制器的L2/L3/L4硬件。在示出的实施例中,推荐五个数据面主处理核和六个微控制器来实现模拟的用户功能。推荐配置600可以根据不同的用户功能而变化。
图7是示出根据本公开的一个或多个实现方式的方法700的流程图。方法700用于对用户设备(UE)的数据栈执行每秒百万指令(MIPS)分析。在框701处,方法700包括接收蒙特卡罗模拟的输入,该输入包括针对一个或多个用例的要求、处理器规格和用户指定的功能。
在一些实施例中,针对一个或多个用例的要求可以包括无线接入技术(RAT)的类型、最大数据速率(MDR)、子载波间隔(SCS)、分量载波(CC)的数量以及/或逻辑信道(LC)的数量。
在一些实施例中,处理器规格可以包括要用于一个或多个用例的主处理器的数量和微控制器的数量。处理器规格还可以包括时钟速率、本地每指令周期数(CPI)、外部CPI和/或处理器负载阈值。处理器规格可以包括UE的主处理器、微控制器和/或数据面硬件的规格。
在一些实施例中,用户指定的功能可以包括指示以下项的信息:功能的名称、要针对该功能执行的指令数、要执行的指令的执行频率,和/或指示要执行的指令是下行链路(DL)或上行链路(UL)的信息。
在一些实施例中,用户指定的功能可以是可以由多于两个的处理单元(SW、μC和DPHW)实现的功能。例如,用户指定的功能可以是要部署在数据面主处理器上的主处理器功能分区、要部署在数据面微控制器上的微控制器功能分区和/或要部署在数据面硬件上的数据面硬件功能分区。
在框703处,方法700包括确定流量模型、针对每个用例要运行的包的数量以及蒙特卡罗模拟的种子值。流量模型可以基于多个包大小和对应于多个包大小的分布(例如,时间百分比)来确定。针对每个用例要运行的包的数量是要模拟的总包的很大一部分。种子值是蒙特卡罗模拟的初始值。
在框705处,方法700包括基于输入和流量模型执行蒙特卡罗模拟以生成模拟结果。在一些实施例中,执行蒙特卡罗模拟,达到针对每个用例要运行的包的数量。
在框707处,方法700包括基于模拟结果确定用于数据栈的处理器核的推荐配置。在一些实施例中,方法700还可以包括基于模拟结果确定每分量载波的总MIPS(M)。基于每个分量载波的总MIPS,方法700还可以确定每秒总周期数(C)、总MIPS数(MT)和总Mcps数(CT)。
在一些实施例中,处理器核的推荐配置可以包括要用于上行数据处理和下行数据处理两者的处理单元(SW、μC和DPHW)的类型和数量。在一些实施例中,方法700还可以用于模拟诸如存储器或存储设备等其他类型设备的硬件能力。
示例设备和系统
图8是根据本公开的一个或多个实现方式的终端设备800(例如,图1的终端设备103的示例)的示意性框图。如图8所示,终端设备800包括处理单元610(例如,DSP、CPU、GPU等)和存储器620。处理单元810可以被配置为执行与终端设备800对应的指令。
应理解,本技术的实现方式中的处理器可以是集成电路芯片并具有信号处理能力。在实现过程中,上述方法中的步骤可以通过处理器中的硬件集成逻辑电路或者软件形式的指令来实现。处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术的实现方式中公开的方法、步骤及逻辑框图。通用处理器可以是微处理器,或者该处理器也可以是任何常规处理器等。结合本技术的实现方式所公开的方法中的步骤可以由实现为硬件的解码处理器来直接执行或完成,或通过使用解码处理器中的硬件和软件模块组合来执行或完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器或本领域中的其他成熟的存储介质处。该存储介质位于存储器处,处理器读取存储器中的信息,结合其硬件完成上述方法中的步骤。
可以理解,本技术的实现方式中的存储器可以是易失性存储器或非易失性存储器,或可以包括易失性储器和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)并用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的系统和方法中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
所公开技术的示例的上述详细描述并非旨在为穷举的或将所公开技术限制为以上所公开的精确形式。尽管上面出于说明性目的描述了所公开技术的具体示例,但是如相关领域的技术人员将认识到的,在所描述的技术的范围内可以进行各种等效修改。例如,虽然过程或框以给定的顺序呈现,但替代实现方式可以以不同顺序执行具有步骤的例程,或采用具有不同顺序的框的系统,并且可以删除、移动、添加、细分、组合和/或修改一些过程或框,以提供替代实现方式或子组合。这些过程或框中的每一个可以以各种不同的方式来实现。此外,虽然过程或框有时被示出为串行执行,但这些过程或框可以替代地并行执行或实现,或者可以在不同时间执行。此外,本文提及的任何特定数字仅是示例;替代实现方式可以采用不同的值或范围。
在具体实施方式章节中,阐述了许多具体细节以提供对当前描述的技术的透彻理解。在其他实现方式中,可以在没有这些具体细节的情况下实践此处介绍的技术。在其他情况下,没有详细描述诸如特定功能或例程等公知的特征,以避免不必要地混淆本公开。在描述中对“实现方式/实施例”、“一个实现方式/实施例”等的引用意味着所描述的特定特征、结构、材料或特性被包括在所描述技术的至少一个实现方式中。因此,本说明书中出现的这种短语不一定都指相同的实现方式/实施例。另一方面,这种引用也不一定是相互排斥的。此外,特定特征、结构、材料或特性可以以任何合适的方式组合在一个或多个实现方式/实施例中。应当理解,图中示出的各种实现方式仅仅是说明性的表示,并且不一定按比例绘制。
为了清楚起见,本文未阐述描述公知且通常与通信系统和子系统相关联但可能不必要地模糊所公开技术的一些重要方面的结构或过程的若干细节。此外,尽管以下公开内容阐述了本公开的不同方面的若干实现方式,但若干其他实现方式可以具有与本部分中描述的那些不同的配置或不同的组件。因此,所公开的技术可以具有其他实现方式,这些其他实现方式具有附加元件或不具有以下描述的若干元件。
本文描述的技术的许多实现方式或方面可以采取计算机或处理器可执行指令的形式,包括由可编程计算机或处理器执行的例程。相关领域的技术人员将理解,所描述的技术可以在除了以下所示和描述的那些之外的计算机或处理器系统上实践。本文描述的技术可以在专用计算机或数据处理器中实现,该专用计算机或数据处理器被具体编程、配置或构造为执行下述计算机可执行指令中的一个或多个。因此,本文中通常使用的术语“计算机”和“处理器”是指任何数据处理器。这些计算机和处理器处理的信息可以在任何合适的显示介质处呈现。用于执行计算机或处理器可执行任务的指令可以存储在任何合适的计算机可读介质中或计算机可读介质上,包括硬件、固件或硬件和固件的组合。指令可以包含在任何合适的存储器设备中,包括例如闪存驱动器和/或其他合适的介质。
术语“耦接”和“连接”以及它们的派生词在本文中可以用来描述组件之间的结构关系。应该理解,这些术语不旨在作为彼此的同义词。相反,在特定实现方式中,“连接”可以用于指示两个或更多个元件彼此直接接触。除非上下文中另有明确说明,否则术语“耦接”可以用于表示两个或更多个元件直接或间接(在它们之间具有其他插入元件)相互接触,或者两个或更多个元件相互协作或交互(例如,在因果关系中,例如,用于信号传输/接收或用于功能调用),或两者兼而有之。本说明书中的术语“和/或”仅仅是用于描述关联对象的关联关系,并且表示可以存在三种关系,例如,A和/或B可以表示以下三种情况:A单独存在,A和B同时存在,B单独存在。
根据以具体实施方式章节,可以对所公开的技术进行这些和其他改变。尽管具体实施方式章节描述了所公开技术的某些示例以及所设想的最佳模式,但所公开的技术可以以多种方式实践,无论以上描述在文本中出现的多么详细。该系统的细节在其具体实现方式中可能有很大不同,但仍被本文所公开的技术所涵盖。如上所述,在描述所公开技术的某些特征或方面时使用的特定术语不应被理解为暗示该术语在本文中被重新定义为限于与该术语相关联的所公开技术的任何特定特性、特征或方面。因此,本发明不受限制,除非由所附权利要求限定。一般而言,以下权利要求中使用的术语不应被解释为将所公开的技术限制于说明书中公开的具体示例,除非上述具体实施方式章节明确定义了这些术语。
本领域普通技术人员可以意识到,结合本说明书中所公开的实现方式中描述的示例,单元和算法步骤可以以电子硬件、或者计算机软件和电子硬件的组合来实现。这些功能是通过硬件还是通过软件来执行取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
尽管本发明的某些方面在下面以某些权利要求的形式呈现,但申请人能以任何数量的权利要求形式考虑本发明的各个方面。因此,申请人保留在提交本申请后在本申请或继续申请中寻求附加权利要求的权利以寻求这种附加的权利要求形式。
Claims (20)
1.一种用于对用户设备UE的数据栈执行性能分析的方法,所述方法包括:
接收蒙特卡罗模拟的输入,所述输入包括对一个或多个用例的要求、处理器规格和用户指定的功能;
确定流量模型、针对每个用例要运行的包的数量以及所述蒙特卡罗模拟的种子值,其中,所述流量模型包括多个包大小和对应于所述多个包大小的分布;
基于所述输入、所述流量模型、针对每个用例要运行的包的数量和所述种子值执行所述蒙特卡罗模拟以生成模拟结果;以及
基于所述模拟结果确定用于所述数据栈的处理器核的推荐配置。
2.根据权利要求1所述的方法,还包括:
在执行所述蒙特卡罗模拟之前,为所述一个或多个用例中的每一个生成指令映射;
其中,所述指令映射包括每分量载波每秒的指令总数I。
3.根据权利要求2所述的方法,其中,所述每分量载波每秒的指令总数I基于以下项计算:
用户指定的功能的指令数A;
最大数据速率R;
包大小S;以及
分量载波的总数N。
4.根据权利要求3所述的方法,其中,所述每分量载波每秒的指令总数I基于以下等式计算:
I=(A*R)/(S*N)。
5.根据权利要求2所述的方法,其中,所述每分量载波每秒的指令总数I基于以下项计算:
用户指定的功能的指令数A;
每分量载波每时隙的媒体访问控制子协议数据单元MacSubPDU的数量P;以及
时隙持续时间T。
6.根据权利要求5所述的方法,其中,所述每分量载波每秒的指令总数I基于以下等式计算:
I=(A*P)/(T)。
7.根据权利要求1所述的方法,还包括:
基于所述输入和所述流量模型执行所述蒙特卡罗模拟,直到达到针对每个用例要运行的包的数量为止。
8.根据权利要求1所述的方法,还包括:
基于所述模拟结果确定每分量载波的总MIPS;以及
基于所述每分量载波的总MIPS,确定每秒的总周期数、MIPS的总数和每秒百万周期Mcps的总数。
9.根据权利要求8所述的方法,还包括:
基于所述每秒的总周期数、所述MIPS的总数和所述Mcps的总数确定用于所述数据栈的处理器核的推荐配置。
10.根据权利要求1所述的方法,其中,对所述一个或多个用例的要求包括无线接入技术RAT的类型、最大数据速率MDR、子载波间隔SCS、分量载波CC的数量和/或逻辑信道LC的数量。
11.根据权利要求1所述的方法,其中,所述处理器规格包括要用于所述一个或多个用例的主处理器的数量和微控制器的数量。
12.根据权利要求1所述的方法,其中,所述处理器规格包括:
时钟速率;
本地每条指令周期数CPI;
外部CPI;和/或
处理器负载阈值。
13.根据权利要求1所述的方法,其中,所述用户指定的功能包括指示以下一项或多项的信息:
要执行的指令数;
要执行的指令的执行频率;和/或
指示要执行的指令是下行链路DL或上行链路UL的信息。
14.根据权利要求1所述的方法,其中,所述用户指定的功能包括:
要部署在数据面主处理器上的主处理器功能分区;
要部署在数据面微控制器上的微控制器功能分区;和/或
要部署在数据面硬件上的数据面硬件DPHW功能分区。
15.一种用于对用户设备UE的数据栈执行每秒百万指令MIPS分析的装置,所述装置包括:
存储器;
处理器,耦接到所述存储器并被配置为:
接收蒙特卡罗模拟的输入,所述输入包括对一个或多个用例的要求、处理器规格和用户指定的功能;
确定针对每个用例要运行的包的数量以及所述蒙特卡罗模拟的种子值,其中,所述流量模型包括多个包大小和对应于所述多个包大小的分布;
基于所述输入、所述流量模型、针对每个用例要运行的包的数量和所述种子值执行所述蒙特卡罗模拟以生成模拟结果;以及
基于所述模拟结果确定用于所述数据栈的处理器核的推荐配置。
16.根据权利要求15所述的装置,其中:
对所述一个或多个用例的要求包括无线接入技术RAT的类型、最大数据速率MDR、子载波间隔SCS、分量载波CC的数量和/或逻辑信道LC的数量;
所述处理器规格包括要用于所述一个或多个用例的主处理器的数量和微控制器的数量;以及
所述用户指定的功能包括(i)要部署在数据面主处理器上的主处理器功能分区,(ii)要部署在数据面微控制器上的微控制器功能分区,和/或(iii)要部署在数据面硬件上的数据面硬件DPHW功能分区。
17.根据权利要求15所述的装置,其中,所述处理器还被配置为:
在执行所述蒙特卡罗模拟之前,为所述一个或多个用例中的每一个生成指令映射;
其中,所述指令映射包括每分量载波每秒的指令总数I。
18.根据权利要求17所述的装置,其中,所述每分量载波每秒的指令总数I基于以下项计算:
用户指定的功能的指令数A;
最大数据速率R;
包大小S;以及
分量载波的总数N,以及
其中,所述每分量载波每秒的指令总数I基于以下等式计算:
I=(A*R)/(S*N)。
19.根据权利要求17所述的装置,其中,所述每分量载波每秒的指令总数I基于以下项计算:
用户指定的功能的指令数A;
每分量载波每时隙的媒体访问控制子协议数据单元MacSubPDU的数量P;以及
时隙持续时间T,以及
其中,所述每分量载波每秒的指令总数I基于以下等式计算:
I=(A*P)/(T)。
20.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质上存储有处理器指令,所述处理器指令在由一个或多个处理器执行时,使所述一个或多个处理器执行一种方法,所述方法包括:
接收蒙特卡罗模拟的输入,所述输入包括对一个或多个用例的要求、处理器规格和用户指定的功能;
确定流量模型、针对每个用例要运行的包的数量以及所述蒙特卡罗模拟的种子值,其中,所述流量模型包括多个包大小和对应于所述多个包大小的分布;
基于所述输入、所述流量模型、针对每个用例要运行的包的数量和所述种子值执行所述蒙特卡罗模拟以生成模拟结果;以及
基于所述模拟结果确定用于数据栈的处理器核的推荐配置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063039305P | 2020-06-15 | 2020-06-15 | |
US63/039,305 | 2020-06-15 | ||
PCT/US2021/014939 WO2021087528A1 (en) | 2020-06-15 | 2021-01-25 | Data stack mips analysis tool for data plane |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115735196A true CN115735196A (zh) | 2023-03-03 |
Family
ID=75715456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180039100.3A Pending CN115735196A (zh) | 2020-06-15 | 2021-01-25 | 数据面的数据栈mip分析工具 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230124083A1 (zh) |
EP (1) | EP4154113A4 (zh) |
CN (1) | CN115735196A (zh) |
WO (1) | WO2021087528A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6785843B1 (en) * | 2001-02-23 | 2004-08-31 | Mcrae Andrew | Data plane restart without state change in a control plane of an intermediate network node |
EP1980952B1 (en) * | 2007-02-14 | 2019-10-30 | Samsung Electronics Co., Ltd. | Methods and apparatus for high speed data processing by a user equipment UE |
US9693184B2 (en) * | 2008-08-18 | 2017-06-27 | Qualcomm Incorporated | Control plane location solution to support wireless access |
US9705773B2 (en) * | 2015-07-09 | 2017-07-11 | Google Inc. | Parallelized network traffic flow availability simulation using stochastic process and traffic engineering algorithms |
CN111176926B (zh) * | 2019-12-30 | 2023-08-15 | 山东方寸微电子科技有限公司 | 一种基于双口sram的ip核仿真系统及仿真方法 |
-
2021
- 2021-01-25 EP EP21722352.8A patent/EP4154113A4/en active Pending
- 2021-01-25 WO PCT/US2021/014939 patent/WO2021087528A1/en unknown
- 2021-01-25 CN CN202180039100.3A patent/CN115735196A/zh active Pending
-
2022
- 2022-12-14 US US18/066,222 patent/US20230124083A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021087528A1 (en) | 2021-05-06 |
EP4154113A1 (en) | 2023-03-29 |
US20230124083A1 (en) | 2023-04-20 |
EP4154113A4 (en) | 2023-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110890906B (zh) | 一种天线信息的发送、接收方法和设备 | |
AU2017391788B2 (en) | Method for transmitting data, terminal device and network device | |
CN109219130B (zh) | 一种同步方法及装置 | |
RU2716744C1 (ru) | Способ связи, сетевое оборудование и терминальное оборудование | |
RU2742949C1 (ru) | Способ передачи данных, терминальное устройство и сетевое устройство | |
US11483093B2 (en) | Indication method, indication determining method, sending device, and receiving device | |
RU2737171C1 (ru) | Способ передачи информации, оконечное устройство и сетевое устройство | |
EP3876620A1 (en) | Resource indication method and apparatus as well as communication system | |
CN109644357B (zh) | 信号传输的方法、终端设备和网络设备 | |
CN115735196A (zh) | 数据面的数据栈mip分析工具 | |
CN111327370B (zh) | 一种射频指标确定方法及装置 | |
CN110972287B (zh) | 一种harq进程id的确定方法、装置、终端及介质 | |
US20240008008A1 (en) | Determining the resource elements for transport block size determination for a transport block spanning multiple slots | |
US20170318585A1 (en) | Method for transmitting lte-u carrier information, base station, and user equipment | |
WO2018010143A1 (zh) | 通信方法、基站和用户设备 | |
JP7148639B2 (ja) | データ伝送方法及び通信装置 | |
CN110138535B (zh) | 数据传输方法及装置 | |
CN112187400B (zh) | 数据传输方法及装置 | |
KR102598049B1 (ko) | 데이터 처리 방법, 액세스 네트워크 기기 및 코어 네트워크 기기 | |
CN108023677B (zh) | 信息处理的方法、装置及无线通信设备 | |
US20170273020A1 (en) | Information Transmission Method, Wireless Access Device, and Terminal Device | |
RU2796655C1 (ru) | Способ кодирования и устройство связи | |
CN111865487B (zh) | 一种编码方法及通信设备 | |
US20230283299A1 (en) | Methods and apparatus for polar encoding | |
US20230208556A1 (en) | Data Transmission Method and Apparatus |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230801 Address after: Room 01, 8th Floor (7th Floor, Property Registration Floor), No. 1, Lane 61, Shengxia Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Zheku Technology (Shanghai) Co.,Ltd. Address before: California, USA Applicant before: Zheku Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right |