CN107003947B - 产生用于共享高速缓冲存储器系统的近似使用测量 - Google Patents

产生用于共享高速缓冲存储器系统的近似使用测量 Download PDF

Info

Publication number
CN107003947B
CN107003947B CN201580061558.3A CN201580061558A CN107003947B CN 107003947 B CN107003947 B CN 107003947B CN 201580061558 A CN201580061558 A CN 201580061558A CN 107003947 B CN107003947 B CN 107003947B
Authority
CN
China
Prior art keywords
cache
segmentation
quality
qosid
qos
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
CN201580061558.3A
Other languages
English (en)
Other versions
CN107003947A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107003947A publication Critical patent/CN107003947A/zh
Application granted granted Critical
Publication of CN107003947B publication Critical patent/CN107003947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3471Address tracing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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/3433Recording 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 for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/348Circuit details, i.e. tracer hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/211Optical disk storage
    • G06F2212/2112Optical disk storage with a removable carrier, e.g. DVD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/282Partitioned cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明揭示产生用于共享高速缓冲存储器系统的近似使用测量。在一个方面中,提供高速缓冲存储器系统。所述高速缓冲存储器系统包括共享高速缓冲存储器系统。所述共享高速缓冲存储器系统的子集包括经配置以存储针对QoS类别的QoSID跟踪指示符的服务质量标识符QoSID跟踪标签。所述共享高速缓冲存储器系统进一步包括高速缓存控制器,其经配置以接收包括QoSID的存储器存取请求,且经配置以存取对应于所述存储器存取请求的高速缓存线。所述高速缓存控制器还经配置以确定所述存储器存取请求的所述QoSID是否对应于指派到所述QoSID的高速缓存线。如果确定为“是”,那么所述高速缓存控制器另外经配置以更新所述QoSID跟踪标签。

Description

产生用于共享高速缓冲存储器系统的近似使用测量
优先权要求
本申请案依据35U.S.C.§119(e)要求2014年11月25日申请且名为“产生用于共享高速缓冲存储器的近似使用测量及相关方法及系统(GENERATING APPROXIMATE USAGEMEASUREMENTS FOR SHARED CACHE MEMORY,AND RELATED METHODS AND SYSTEMS)”的美国临时专利申请案第62/084,469号的优先权,所述美国临时专利申请案的内容以引用的方式全文并入本文中。
本申请案还要求2015年9月22日申请的且题为“产生用于共享高速缓冲存储器系统的近似使用测量(GENERATING APPROXIMATE USAGE MEASUREMENTS FOR SHARED CACHEMEMORY SYSTEMS)”的美国专利申请案第14/860,993号的优先权,所述美国专利申请案的内容以引用的方式全文并入本文中。
技术领域
本发明的技术大体上涉及共享高速缓冲存储器系统,且具体来说,涉及测量共享高速缓冲存储器的使用。
背景技术
越来越多的计算机硬件单元(例如,中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理(DSP)单元及/或直接存储器存取(DMA)引擎,作为非限制性实例)经配置以共享存储器系统资源,例如高速缓冲存储器、存储器、互连带宽及高速缓冲存储器带宽。计算机硬件单元之间的资源干扰及冲突可导致负面后果,例如(作为非限制性实例)错过移动系统单芯片(SoC)上的实时期限、或违反合并服务器上的服务水平协议(SLA)。另外,与一些计算机硬件单元相关联的参考串流可具有极少的时间局部性,如果未加抑制,那么会导致高速缓存污染及对总体性能的负面影响。因此,监视资源共享的影响已变得更为重要以达成最佳系统性能。在这点上,用户有能力监视共享资源的使用可为合乎需要的。
然而,常规高速缓冲存储器系统并不提供用于监视高速缓存使用的具空间效率的机构。因此,为了防止在存在高速缓存干扰时的最差状况性能,这些常规高速缓冲存储器系统可保持未经充分利用。此外,缺乏关于高速缓冲存储器占用的反馈可导致计算机处理系统不能提供系统任务的最佳调度。
发明内容
具体实施方式中所揭示的方面包含产生用于共享高速缓冲存储器系统的近似使用测量。在这点上,在一个方面中,提供共享高速缓冲存储器系统。所述共享高速缓冲存储器系统经配置以近似得出多个服务质量(QoS)类别中的每一者的高速缓存使用,每一QoS类别具有相关联的QoS标识符(QoSID)。所述共享高速缓冲存储器系统包含再分成多个高速缓存子分割的多个高速缓存线。根据本文中所揭示的一些方面,所述多个高速缓存子分割可包括(作为非限制性实例)个别高速缓存线、高速缓存线的集合及/或高速缓存线的存储体。所述多个高速缓存子分割各自与所述多个QoS类别中的将近似得出高速缓存使用的QoS类别相关联。所述共享高速缓冲存储器系统还提供对应于所述多个高速缓存子分割的多个QoSID跟踪标签。在接收到包括QoSID的存储器存取请求时,所述共享高速缓冲存储器系统的高速缓存使用监视器进一步经配置以存取对应于所述存储器存取请求的高速缓存子分割。所述高速缓存使用监视器经配置以确定所述存储器存取请求的所述QoSID是否对应于与所述高速缓存子分割相关联的QoS类别。基于此确定,所述高速缓存使用监视器更新与对应于所述存储器存取请求的所述高速缓存子分割相关联的QoSID跟踪标签。以此方式,可维持所述多个QoSID跟踪标签以指示与每一高速缓存子分割相关联的QoS类别是否实际上在一给定时间使用所述高速缓存子分割。
所述高速缓存使用监视器进一步经配置以基于所述多个QoSID跟踪标签产生针对所述多个QoS类别中的QoS类别的近似使用测量。通过将所述高速缓存使用测量的准确度与所述多个QoSID跟踪标签的存储额外负担的减少进行权衡,所述共享高速缓冲存储器系统可提供充足的使用测量数据以用于管理高速缓存分配,同时使得对处理器性能及功率消耗的影响最小化。
在另一方面中,提供共享高速缓冲存储器系统。所述共享高速缓冲存储器系统包括多个高速缓存子分割。所述共享高速缓冲存储器系统进一步包括多个QoSID跟踪标签,其各自与所述多个高速缓存子分割中的高速缓存子分割相关联。所述共享高速缓冲存储器系统还包括高速缓存使用监视器。所述高速缓存使用监视器经配置以使所述多个高速缓存子分割中的每一高速缓存子分割与多个QoS类别中的QoS类别相关联。所述高速缓存使用监视器进一步经配置以接收包括QoSID的存储器存取请求。所述高速缓存使用监视器还经配置以存取所述多个高速缓存子分割之中的对应于所述存储器存取请求的高速缓存子分割。所述高速缓存使用监视器另外经配置以确定所述存储器存取请求的所述QoSID是否对应于与所述高速缓存子分割相关联的所述QoS类别。所述高速缓存使用监视器进一步经配置以基于所述确定更新多个QoSID跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的QoSID跟踪标签。所述高速缓存使用监视器还经配置以基于所述多个QoSID跟踪标签产生针对所述多个QoS类别中的所述QoS类别的近似使用测量。
在另一方面中,提供共享高速缓冲存储器系统。所述共享高速缓冲存储器系统包括用于使所述共享高速缓冲存储器系统的多个高速缓存子分割中的每一高速缓存子分割与多个QoS类别中的QoS类别相关联的装置。所述共享高速缓冲存储器系统进一步包括用于接收包括QoSID的存储器存取请求的装置。所述共享高速缓冲存储器系统还包括用于存取所述多个高速缓存子分割之中的对应于所述存储器存取请求的高速缓存子分割的装置。所述共享高速缓冲存储器系统另外包括用于确定所述存储器存取请求的所述QoSID是否对应于所述多个QoS类别中的与所述高速缓存子分割相关联的所述QoS类别的装置。所述共享高速缓冲存储器系统进一步包括用于基于用于确定的所述装置而更新多个QoSID跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的QoSID跟踪标签的装置。所述共享高速缓冲存储器系统还包括用于基于所述多个QoSID跟踪标签产生针对所述多个QoS类别中的所述QoS类别的近似使用测量的装置。
在另一方面中,提供用于近似得出共享高速缓冲存储器使用的方法。所述方法包括使共享高速缓冲存储器系统的多个高速缓存子分割中的每一高速缓存子分割与多个QoS类别中的QoS类别相关联。所述方法进一步包括接收包括QoSID的存储器存取请求。所述方法还包括存取所述多个高速缓存子分割之中的对应于所述存储器存取请求的高速缓存子分割。所述方法另外包括确定所述存储器存取请求的所述QoSID是否对应于所述多个QoS类别中的与所述高速缓存子分割相关联的所述QoS类别。所述方法进一步包括基于所述确定更新多个QoSID跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的QoSID跟踪标签。所述方法还包括基于所述多个QoSID跟踪标签产生针对所述多个QoS类别中的所述QoS类别的近似使用测量。
附图说明
图1说明包含高速缓存控制器的例示性共享高速缓冲存储器系统,所述高速缓存控制器包括用于产生用于所述共享高速缓冲存储器系统的近似使用测量的高速缓存使用监视器;
图2A到2D说明例示性共享高速缓冲存储器系统实施方案,其中服务质量(QoS)类别及QoS标识符(QoSID)跟踪标签与分别包括高速缓存线、高速缓存线的集合及高速缓存线的存储体的高速缓存子分割相关联;
图3A及3B说明图1的共享高速缓冲存储器系统的例示性操作,所述操作用于产生用于共享高速缓冲存储器系统的近似使用测量;及
图4为可包含图1的共享高速缓冲存储器系统以提供近似使用测量的例示性基于处理器的系统的框图。
具体实施方式
现在参考图式,描述本发明的若干例示性方面。词语“例示性”在本文中用以意味着“充当实例、例子或说明”。不必将本文中描述为“例示性”的任何方面解释为比其它方面优选或有利。
在这点上,提供图1以说明共享高速缓冲存储器系统100的结构。作为非限制性实例,可将共享高速缓冲存储器系统100提供于半导体裸片中。在一些方面中,共享高速缓冲存储器系统100可尤其为存储器阶层(未展示)中的1阶(L1)高速缓冲存储器、2阶(L2)高速缓冲存储器或3阶(L3)高速缓冲存储器。在图1的实例中,共享高速缓冲存储器系统100为经组织成存储体102(0)到102(X)的存储器阵列。存储体102(0)到102(X)中的每一者包括一或多个集合104(0)到104(Y),其中所述集合104(0)到104(Y)中的每一者由高速缓存线106(0)到106(L)的子集组成。所述集合104(0)到104(Y)中的每一者中的高速缓存线106(0)到106(L)的数目Z被称作共享高速缓冲存储器系统100的“关联性”,且集合104(0)到104(Y)中的每一者内的位于从0到Z的特定位置处的所述群高速缓存线106(0)到106(L)被称作对应“通路(way)”108(0)到108(Z)。每一通路108(0)到108(Z)可能因此被视为所有集合104(0)到104(Y)中的高速缓存线106(0)到106(L)的竖直“切片(slice)”。
应理解,本文中所描述的方面并不限于元件的任何特定布置,且所揭示的技术可容易地延伸到共享高速缓冲存储器系统100的各种结构及布局。图1中所说明的配置仅是为了说明的目的。在一些方面中,共享高速缓冲存储器系统100可包括比本文中所说明的更少或更多存储体102(0)到102(X)、更少或更多集合104(0)到104(Y)、更少或更多高速缓存线106(0)到106(L)及/或更少或更多通路108(0)到108(Z)。
继续参考图1,高速缓存控制器110耦合到每一存储体102(0)到102(X)。在常规操作中,例如执行软件应用程序的请求代理程序(未展示)可请求存储于存储器地址(未展示)处的指令或值(未展示)。如果未在共享高速缓冲存储器系统100中发现所请求的指令或值,那么产生高速缓存未命中。作为响应,高速缓存控制器110可起始高速缓存填充操作,其导致大小等于高速缓存线106(0)到106(L)中的一或多者且含有所请求的指令或值的系统存储器的一部分(未展示)被检索及存储于高速缓存线106(0)到106(L)中的一者中。
共享高速缓冲存储器系统100向多个QoS类别112(0)到112(N)提供支持以实施针对共享存储器使用的QoS支持。QoS类别112(0)到112(N)中的每一者与唯一QoSID 114(0)到114(N)相关联。为了更加高效地在多个请求代理程序间分配高速缓存线106(0)到106(L),高速缓存控制器110在一些方面中可提供高速缓存分配电路116。高速缓存分配电路116可通过将QoSID 114(0)到114(N)中的每一者与特定请求代理程序相关联且指定用于所述QoSID 114(0)到114(N)的高速缓存线106(0)到106(L)的分配而允许实现用户对共享高速缓冲存储器系统100的高速缓存资源的控制。
通过在QoSID 114(0)到114(N)间分配高速缓存线106(0)到106(L)(因此有效地在对应QoS类别112(0)到112(N)间分配高速缓存线106(0)到106(L)),共享高速缓冲存储器系统100可在许多使用案例情境中改进高速缓存性能。举例来说,在一些方面中,共享高速缓冲存储器系统100可允许实现实时约束以确保由请求代理程序进行的时延关键操作具有足够高速缓冲存储器以满足实时要求。为了提供响应于实时约束的服务,高速缓存分配电路116可经配置以保证将在共享高速缓冲存储器系统100中保留用于时间关键请求代理程序的高速缓存线106(0)到106(L)的最小工作集合。由高速缓存分配电路116分配高速缓存线106(0)到106(L)还可适用于强制执行云端计算服务水平协议(SLA),及/或用于限制用于某些请求代理程序的高速缓存线106(0)到106(L)的高速缓存调配以改进计算机处理系统的总体吞吐量。
在多个请求代理程序间高效地分配高速缓存线106(0)到106(L)涉及监视不同QoS类别112(0)到112(N)对共享高速缓冲存储器系统100的使用,以便确定资源分配对总体系统性能的影响。然而,常规高速缓冲存储器系统并不提供用于监视高速缓存使用的具空间效率的机构。为了监视给定QoS类别112(0)到112(N)使用多少高速缓存线106(0)到106(L),共享高速缓冲存储器系统100具有识别由每一QoS类别112(0)到112(N)存取的那些高速缓存线106(0)到106(L)的能力。
一个方法涉及通过高速缓存线106(0)到106(L)当前被分配到的QoS类别112(0)到112(N)的QoSID 114(0)到114(N)标记高速缓存线106(0)到106(L)中的每一者。但是,就共享高速缓冲存储器系统100内的存储空间来说,此方法可能过分地昂贵。举例来说,在支持数目N个QoS类别112(0)到112(N)的系统中,每一QoSID 114(0)到114(N)的标称宽度为log2(N)个位。举例来说,如果共享高速缓冲存储器系统100的大小为32兆字节,包括用8位QoSID114(0)到114(N)标记的128字节行,那么QoSID 114(0)到114(N)将占256千字节,其可约为一些计算机处理器核心中的常规L2高速缓冲存储器的大小。
在这点上,共享高速缓冲存储器系统100通过产生对于确定及监视高速缓存线106(0)到106(L)的分配来说足够精确的近似使用测量而减少存储额外负担。共享高速缓冲存储器系统100因此提供高速缓存使用监视器118以提供近似使用测量,例如提供到高速缓存控制器110的高速缓存分配电路116的近似使用测量120。在一些方面中,用户(未展示)可使用QoSID 114(0)到114(N)查询高速缓存使用监视器118以发现对应QoS类别112(0)到112(N)的当前高速缓存使用的近似结果。在所述方面中,作为非限制性实例,可经由存储器映射接口(未展示)提供近似使用测量120。
为了提供具空间效率的高速缓存使用监视,高速缓存使用监视器118在一些方面中可将高速缓存线106(0)到106(L)的多个高速缓存子分割中的每一者与QoS类别112(0)到112(N)中的一者相关联。根据一些方面,所述多个高速缓存子分割可包括(作为非限制性实例):高速缓存线106(0)到106(L)中的一或多者、高速缓存线106(0)到106(L)的集合104(0)到104(Y)、高速缓存线106(0)到106(L)的通路108(0)到108(Z)或高速缓存线106(0)到106(L)的存储体102(0)到102(X)。在下文中关于图2A到2D更详细地论述这些例示性实施方案。每一高速缓存子分割还与多个QoSID跟踪标签(未展示)中的一者相关联,可由高速缓存使用监视器118使用所述跟踪标签中的每一者以跟踪高速缓存子分割当前是否正由与之相关联的QoS类别112(0)到112(N)使用。根据一些方面,所述多个QoSID跟踪标签中的每一者可包括单个位。在一些方面中,QoS跟踪标签可包括多个位,使得每一高速缓存子分割能够与多个QoS类别112(0)到112(N)相关联。在一些方面中,所述多个QoSID跟踪标签可与高速缓存线106(0)到106(L)一致地存储,而一些方面可规定所述多个QoSID跟踪标签存储于QoSID跟踪标签数据结构122中。应理解,虽然图1将QoSID跟踪标签数据结构122说明为位于高速缓存控制器110内,但QoSID跟踪标签数据结构122在一些方面中可位于共享高速缓冲存储器系统100内的其它处(例如,作为非限制性实例,在高速缓存使用监视器118内)。
在接收到包括QoSID 126的存储器存取请求124时,高速缓存使用监视器118存取对应于存储器存取请求124的高速缓存子分割,且确定存储器存取请求124的QoSID 126是否对应于与高速缓存子分割相关联的QoS类别112(0)到112(N)。基于此确定,高速缓存使用监视器118可更新对应于存储器存取请求124的高速缓存子分割的QoSID跟踪标签。举例来说,在一些方面中,提供一位的QoSID跟踪标签,如果存储器存取请求124的QoSID 126对应于与高速缓存子分割相关联的QoS类别112(0)到112(N),那么高速缓存使用监视器118可将高速缓存子分割的QoSID跟踪标签设定成为一(1)的值。如果存储器存取请求124的QoSID126并不对应于与高速缓存子分割相关联的QoS类别112(0)到112(N),那么高速缓存使用监视器118可将高速缓存子分割的QoSID跟踪标签设定成为零(0)的值。以此方式,可维持所述QoSID跟踪标签以指示与每一高速缓存子分割相关联的QoS类别112(0)到112(N)是否实际上在一给定时间使用所述高速缓存子分割。
基于QoSID跟踪标签,高速缓存使用监视器118可针对QoS类别112(0)到112(N)中的每一者产生高速缓存线106(0)到106(L)的近似使用测量120。在一些方面中,高速缓存使用监视器118可通过确定与QoS类别112(0)到112(N)相关联的多个高速缓存子分割的分数,且进一步确定与QoS类别112(0)到112(N)相关联的设定了相关联的QoSID跟踪标签的高速缓存子分割的计数而产生近似使用测量120。高速缓存使用监视器118接着可将高速缓存子分割的计数除以所述分数以产生近似使用测量120。
作为非限制性实例,假设共享高速缓冲存储器系统100提供表示高速缓存子分割的十六(16)个集合104(0)到104(15)。集合104(0)到104(7)或集合104(0)到104(15)的总数的一半是为了测量目的与QoS类别112(0)相关联,而集合104(8)到104(15)是为了测量目的与QoS类别112(N)相关联。因此,与QoS类别112(0)及112(1)中的每一者相关联的多个高速缓存子分割的分数为(例如)1/2或0.5。进一步假设与QoS类别112(0)相关联的六(6)个集合104(0)到104(5)具有经设定的相关联QoSID跟踪标签。因此,高速缓存使用监视器118可产生近似使用测量120,其估计集合104(0)到104(15)中的十二(12)(即,六(6)除以0.5)个当前正由QoS类别112(0)使用。
在一些方面中,高速缓存使用监视器118可通过仅将高速缓存子分割与作用中QoS类别112(0)到112(N)相关联,而非将高速缓存子分割与固定最大数目的QoS类别112(0)到112(N)相关联来改进其准确度。举例来说,如果仅一个QoS类别112(0)为作用中,那么所述作用中QoS类别112(0)可与共享高速缓冲存储器系统100中的每一高速缓存线106(0)到106(L)相关联,从而产生具有零误差的近似使用测量120。一些方面可规定:除减少识别QoS类别112(0)到112(N)所需的位数之外,高速缓存使用监视器118还可使用常规取样方法。作为非限制性实例,QoSID跟踪标签可仅与高速缓存子分割的分散式子集相关联。
可在一些方面中组合近似技术以提供针对给定应用在额外负担与准确度之间具有可接受的权衡的共享高速缓冲存储器系统100的配置。在下文表1中说明一些方面中所提供的组合的存储要求。在表1中,指示由各种配置要求的按字节计的总存储量。每一条目是基于8兆字节、16通路、128字节行、4存储体高速缓冲存储器及支持最大32个QoSID的系统计算。圆括号中的数目为完整及精确地跟踪哪一高速缓存线被附加5位QoSID所需的相对额外负担的百分比。
表1
如上文所提及,在一些方面中,高速缓存子分割可包括高速缓存线106(0)到106(L)中的一或多者、高速缓存线106(0)到106(L)的集合104(0)到104(Y)、高速缓存线106(0)到106(L)的通路108(0)到108(Z)或高速缓存线106(0)到106(L)的存储体102(0)到102(X)。在这点上,提供图2A到2D以说明例示性方面,所述方面提供分别包括高速缓存线106(0)到106(L)、高速缓存线106(0)到106(L)的集合104(0)到104(Y)、高速缓存线106(0)到106(L)的通路108(0)到108(Z)及高速缓存线106(0)到106(L)的存储体102(0)到102(X)的高速缓存子分割200(0)到200(L)、200(0)到200(Y)、200(0)到200(Z)、200(0)到200(X)。在图2A中,高速缓存子分割200(0)到200(L)各自对应于高速缓存线106(0)到106(L)中的一者,其中高速缓存线106(0)、106(2)及106(L)与QoS类别112(0)相关联且高速缓存线106(1)、106(3)与QoS类别112(1)相关联。高速缓存子分割200(0)到200(L)中的每一者还与包括单个位的对应QoSID跟踪标签202(0)到202(L)相关联。QoSID跟踪标签202(0)到202(L)指示高速缓存线106(1)当前由相关联的QoS类别112(1)使用,而高速缓存线106(2)及106(L)当前由相关联的QoS类别112(0)使用。同样,QoSID跟踪标签202(0)指示高速缓存线106(0)目前并非由相关联的QoS类别112(0)使用,且QoSID跟踪标签202(3)指示高速缓存线106(3)目前并非由相关联的QoS类别112(1)使用。
在图2B的实例中,高速缓存子分割200(0)到200(Y)各自对应于高速缓存线106(0)到106(L)的集合104(0)到104(Y)中的一者。集合104(0)、104(2)及104(Y)与QoS类别112(0)相关联,而集合104(1)、104(3)与QoS类别112(1)相关联。与高速缓存子分割200(0)到200(Y)相关联的QoSID跟踪标签202(0)到202(Y)指示集合104(1)当前由相关联的QoS类别112(1)使用,而集合104(2)及104(Y)当前由相关联的QoS类别112(0)使用。类似地,QoSID跟踪标签202(0)指示集合104(0)目前并非由相关联的QoS类别112(0)使用,且QoSID跟踪标签202(3)指示集合104(3)目前并非由相关联的QoS类别112(1)使用。
在图2C中,高速缓存子分割200(0)到200(Z)各自对应于高速缓存线106(0)到106(L)的通路108(0)到108(Z)中的一者。通路108(0)、108(2)及108(Z)与QoS类别112(0)相关联,而通路108(1)、108(3)与QoS类别112(1)相关联。与高速缓存子分割200(0)到200(Z)相关联的QoSID跟踪标签202(0)到202(Z)指示通路108(1)当前由相关联的QoS类别112(1)使用,而通路108(2)及108(Z)当前由相关联的QoS类别112(0)使用。同样,QoSID跟踪标签202(0)指示通路108(0)目前并非由相关联的QoS类别112(0)使用,且QoSID跟踪标签202(3)指示通路108(3)目前并非由相关联的QoS类别112(1)使用。
现在参考图2D,高速缓存子分割200(0)到200(X)在此实例中各自对应于高速缓存线106(0)到106(L)的存储体102(0)到102(X)中的一者。存储体102(0)、102(2)及102(X)与QoS类别112(0)相关联,而存储体102(1)、102(3)与QoS类别112(1)相关联。在此实例中,与高速缓存子分割200(0)到200(X)相关联的QoSID跟踪标签202(0)到202(X)指示存储体102(1)当前由相关联的QoS类别112(1)使用,而存储体102(2)及102(X)当前由相关联的QoS类别112(0)使用。类似地,QoSID跟踪标签202(0)指示存储体102(0)目前并非由相关联的QoS类别112(0)使用,且QoSID跟踪标签202(3)指示存储体102(3)目前并非由相关联的QoS类别112(1)使用。
为了说明用于产生近似使用测量120的图1的共享高速缓冲存储器系统100的例示性操作,提供图3A到3B。在描述图3A到3B时,为清楚起见而引用图1及2A到2D的元件。在图3A中,操作以图1的高速缓存使用监视器118将共享高速缓冲存储器系统100的多个高速缓存子分割(例如,高速缓存子分割200(0)到200(L)、200(0)到200(Y)、200(0)到200(Z)、200(0)到200(X))中的每一高速缓存子分割200(0)与多个QoS类别112(0)到112(N)中的QoS类别112(0)相关联(框300)开始。在这点上,高速缓存使用监视器118可在此处被称作“用于将共享高速缓冲存储器系统的多个高速缓存子分割中的每一高速缓存子分割与多个QoS类别中的QoS类别相关联的装置”。
高速缓存使用监视器118接下来接收包括QoSID 126的存储器存取请求124(框302)。因此,高速缓存使用监视器118可在此处被称作“用于接收包括QoSID的存储器存取请求的装置”。高速缓存使用监视器118存取多个高速缓存子分割200(0)到200(L)、200(0)到200(Y)、200(0)到200(Z)、200(0)到200(X)当中的对应于存储器存取请求124的高速缓存子分割200(0)(框304)。高速缓存使用监视器118可因此在此处被称作“用于存取多个高速缓存子分割当中的对应于存储器存取请求的高速缓存子分割的装置”。
继续参考图3A,高速缓存使用监视器118确定存储器存取请求124的QoSID 126是否对应于与高速缓存子分割200(0)相关联的QoS类别112(0)(框306)。在这点上,高速缓存使用监视器118可在此处被称作“用于确定存储器存取请求的QoSID是否对应于多个QoS类别中的与高速缓存子分割相关联的QoS类别的装置”。基于所述确定,高速缓存使用监视器118基于所述确定更新与对应于存储器存取请求124的高速缓存子分割200(0)相关联的QoSID跟踪标签202(0)(框308)。因此,高速缓存使用监视器118可在此处被称作“用于基于用于确定的装置更新多个QoSID跟踪标签中的与对应于存储器存取请求的高速缓存子分割相关联的QoSID跟踪标签的装置”。处理接着在图3B的框310处继续。
现转向图3B,高速缓存使用监视器118基于多个QoSID跟踪标签202(0)到202(N)产生针对多个QoS类别112(0)到112(Z)中的QoS类别112(0)的近似使用测量120(框310)。高速缓存使用监视器118可因此在此处被称作“用于基于多个QoSID跟踪标签产生针对多个QoS类别中的QoS类别的近似使用测量的装置”。在一些方面中,用于产生近似使用测量120的框310的操作可包含高速缓存使用监视器118首先确定与QoS类别112(0)相关联的多个高速缓存子分割200(0)到200(X)的分数(框312)。在这点上,高速缓存使用监视器118可在此处被称作“用于确定与QoS类别相关联的多个高速缓存子分割的分数的装置”。高速缓存使用监视器118接下来可确定与QoS类别112(0)相关联的设定了相关联QoSID跟踪标签202(0)的多个高速缓存子分割200(0)到200(X)的计数(框314)。因此,高速缓存使用监视器118可在此处被称作“用于确定与QoS类别相关联的设定了相关联QoSID跟踪标签的多个高速缓存子分割的计数的装置”。高速缓存使用监视器118接着可将高速缓存子分割200(0)到200(X)的计数除以所述分数以产生近似使用测量120(框316)。高速缓存使用监视器118可因此在此处被称作“用于将多个高速缓存子分割的计数除以分数以产生近似使用测量的装置”。
产生用于共享高速缓冲存储器系统的近似使用测量可提供于任一基于处理器的装置中或集成到任一基于处理器的装置中。实例包含(而不限于)机顶盒、娱乐单元、导航装置、通信装置、固定位置数据单元、移动位置数据单元、移动电话、蜂窝式电话、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视、调谐器、收音机、卫星收音机、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频光盘(DVD)播放器,及便携式数字视频播放器。
在这点上,图4为例示性基于处理器的系统400的框图,所述基于处理器的系统400可包含图1的具有高速缓存控制器110的共享高速缓冲存储器系统(SCMS)100。在此实例中,基于处理器的系统400包含一或多个CPU 402,每一者包含一个或多个处理器404。CPU 402可为主控装置。CPU 402可具有耦合到处理器404以用于快速存取暂时存储的数据的高速缓冲存储器406。在一些方面中,高速缓冲存储器406可包括图1的共享高速缓冲存储器系统100及/或高速缓存控制器110。CPU 402耦合到系统总线408,且可将包含于基于处理器的系统400中的主控装置及从属装置相互耦合。众所周知,CPU 402通过经由系统总线408交换地址、控制及数据信息而与这些其它装置通信。举例来说,CPU 402可将总线交易请求传达到作为从属装置的一实例的存储器控制器410。
其它主控装置及从属装置可连接到系统总线408。如图4中所说明,这些装置可包含(作为实例)存储器系统412、一或多个输入装置414、一或多个输出装置416、一或多个网络接口装置418及一或多个显示控制器420。输入装置414可包含任一类型的输入装置,包含(但不限于)输入键、开关、语音处理器等。输出装置416可包含任一类型的输出装置,包含(但不限于)音频、视频、其它视觉指示器等。网络接口装置418可为经配置以允许与网络422交换数据的任何装置。网络422可为任一类型的网络,包含(但不限于)有线或无线网络、专用网或公用网、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、BLUETOOTHTM网络及因特网。网络接口装置418可经配置以支持任一类型的所要通信协议。存储器系统412可包含一或多个存储器单元424(0)到424(N)。
CPU 402还可经配置以经由系统总线408存取显示控制器420以控制发送到一或多个显示器426的信息。显示控制器420将信息经由一或多个视频处理器428发送到显示器426进行显示,所述一或多个视频处理器将待显示的信息处理成适用于显示器426的格式。显示器426可包含任一类型的显示器,包含(但不限于)阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
所属领域的技术人员将进一步了解,可将结合本文中所揭示的方面描述的各种说明性逻辑块、模块、电路及算法实施为电子硬件。作为实例,可在任何电路、硬件组件、集成电路(IC)或IC芯片中使用本文中所描述的装置。本文中所揭示的存储器可为任何类型及大小的存储器,且可经配置以存储任何类型的所要信息。为了清楚地说明此可互换性,上文已大体上关于功能性描述了各种说明性组件、块、模块、电路及步骤。如何实施此功能性视特定应用、设计选择及/或施加于整个系统的设计约束而定。所属领域的技术人员可对于每一特定应用以变化的方式实施所描述的功能性,但不应将所述实施决策解释为导致脱离本发明的范围。
可通过处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其经设计以执行本文中所描述功能的任何组合来实施或执行结合本文中所揭示的方面而描述的各种说明性逻辑块、模块及电路。处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它此种配置。
还应注意,描述在本文的例示性方面中的任一者中所描述的操作步骤以提供实例及论述。可以不同于所说明序列的众多不同序列执行所描述的操作。此外,描述于单个操作步骤中的操作可实际上以多个不同步骤执行。另外,可组合例示性方面中所论述的一或多个操作步骤。应理解,流程图图式中所说明的操作步骤可经受如所属领域的技术人员将容易地显而易见的众多不同修改。所属领域的技术人员还将理解,可使用各种不同技术及技法中的任一者表示信息及信号。举例来说,可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合表示在整个以上描述中可能提及的数据、指令、命令、信息、信号、位、符号及码片。
提供本发明的以上描述以使得任何所属领域的技术人员能够制造或使用本发明。对本发明的各种修改对于所属领域的技术人员来说将容易地显而易见,且在不脱离本发明的精神或范围的情况下,本文中所定义的一般原理可应用于其它变体。因此,本发明并不意图限于本文中所描述的实例及设计,而应符合与本文中所揭示的原理及新颖特征相一致的最广泛范围。

Claims (23)

1.一种共享高速缓冲存储器系统,其包括:
多个高速缓存子分割;
多个服务质量标识符(QoSID)跟踪标签,其各自与所述多个高速缓存子分割中的高速缓存子分割相关联;以及
高速缓存使用监视器,其经配置以:
使所述多个高速缓存子分割中的每一高速缓存子分割与多个服务质量(QoS)类别中的服务质量(QoS)类别相关联;
接收包括服务质量标识符(QoSID)的存储器存取请求;
存取所述多个高速缓存子分割当中的对应于所述存储器存取请求的高速缓存子分割;
确定所述存储器存取请求的所述服务质量标识符(QoSID)是否对应于与所述高速缓存子分割相关联的所述服务质量(QoS)类别;
基于所述确定更新所述多个服务质量标识符(QoSID)跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的服务质量标识符(QoSID)跟踪标签;且
基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量;
其中所述高速缓存使用监视器经配置以基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量来进行以下操作:
确定与所述服务质量(QoS)类别相关联的所述多个高速缓存子分割的分数:
确定与所述服务质量(QoS)类别相关联的设定了所述相关联的多个服务质量标识符(QoSID)跟踪标签的所述多个高速缓存子分割的计数;且
将所述多个高速缓存子分割的所述计数除以所述分数以产生所述近似使用测量。
2.根据权利要求1所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线。
3.根据权利要求1所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的集合。
4.根据权利要求1所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的通路。
5.根据权利要求1所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的存储体。
6.根据权利要求1所述的共享高速缓冲存储器系统,其中所述多个服务质量标识符(QoSID)跟踪标签与所述多个高速缓存子分割的分散式子集相关联。
7.根据权利要求1所述的共享高速缓冲存储器系统,其集成到集成电路IC中。
8.根据权利要求1所述的共享高速缓冲存储器系统,其经集成到装置中,所述装置选自由以下各者组成的群:机顶盒;娱乐单元;导航装置;通信装置;固定位置数据单元;移动位置数据单元;个人数字助理PDA;电视;及调谐器。
9.根据权利要求1所述的共享高速缓冲存储器系统,其经集成到装置中,所述装置选自由以下各者组成的群:移动电话;计算机;监视器;收音机;音乐播放器;及视频播放器。
10.根据权利要求1所述的共享高速缓冲存储器系统,其经集成到装置中,所述装置选自由以下各者组成的群:蜂窝式电话;便携式计算机;台式计算机;计算机监视器;卫星收音机;数字音乐播放器;便携式音乐播放器;及数字视频播放器。
11.根据权利要求1所述的共享高速缓冲存储器系统,其经集成到装置中,所述装置选自由以下各者组成的群:数字视频光盘DVD播放器;及便携式数字视频播放器。
12.一种共享高速缓冲存储器系统,其包括:
用于使所述共享高速缓冲存储器系统的多个高速缓存子分割中的每一高速缓存子分割与多个服务质量(QoS)类别中的服务质量(QoS)类别相关联的装置;
用于接收包括服务质量标识符(QoSID)的存储器存取请求的装置;
用于存取所述多个高速缓存子分割当中的对应于所述存储器存取请求的高速缓存子分割的装置;
用于确定所述存储器存取请求的所述服务质量标识符(QoSID)是否对应于所述多个服务质量(QoS)类别中的与所述高速缓存子分割相关联的所述服务质量(QoS)类别的装置;
用于基于所述用于确定的装置更新多个服务质量标识符(QoSID)跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的服务质量标识符(QoSID)跟踪标签的装置;以及
用于基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量的装置;
其中所述用于基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量的装置包括:
用于确定与所述服务质量(QoS)类别相关联的所述多个高速缓存子分割的分数的装置;
用于确定与所述服务质量(QoS)类别相关联的设定了所述相关联的服务质量标识符(QoSID)跟踪标签的所述多个高速缓存子分割的计数的装置;以及
用于将所述多个高速缓存子分割的所述计数除以所述分数以产生所述近似使用测量的装置。
13.根据权利要求12所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线。
14.根据权利要求12所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的集合。
15.根据权利要求12所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的通路。
16.根据权利要求12所述的共享高速缓冲存储器系统,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的存储体。
17.根据权利要求12所述的共享高速缓冲存储器系统,其中所述多个服务质量标识符(QoSID)跟踪标签与所述多个高速缓存子分割的分散式子集相关联。
18.一种用于产生共享高速缓冲存储器系统的近似使用测量的方法,其包括:
使共享高速缓冲存储器系统的多个高速缓存子分割中的每一高速缓存子分割与多个服务质量(QoS)类别中的服务质量(QoS)类别相关联;
接收包括服务质量标识符(QoSID)的存储器存取请求;
存取所述多个高速缓存子分割当中的对应于所述存储器存取请求的高速缓存子分割;
确定所述存储器存取请求的所述服务质量标识符(QoSID)是否对应于所述多个服务质量(QoS)类别中的与所述高速缓存子分割相关联的所述服务质量(QoS)类别;
基于所述确定更新多个服务质量标识符(QoSID)跟踪标签中的与对应于所述存储器存取请求的所述高速缓存子分割相关联的服务质量标识符(QoSID)跟踪标签;且
基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量;
其中基于所述多个服务质量标识符(QoSID)跟踪标签产生针对所述多个服务质量(QoS)类别中的所述服务质量(QoS)类别的近似使用测量包括:
确定与所述服务质量(QoS)类别相关联的所述多个高速缓存子分割的分数;
确定与所述服务质量(QoS)类别相关联的设定了所述相关联的服务质量标识符(QoSID)跟踪标签的所述多个高速缓存子分割的计数;且
将所述多个高速缓存子分割的所述计数除以所述分数以产生所述近似使用测量。
19.根据权利要求18所述的方法,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线。
20.根据权利要求18所述的方法,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的集合。
21.根据权利要求18所述的方法,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的通路。
22.根据权利要求18所述的方法,其中所述多个高速缓存子分割中的每一高速缓存子分割包括高速缓存线的存储体。
23.根据权利要求18所述的方法,其中所述多个服务质量标识符(QoSID)跟踪标签与所述多个高速缓存子分割的分散式子集相关联。
CN201580061558.3A 2014-11-25 2015-11-09 产生用于共享高速缓冲存储器系统的近似使用测量 Active CN107003947B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462084469P 2014-11-25 2014-11-25
US62/084,469 2014-11-25
US14/860,993 US9697126B2 (en) 2014-11-25 2015-09-22 Generating approximate usage measurements for shared cache memory systems
US14/860,993 2015-09-22
PCT/US2015/059685 WO2016085642A1 (en) 2014-11-25 2015-11-09 Generating approximate usage measurements for shared cache memory systems

Publications (2)

Publication Number Publication Date
CN107003947A CN107003947A (zh) 2017-08-01
CN107003947B true CN107003947B (zh) 2018-08-03

Family

ID=56010345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580061558.3A Active CN107003947B (zh) 2014-11-25 2015-11-09 产生用于共享高速缓冲存储器系统的近似使用测量

Country Status (11)

Country Link
US (1) US9697126B2 (zh)
EP (1) EP3224727B1 (zh)
JP (1) JP6262408B1 (zh)
KR (1) KR101847905B1 (zh)
CN (1) CN107003947B (zh)
AU (1) AU2015354704B2 (zh)
BR (1) BR112017010869A2 (zh)
ES (1) ES2692855T3 (zh)
HU (1) HUE039628T2 (zh)
TW (1) TWI612422B (zh)
WO (1) WO2016085642A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055158B2 (en) * 2016-09-22 2018-08-21 Qualcomm Incorporated Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
US10936490B2 (en) * 2017-06-27 2021-03-02 Intel Corporation System and method for per-agent control and quality of service of shared resources in chip multiprocessor platforms
US10678690B2 (en) * 2017-08-29 2020-06-09 Qualcomm Incorporated Providing fine-grained quality of service (QoS) control using interpolation for partitioned resources in processor-based systems
US11520700B2 (en) 2018-06-29 2022-12-06 Intel Corporation Techniques to support a holistic view of cache class of service for a processor cache
US11693708B2 (en) * 2019-04-24 2023-07-04 Netflix, Inc. Techniques for increasing the isolation of workloads within a multiprocessor instance

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483840A (zh) * 2009-08-21 2012-05-30 英派尔科技开发有限公司 向处理器核分配高速缓冲存储器关联性
CN103502959A (zh) * 2011-04-07 2014-01-08 富士通株式会社 信息处理装置、并行计算机系统以及运算处理装置的控制方法
US8850122B2 (en) * 2011-11-30 2014-09-30 International Business Machines Corporation Cache optimization via predictive cache size modification

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156821A (ja) * 2005-12-05 2007-06-21 Fujitsu Ltd キャッシュシステム及び共用2次キャッシュ
US7725657B2 (en) * 2007-03-21 2010-05-25 Intel Corporation Dynamic quality of service (QoS) for a shared cache
US8296522B2 (en) * 2007-12-20 2012-10-23 Intel Corporation Method, apparatus, and system for shared cache usage to different partitions in a socket with sub-socket partitioning
US8667493B2 (en) 2010-05-07 2014-03-04 Advanced Micro Devices, Inc. Memory-controller-parallelism-aware scheduling for multiple memory controllers
US8458399B2 (en) 2010-11-17 2013-06-04 Lsi Corporation Methods and structure for determining cache size in a storage system
US8751746B2 (en) 2011-12-15 2014-06-10 Apple Inc. QoS management in the L2 cache
US10554505B2 (en) 2012-09-28 2020-02-04 Intel Corporation Managing data center resources to achieve a quality of service

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102483840A (zh) * 2009-08-21 2012-05-30 英派尔科技开发有限公司 向处理器核分配高速缓冲存储器关联性
CN103502959A (zh) * 2011-04-07 2014-01-08 富士通株式会社 信息处理装置、并行计算机系统以及运算处理装置的控制方法
US8850122B2 (en) * 2011-11-30 2014-09-30 International Business Machines Corporation Cache optimization via predictive cache size modification

Also Published As

Publication number Publication date
TWI612422B (zh) 2018-01-21
AU2015354704B2 (en) 2018-03-29
JP2018503891A (ja) 2018-02-08
AU2015354704A1 (en) 2017-05-04
KR101847905B1 (ko) 2018-04-11
ES2692855T3 (es) 2018-12-05
US20160147655A1 (en) 2016-05-26
US9697126B2 (en) 2017-07-04
TW201633149A (zh) 2016-09-16
KR20170087883A (ko) 2017-07-31
BR112017010869A2 (pt) 2018-01-09
WO2016085642A1 (en) 2016-06-02
EP3224727B1 (en) 2018-08-15
JP6262408B1 (ja) 2018-01-17
HUE039628T2 (hu) 2019-01-28
CN107003947A (zh) 2017-08-01
EP3224727A1 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
CN107003947B (zh) 产生用于共享高速缓冲存储器系统的近似使用测量
CN107111557B (zh) 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制
CN103210382B (zh) 基于总线装置健康信息和相关功率管理而仲裁通信总线上的总线事务
CN105718364B (zh) 一种云计算平台中计算资源能力动态评估方法
CN109690500A (zh) 使用在以处理器为基础的系统中的空间服务质量(QoS)标记提供异质存储器系统的弹性管理
US11206193B2 (en) Method and system for provisioning resources in cloud computing
CN109669774A (zh) 硬件资源的量化方法、编排方法、装置及网络设备
CN110753009A (zh) 基于多QoS分组的虚拟机和网络带宽联合分配方法
CN112148665A (zh) 缓存的分配方法及装置
CN108351838A (zh) 使用聚合存储器管理单元(mmu)提供存储器管理功能
CN112148467A (zh) 计算资源的动态分配
CN104750614B (zh) 用于管理存储器的方法和装置
US20230259185A1 (en) Methods, systems, apparatus, and articles of manufacture to control cooling in an edge environment
CN107209643B (zh) 虚拟化环境中的存储资源管理
US20170075589A1 (en) Memory and bus frequency scaling by detecting memory-latency-bound workloads
Reaño et al. Analyzing the performance/power tradeoff of the rCUDA middleware for future exascale systems
US20240111691A1 (en) Time-aware network data transfer
Wang et al. A smart protocol-level task mapping for energy efficient traffic on network-on-chip
Rajamani et al. Spyre: A resource management framework for container-based clouds
Bächle et al. Lightweight performance forecasts for buffer algorithms

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1234855

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: WD

Ref document number: 1234855

Country of ref document: HK