Data Cache Performance When Vector-Like Accesses Bypass the CacheJuly 5, 1997 1 Data Cache
flink状态存储的方式

flink状态存储的方式Flink状态存储的方式一、引言Flink是一种流式处理框架,广泛应用于大数据领域。
在Flink中,状态存储是非常重要的,它能够帮助我们实现状态管理和故障恢复。
本文将介绍Flink中常用的几种状态存储方式,并分析它们的优缺点。
二、内存状态存储内存状态存储是Flink中最常见的状态存储方式之一。
它将状态存储在Flink的TaskManager的堆内存中,以键值对的形式进行存储。
内存状态存储的优点是读写速度快,适用于状态较小且对响应时间要求较高的场景。
然而,由于内存有限,当状态较大时,可能会导致内存溢出的问题。
三、本地硬盘状态存储本地硬盘状态存储是将状态存储在Flink的TaskManager的本地硬盘上。
它的优点是可以存储更大规模的状态数据,同时也能够保证数据的持久性。
然而,由于硬盘的读写速度相对较慢,可能会导致响应时间较长的问题。
四、远程文件系统状态存储远程文件系统状态存储是将状态存储在远程文件系统(如HDFS)中。
它的优点是可以实现状态的持久化存储,即使在发生故障时也能够恢复状态。
同时,远程文件系统可以通过复制和备份来保证数据的安全性。
然而,由于远程文件系统的读写速度相对较慢,可能会影响整体的处理性能。
五、RocksDB状态存储RocksDB是一种基于日志结构合并树(LSM-Tree)的本地存储引擎,在Flink中被广泛应用于状态存储。
RocksDB状态存储的优点是可以实现高效的读写操作,同时也能够保证数据的持久性。
它通过将状态存储在本地磁盘上,并使用内存进行缓存,来平衡读写性能和存储容量。
然而,由于RocksDB需要占用较多的磁盘空间,可能会导致存储成本较高的问题。
六、集群模式下的状态存储在Flink的集群模式下,可以使用分布式存储系统(如Hadoop HDFS、Amazon S3等)来存储状态数据。
这种方式可以实现状态的持久化存储和故障恢复。
同时,它也能够提供高可用性和容错性。
多核处理器cache一致性

一.多核处理器cashe一致性 (2)二.基于无锁机制的事务存储 (3)1.事务的基本概念 (3)2.实现流程-design (4)3.缓存状态 (5)4.事务行为 (5)5. 回退机制 (6)三.TCC模型 (6)1.编程模型 (6)2.TCC系统 (7)四.ASTM (7)1.背景 (7)2.STM设计 (8)2.1. 急迫申请与懒惰申请 (8)2.2.元数据结构 (8)2.3. 间接引用对象 (8)3.基本ASTM设计 (9)五.参考文献 (10)一.多核处理器cache一致性由于后续章节要用到多处理器cashe一致性的协议,这里先简单阐述一下!维持多处理器cashe一致性的协议叫做cashe一致性协议。
而实现cashe一致性协议的关键就是要跟踪一个共享数据块的任何状态。
目前有两种协议,分别使用不同的技术来跟踪共享状态。
一种是基于目录的,一个物理内存中数据块的共享状态保存在一个位置,叫做目录。
另外一种就是snooping协议。
我们先来看看snooping协议的具体实现。
Snooping的做法是,每个cashe不仅保存着一份物理内存的拷贝,而且保存着数据块的共享状态的拷贝。
通过广播介质这些cashe可以被访问,所有的cashe控制器通过介质检测来决定自己是否拥有一份来自总线请求的数据块的拷贝。
目前多处理器普遍采用写无效协议来维持一致性的需求。
它的核心思想就是一个处理器在写数据之前必须确保它对该数据块的互斥访问。
如果一个读操作紧随一个写操作之后,由于写操作是互斥的,它在写之前必须对无效化所有该数据块在其它cashe上的拷贝,当读发生时,它获得一个读缺失而被迫去获取新的拷贝。
如果两个写操作试图对同一数据同时操作,那么只有一个获胜,获胜方使得其它处理器种的cashe拷贝无效化,其它操作要完成它的写操作必须先获得数据的新拷贝,也就是更新的数据的拷贝,因此写无效协议实际上实现了写的序列化。
实现写无效协议的关键是使用总线(bus),或者其它的广播介质来执行无效操作。
prometheus 计算磁盘耗尽指标

prometheus 计算磁盘耗尽指标摘要:1.介绍Prometheus2.Prometheus 的指标和存储占用问题3.优化Prometheus 性能和存储占用的方法4.使用Grafana Mimirtool 精简Prometheus 指标和存储占用5.结论正文:Prometheus 是一个开源的监控和告警工具,广泛应用于云原生和微服务架构中。
它可以收集、处理和展示各种指标,帮助用户了解系统的运行状况。
然而,随着监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,存储占用也会越来越多。
为了解决这个问题,我们可以从两方面入手。
首先,可以考虑使用各种Prometheus 的兼容存储方案,如Thanos 或VM、Mimir 等。
这些方案可以提供集中存储、长期存储、存储降采样及存储压缩等功能,从而在一定程度上解决存储占用问题。
但需要注意的是,这些方案只能治标不能治本,真正解决问题的方法还在于优化Prometheus 的指标量。
其次,我们可以根据实际使用情况精简Prometheus 的指标和存储占用。
具体操作方法如下:1.分析当前Prometheus 中存储的所有metric name(指标项);2.分析展示环节用到的所有metric name,即Grafana 的Dashboards用到的所有指标;3.分析告警环节用到的所有metric name,即Prometheus Rule 配置中用到的所有指标;4.分析诊断环境用到的所有metric name,即经常在Prometheus UI 上query 的指标;5.通过relabel 在metricrelabelconfigs 或writerelabelconfigs 仅keep2-4 中的指标,以此大幅减少Prometheus 需要存储的指标量。
要具体实现这个思路,可以通过Grafana Labs 出品的mimirtool 来搞定。
cacheoptions 参数

cacheoptions 参数
CacheOptions 是一个用于控制缓存行为的参数。
在计算机科学中,缓存是一种临时存储设备,用于存储经常访问的数据,以便更快地访问。
CacheOptions 参数允许开发人员对缓存行为进行一些定制,以满足特定的需求。
缓存是提高计算机性能的重要手段之一。
它可以将经常访问的数据存储在更快的存储介质中,从而减少数据访问的时间。
通过使用CacheOptions 参数,开发人员可以根据不同的场景和需求来控制缓存的行为,以达到更好的性能优化。
CacheOptions 参数的一种常见用法是设置缓存的过期时间。
开发人员可以通过设置一个时间间隔来指定缓存数据的有效期。
当缓存的数据过期后,系统将重新查询数据并更新缓存,以确保数据的准确性和及时性。
另一个常见的用法是设置缓存的大小。
通过设置一个最大容量,开发人员可以限制缓存中存储的数据量。
当达到最大容量时,系统可以采取一些策略来决定如何清理缓存,例如删除最近最少使用的数据或者按照一定的优先级进行清理。
CacheOptions 参数还可以用于设置缓存的策略。
开发人员可以根据不同的需求选择不同的缓存策略,例如先进先出(FIFO)、最近最少使用(LRU)等。
这些策略可以根据数据的访问模式来选择合适的缓
存替换算法,以提高缓存的命中率和性能。
CacheOptions 参数提供了一些灵活的选项,使开发人员能够根据具体的应用场景来定制缓存的行为。
通过合理地使用这些参数,可以提高系统的性能和效率,从而提供更好的用户体验。
3GPP TS 36.331 V13.2.0 (2016-06)

3GPP TS 36.331 V13.2.0 (2016-06)Technical Specification3rd Generation Partnership Project;Technical Specification Group Radio Access Network;Evolved Universal Terrestrial Radio Access (E-UTRA);Radio Resource Control (RRC);Protocol specification(Release 13)The present document has been developed within the 3rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP. The present document has not been subject to any approval process by the 3GPP Organizational Partners and shall not be implemented.This Specification is provided for future development work within 3GPP only. The Organizational Partners accept no liability for any use of this Specification. Specifications and reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organizational Partners' Publications Offices.KeywordsUMTS, radio3GPPPostal address3GPP support office address650 Route des Lucioles - Sophia AntipolisValbonne - FRANCETel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16InternetCopyright NotificationNo part may be reproduced except as authorized by written permission.The copyright and the foregoing restriction extend to reproduction in all media.© 2016, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).All rights reserved.UMTS™ is a Trade Mark of ETSI registered for the benefit of its members3GPP™ is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational PartnersLTE™ is a Trade Mark of ETSI currently being registered for the benefit of its Members and of the 3GPP Organizational Partners GSM® and the GSM logo are registered and owned by the GSM AssociationBluetooth® is a Trade Mark of the Bluetooth SIG registered for the benefit of its membersContentsForeword (18)1Scope (19)2References (19)3Definitions, symbols and abbreviations (22)3.1Definitions (22)3.2Abbreviations (24)4General (27)4.1Introduction (27)4.2Architecture (28)4.2.1UE states and state transitions including inter RAT (28)4.2.2Signalling radio bearers (29)4.3Services (30)4.3.1Services provided to upper layers (30)4.3.2Services expected from lower layers (30)4.4Functions (30)5Procedures (32)5.1General (32)5.1.1Introduction (32)5.1.2General requirements (32)5.2System information (33)5.2.1Introduction (33)5.2.1.1General (33)5.2.1.2Scheduling (34)5.2.1.2a Scheduling for NB-IoT (34)5.2.1.3System information validity and notification of changes (35)5.2.1.4Indication of ETWS notification (36)5.2.1.5Indication of CMAS notification (37)5.2.1.6Notification of EAB parameters change (37)5.2.1.7Access Barring parameters change in NB-IoT (37)5.2.2System information acquisition (38)5.2.2.1General (38)5.2.2.2Initiation (38)5.2.2.3System information required by the UE (38)5.2.2.4System information acquisition by the UE (39)5.2.2.5Essential system information missing (42)5.2.2.6Actions upon reception of the MasterInformationBlock message (42)5.2.2.7Actions upon reception of the SystemInformationBlockType1 message (42)5.2.2.8Actions upon reception of SystemInformation messages (44)5.2.2.9Actions upon reception of SystemInformationBlockType2 (44)5.2.2.10Actions upon reception of SystemInformationBlockType3 (45)5.2.2.11Actions upon reception of SystemInformationBlockType4 (45)5.2.2.12Actions upon reception of SystemInformationBlockType5 (45)5.2.2.13Actions upon reception of SystemInformationBlockType6 (45)5.2.2.14Actions upon reception of SystemInformationBlockType7 (45)5.2.2.15Actions upon reception of SystemInformationBlockType8 (45)5.2.2.16Actions upon reception of SystemInformationBlockType9 (46)5.2.2.17Actions upon reception of SystemInformationBlockType10 (46)5.2.2.18Actions upon reception of SystemInformationBlockType11 (46)5.2.2.19Actions upon reception of SystemInformationBlockType12 (47)5.2.2.20Actions upon reception of SystemInformationBlockType13 (48)5.2.2.21Actions upon reception of SystemInformationBlockType14 (48)5.2.2.22Actions upon reception of SystemInformationBlockType15 (48)5.2.2.23Actions upon reception of SystemInformationBlockType16 (48)5.2.2.24Actions upon reception of SystemInformationBlockType17 (48)5.2.2.25Actions upon reception of SystemInformationBlockType18 (48)5.2.2.26Actions upon reception of SystemInformationBlockType19 (49)5.2.3Acquisition of an SI message (49)5.2.3a Acquisition of an SI message by BL UE or UE in CE or a NB-IoT UE (50)5.3Connection control (50)5.3.1Introduction (50)5.3.1.1RRC connection control (50)5.3.1.2Security (52)5.3.1.2a RN security (53)5.3.1.3Connected mode mobility (53)5.3.1.4Connection control in NB-IoT (54)5.3.2Paging (55)5.3.2.1General (55)5.3.2.2Initiation (55)5.3.2.3Reception of the Paging message by the UE (55)5.3.3RRC connection establishment (56)5.3.3.1General (56)5.3.3.1a Conditions for establishing RRC Connection for sidelink communication/ discovery (58)5.3.3.2Initiation (59)5.3.3.3Actions related to transmission of RRCConnectionRequest message (63)5.3.3.3a Actions related to transmission of RRCConnectionResumeRequest message (64)5.3.3.4Reception of the RRCConnectionSetup by the UE (64)5.3.3.4a Reception of the RRCConnectionResume by the UE (66)5.3.3.5Cell re-selection while T300, T302, T303, T305, T306, or T308 is running (68)5.3.3.6T300 expiry (68)5.3.3.7T302, T303, T305, T306, or T308 expiry or stop (69)5.3.3.8Reception of the RRCConnectionReject by the UE (70)5.3.3.9Abortion of RRC connection establishment (71)5.3.3.10Handling of SSAC related parameters (71)5.3.3.11Access barring check (72)5.3.3.12EAB check (73)5.3.3.13Access barring check for ACDC (73)5.3.3.14Access Barring check for NB-IoT (74)5.3.4Initial security activation (75)5.3.4.1General (75)5.3.4.2Initiation (76)5.3.4.3Reception of the SecurityModeCommand by the UE (76)5.3.5RRC connection reconfiguration (77)5.3.5.1General (77)5.3.5.2Initiation (77)5.3.5.3Reception of an RRCConnectionReconfiguration not including the mobilityControlInfo by theUE (77)5.3.5.4Reception of an RRCConnectionReconfiguration including the mobilityControlInfo by the UE(handover) (79)5.3.5.5Reconfiguration failure (83)5.3.5.6T304 expiry (handover failure) (83)5.3.5.7Void (84)5.3.5.7a T307 expiry (SCG change failure) (84)5.3.5.8Radio Configuration involving full configuration option (84)5.3.6Counter check (86)5.3.6.1General (86)5.3.6.2Initiation (86)5.3.6.3Reception of the CounterCheck message by the UE (86)5.3.7RRC connection re-establishment (87)5.3.7.1General (87)5.3.7.2Initiation (87)5.3.7.3Actions following cell selection while T311 is running (88)5.3.7.4Actions related to transmission of RRCConnectionReestablishmentRequest message (89)5.3.7.5Reception of the RRCConnectionReestablishment by the UE (89)5.3.7.6T311 expiry (91)5.3.7.7T301 expiry or selected cell no longer suitable (91)5.3.7.8Reception of RRCConnectionReestablishmentReject by the UE (91)5.3.8RRC connection release (92)5.3.8.1General (92)5.3.8.2Initiation (92)5.3.8.3Reception of the RRCConnectionRelease by the UE (92)5.3.8.4T320 expiry (93)5.3.9RRC connection release requested by upper layers (93)5.3.9.1General (93)5.3.9.2Initiation (93)5.3.10Radio resource configuration (93)5.3.10.0General (93)5.3.10.1SRB addition/ modification (94)5.3.10.2DRB release (95)5.3.10.3DRB addition/ modification (95)5.3.10.3a1DC specific DRB addition or reconfiguration (96)5.3.10.3a2LWA specific DRB addition or reconfiguration (98)5.3.10.3a3LWIP specific DRB addition or reconfiguration (98)5.3.10.3a SCell release (99)5.3.10.3b SCell addition/ modification (99)5.3.10.3c PSCell addition or modification (99)5.3.10.4MAC main reconfiguration (99)5.3.10.5Semi-persistent scheduling reconfiguration (100)5.3.10.6Physical channel reconfiguration (100)5.3.10.7Radio Link Failure Timers and Constants reconfiguration (101)5.3.10.8Time domain measurement resource restriction for serving cell (101)5.3.10.9Other configuration (102)5.3.10.10SCG reconfiguration (103)5.3.10.11SCG dedicated resource configuration (104)5.3.10.12Reconfiguration SCG or split DRB by drb-ToAddModList (105)5.3.10.13Neighbour cell information reconfiguration (105)5.3.10.14Void (105)5.3.10.15Sidelink dedicated configuration (105)5.3.10.16T370 expiry (106)5.3.11Radio link failure related actions (107)5.3.11.1Detection of physical layer problems in RRC_CONNECTED (107)5.3.11.2Recovery of physical layer problems (107)5.3.11.3Detection of radio link failure (107)5.3.12UE actions upon leaving RRC_CONNECTED (109)5.3.13UE actions upon PUCCH/ SRS release request (110)5.3.14Proximity indication (110)5.3.14.1General (110)5.3.14.2Initiation (111)5.3.14.3Actions related to transmission of ProximityIndication message (111)5.3.15Void (111)5.4Inter-RAT mobility (111)5.4.1Introduction (111)5.4.2Handover to E-UTRA (112)5.4.2.1General (112)5.4.2.2Initiation (112)5.4.2.3Reception of the RRCConnectionReconfiguration by the UE (112)5.4.2.4Reconfiguration failure (114)5.4.2.5T304 expiry (handover to E-UTRA failure) (114)5.4.3Mobility from E-UTRA (114)5.4.3.1General (114)5.4.3.2Initiation (115)5.4.3.3Reception of the MobilityFromEUTRACommand by the UE (115)5.4.3.4Successful completion of the mobility from E-UTRA (116)5.4.3.5Mobility from E-UTRA failure (117)5.4.4Handover from E-UTRA preparation request (CDMA2000) (117)5.4.4.1General (117)5.4.4.2Initiation (118)5.4.4.3Reception of the HandoverFromEUTRAPreparationRequest by the UE (118)5.4.5UL handover preparation transfer (CDMA2000) (118)5.4.5.1General (118)5.4.5.2Initiation (118)5.4.5.3Actions related to transmission of the ULHandoverPreparationTransfer message (119)5.4.5.4Failure to deliver the ULHandoverPreparationTransfer message (119)5.4.6Inter-RAT cell change order to E-UTRAN (119)5.4.6.1General (119)5.4.6.2Initiation (119)5.4.6.3UE fails to complete an inter-RAT cell change order (119)5.5Measurements (120)5.5.1Introduction (120)5.5.2Measurement configuration (121)5.5.2.1General (121)5.5.2.2Measurement identity removal (122)5.5.2.2a Measurement identity autonomous removal (122)5.5.2.3Measurement identity addition/ modification (123)5.5.2.4Measurement object removal (124)5.5.2.5Measurement object addition/ modification (124)5.5.2.6Reporting configuration removal (126)5.5.2.7Reporting configuration addition/ modification (127)5.5.2.8Quantity configuration (127)5.5.2.9Measurement gap configuration (127)5.5.2.10Discovery signals measurement timing configuration (128)5.5.2.11RSSI measurement timing configuration (128)5.5.3Performing measurements (128)5.5.3.1General (128)5.5.3.2Layer 3 filtering (131)5.5.4Measurement report triggering (131)5.5.4.1General (131)5.5.4.2Event A1 (Serving becomes better than threshold) (135)5.5.4.3Event A2 (Serving becomes worse than threshold) (136)5.5.4.4Event A3 (Neighbour becomes offset better than PCell/ PSCell) (136)5.5.4.5Event A4 (Neighbour becomes better than threshold) (137)5.5.4.6Event A5 (PCell/ PSCell becomes worse than threshold1 and neighbour becomes better thanthreshold2) (138)5.5.4.6a Event A6 (Neighbour becomes offset better than SCell) (139)5.5.4.7Event B1 (Inter RAT neighbour becomes better than threshold) (139)5.5.4.8Event B2 (PCell becomes worse than threshold1 and inter RAT neighbour becomes better thanthreshold2) (140)5.5.4.9Event C1 (CSI-RS resource becomes better than threshold) (141)5.5.4.10Event C2 (CSI-RS resource becomes offset better than reference CSI-RS resource) (141)5.5.4.11Event W1 (WLAN becomes better than a threshold) (142)5.5.4.12Event W2 (All WLAN inside WLAN mobility set becomes worse than threshold1 and a WLANoutside WLAN mobility set becomes better than threshold2) (142)5.5.4.13Event W3 (All WLAN inside WLAN mobility set becomes worse than a threshold) (143)5.5.5Measurement reporting (144)5.5.6Measurement related actions (148)5.5.6.1Actions upon handover and re-establishment (148)5.5.6.2Speed dependant scaling of measurement related parameters (149)5.5.7Inter-frequency RSTD measurement indication (149)5.5.7.1General (149)5.5.7.2Initiation (150)5.5.7.3Actions related to transmission of InterFreqRSTDMeasurementIndication message (150)5.6Other (150)5.6.0General (150)5.6.1DL information transfer (151)5.6.1.1General (151)5.6.1.2Initiation (151)5.6.1.3Reception of the DLInformationTransfer by the UE (151)5.6.2UL information transfer (151)5.6.2.1General (151)5.6.2.2Initiation (151)5.6.2.3Actions related to transmission of ULInformationTransfer message (152)5.6.2.4Failure to deliver ULInformationTransfer message (152)5.6.3UE capability transfer (152)5.6.3.1General (152)5.6.3.2Initiation (153)5.6.3.3Reception of the UECapabilityEnquiry by the UE (153)5.6.4CSFB to 1x Parameter transfer (157)5.6.4.1General (157)5.6.4.2Initiation (157)5.6.4.3Actions related to transmission of CSFBParametersRequestCDMA2000 message (157)5.6.4.4Reception of the CSFBParametersResponseCDMA2000 message (157)5.6.5UE Information (158)5.6.5.1General (158)5.6.5.2Initiation (158)5.6.5.3Reception of the UEInformationRequest message (158)5.6.6 Logged Measurement Configuration (159)5.6.6.1General (159)5.6.6.2Initiation (160)5.6.6.3Reception of the LoggedMeasurementConfiguration by the UE (160)5.6.6.4T330 expiry (160)5.6.7 Release of Logged Measurement Configuration (160)5.6.7.1General (160)5.6.7.2Initiation (160)5.6.8 Measurements logging (161)5.6.8.1General (161)5.6.8.2Initiation (161)5.6.9In-device coexistence indication (163)5.6.9.1General (163)5.6.9.2Initiation (164)5.6.9.3Actions related to transmission of InDeviceCoexIndication message (164)5.6.10UE Assistance Information (165)5.6.10.1General (165)5.6.10.2Initiation (166)5.6.10.3Actions related to transmission of UEAssistanceInformation message (166)5.6.11 Mobility history information (166)5.6.11.1General (166)5.6.11.2Initiation (166)5.6.12RAN-assisted WLAN interworking (167)5.6.12.1General (167)5.6.12.2Dedicated WLAN offload configuration (167)5.6.12.3WLAN offload RAN evaluation (167)5.6.12.4T350 expiry or stop (167)5.6.12.5Cell selection/ re-selection while T350 is running (168)5.6.13SCG failure information (168)5.6.13.1General (168)5.6.13.2Initiation (168)5.6.13.3Actions related to transmission of SCGFailureInformation message (168)5.6.14LTE-WLAN Aggregation (169)5.6.14.1Introduction (169)5.6.14.2Reception of LWA configuration (169)5.6.14.3Release of LWA configuration (170)5.6.15WLAN connection management (170)5.6.15.1Introduction (170)5.6.15.2WLAN connection status reporting (170)5.6.15.2.1General (170)5.6.15.2.2Initiation (171)5.6.15.2.3Actions related to transmission of WLANConnectionStatusReport message (171)5.6.15.3T351 Expiry (WLAN connection attempt timeout) (171)5.6.15.4WLAN status monitoring (171)5.6.16RAN controlled LTE-WLAN interworking (172)5.6.16.1General (172)5.6.16.2WLAN traffic steering command (172)5.6.17LTE-WLAN aggregation with IPsec tunnel (173)5.6.17.1General (173)5.7Generic error handling (174)5.7.1General (174)5.7.2ASN.1 violation or encoding error (174)5.7.3Field set to a not comprehended value (174)5.7.4Mandatory field missing (174)5.7.5Not comprehended field (176)5.8MBMS (176)5.8.1Introduction (176)5.8.1.1General (176)5.8.1.2Scheduling (176)5.8.1.3MCCH information validity and notification of changes (176)5.8.2MCCH information acquisition (178)5.8.2.1General (178)5.8.2.2Initiation (178)5.8.2.3MCCH information acquisition by the UE (178)5.8.2.4Actions upon reception of the MBSFNAreaConfiguration message (178)5.8.2.5Actions upon reception of the MBMSCountingRequest message (179)5.8.3MBMS PTM radio bearer configuration (179)5.8.3.1General (179)5.8.3.2Initiation (179)5.8.3.3MRB establishment (179)5.8.3.4MRB release (179)5.8.4MBMS Counting Procedure (179)5.8.4.1General (179)5.8.4.2Initiation (180)5.8.4.3Reception of the MBMSCountingRequest message by the UE (180)5.8.5MBMS interest indication (181)5.8.5.1General (181)5.8.5.2Initiation (181)5.8.5.3Determine MBMS frequencies of interest (182)5.8.5.4Actions related to transmission of MBMSInterestIndication message (183)5.8a SC-PTM (183)5.8a.1Introduction (183)5.8a.1.1General (183)5.8a.1.2SC-MCCH scheduling (183)5.8a.1.3SC-MCCH information validity and notification of changes (183)5.8a.1.4Procedures (184)5.8a.2SC-MCCH information acquisition (184)5.8a.2.1General (184)5.8a.2.2Initiation (184)5.8a.2.3SC-MCCH information acquisition by the UE (184)5.8a.2.4Actions upon reception of the SCPTMConfiguration message (185)5.8a.3SC-PTM radio bearer configuration (185)5.8a.3.1General (185)5.8a.3.2Initiation (185)5.8a.3.3SC-MRB establishment (185)5.8a.3.4SC-MRB release (185)5.9RN procedures (186)5.9.1RN reconfiguration (186)5.9.1.1General (186)5.9.1.2Initiation (186)5.9.1.3Reception of the RNReconfiguration by the RN (186)5.10Sidelink (186)5.10.1Introduction (186)5.10.1a Conditions for sidelink communication operation (187)5.10.2Sidelink UE information (188)5.10.2.1General (188)5.10.2.2Initiation (189)5.10.2.3Actions related to transmission of SidelinkUEInformation message (193)5.10.3Sidelink communication monitoring (195)5.10.6Sidelink discovery announcement (198)5.10.6a Sidelink discovery announcement pool selection (201)5.10.6b Sidelink discovery announcement reference carrier selection (201)5.10.7Sidelink synchronisation information transmission (202)5.10.7.1General (202)5.10.7.2Initiation (203)5.10.7.3Transmission of SLSS (204)5.10.7.4Transmission of MasterInformationBlock-SL message (205)5.10.7.5Void (206)5.10.8Sidelink synchronisation reference (206)5.10.8.1General (206)5.10.8.2Selection and reselection of synchronisation reference UE (SyncRef UE) (206)5.10.9Sidelink common control information (207)5.10.9.1General (207)5.10.9.2Actions related to reception of MasterInformationBlock-SL message (207)5.10.10Sidelink relay UE operation (207)5.10.10.1General (207)5.10.10.2AS-conditions for relay related sidelink communication transmission by sidelink relay UE (207)5.10.10.3AS-conditions for relay PS related sidelink discovery transmission by sidelink relay UE (208)5.10.10.4Sidelink relay UE threshold conditions (208)5.10.11Sidelink remote UE operation (208)5.10.11.1General (208)5.10.11.2AS-conditions for relay related sidelink communication transmission by sidelink remote UE (208)5.10.11.3AS-conditions for relay PS related sidelink discovery transmission by sidelink remote UE (209)5.10.11.4Selection and reselection of sidelink relay UE (209)5.10.11.5Sidelink remote UE threshold conditions (210)6Protocol data units, formats and parameters (tabular & ASN.1) (210)6.1General (210)6.2RRC messages (212)6.2.1General message structure (212)–EUTRA-RRC-Definitions (212)–BCCH-BCH-Message (212)–BCCH-DL-SCH-Message (212)–BCCH-DL-SCH-Message-BR (213)–MCCH-Message (213)–PCCH-Message (213)–DL-CCCH-Message (214)–DL-DCCH-Message (214)–UL-CCCH-Message (214)–UL-DCCH-Message (215)–SC-MCCH-Message (215)6.2.2Message definitions (216)–CounterCheck (216)–CounterCheckResponse (217)–CSFBParametersRequestCDMA2000 (217)–CSFBParametersResponseCDMA2000 (218)–DLInformationTransfer (218)–HandoverFromEUTRAPreparationRequest (CDMA2000) (219)–InDeviceCoexIndication (220)–InterFreqRSTDMeasurementIndication (222)–LoggedMeasurementConfiguration (223)–MasterInformationBlock (225)–MBMSCountingRequest (226)–MBMSCountingResponse (226)–MBMSInterestIndication (227)–MBSFNAreaConfiguration (228)–MeasurementReport (228)–MobilityFromEUTRACommand (229)–Paging (232)–ProximityIndication (233)–RNReconfiguration (234)–RNReconfigurationComplete (234)–RRCConnectionReconfiguration (235)–RRCConnectionReconfigurationComplete (240)–RRCConnectionReestablishment (241)–RRCConnectionReestablishmentComplete (241)–RRCConnectionReestablishmentReject (242)–RRCConnectionReestablishmentRequest (243)–RRCConnectionReject (243)–RRCConnectionRelease (244)–RRCConnectionResume (248)–RRCConnectionResumeComplete (249)–RRCConnectionResumeRequest (250)–RRCConnectionRequest (250)–RRCConnectionSetup (251)–RRCConnectionSetupComplete (252)–SCGFailureInformation (253)–SCPTMConfiguration (254)–SecurityModeCommand (255)–SecurityModeComplete (255)–SecurityModeFailure (256)–SidelinkUEInformation (256)–SystemInformation (258)–SystemInformationBlockType1 (259)–UEAssistanceInformation (264)–UECapabilityEnquiry (265)–UECapabilityInformation (266)–UEInformationRequest (267)–UEInformationResponse (267)–ULHandoverPreparationTransfer (CDMA2000) (273)–ULInformationTransfer (274)–WLANConnectionStatusReport (274)6.3RRC information elements (275)6.3.1System information blocks (275)–SystemInformationBlockType2 (275)–SystemInformationBlockType3 (279)–SystemInformationBlockType4 (282)–SystemInformationBlockType5 (283)–SystemInformationBlockType6 (287)–SystemInformationBlockType7 (289)–SystemInformationBlockType8 (290)–SystemInformationBlockType9 (295)–SystemInformationBlockType10 (295)–SystemInformationBlockType11 (296)–SystemInformationBlockType12 (297)–SystemInformationBlockType13 (297)–SystemInformationBlockType14 (298)–SystemInformationBlockType15 (298)–SystemInformationBlockType16 (299)–SystemInformationBlockType17 (300)–SystemInformationBlockType18 (301)–SystemInformationBlockType19 (301)–SystemInformationBlockType20 (304)6.3.2Radio resource control information elements (304)–AntennaInfo (304)–AntennaInfoUL (306)–CQI-ReportConfig (307)–CQI-ReportPeriodicProcExtId (314)–CrossCarrierSchedulingConfig (314)–CSI-IM-Config (315)–CSI-IM-ConfigId (315)–CSI-RS-Config (317)–CSI-RS-ConfigEMIMO (318)–CSI-RS-ConfigNZP (319)–CSI-RS-ConfigNZPId (320)–CSI-RS-ConfigZP (321)–CSI-RS-ConfigZPId (321)–DMRS-Config (321)–DRB-Identity (322)–EPDCCH-Config (322)–EIMTA-MainConfig (324)–LogicalChannelConfig (325)–LWA-Configuration (326)–LWIP-Configuration (326)–RCLWI-Configuration (327)–MAC-MainConfig (327)–P-C-AndCBSR (332)–PDCCH-ConfigSCell (333)–PDCP-Config (334)–PDSCH-Config (337)–PDSCH-RE-MappingQCL-ConfigId (339)–PHICH-Config (339)–PhysicalConfigDedicated (339)–P-Max (344)–PRACH-Config (344)–PresenceAntennaPort1 (346)–PUCCH-Config (347)–PUSCH-Config (351)–RACH-ConfigCommon (355)–RACH-ConfigDedicated (357)–RadioResourceConfigCommon (358)–RadioResourceConfigDedicated (362)–RLC-Config (367)–RLF-TimersAndConstants (369)–RN-SubframeConfig (370)–SchedulingRequestConfig (371)–SoundingRS-UL-Config (372)–SPS-Config (375)–TDD-Config (376)–TimeAlignmentTimer (377)–TPC-PDCCH-Config (377)–TunnelConfigLWIP (378)–UplinkPowerControl (379)–WLAN-Id-List (382)–WLAN-MobilityConfig (382)6.3.3Security control information elements (382)–NextHopChainingCount (382)–SecurityAlgorithmConfig (383)–ShortMAC-I (383)6.3.4Mobility control information elements (383)–AdditionalSpectrumEmission (383)–ARFCN-ValueCDMA2000 (383)–ARFCN-ValueEUTRA (384)–ARFCN-ValueGERAN (384)–ARFCN-ValueUTRA (384)–BandclassCDMA2000 (384)–BandIndicatorGERAN (385)–CarrierFreqCDMA2000 (385)–CarrierFreqGERAN (385)–CellIndexList (387)–CellReselectionPriority (387)–CellSelectionInfoCE (387)–CellReselectionSubPriority (388)–CSFB-RegistrationParam1XRTT (388)–CellGlobalIdEUTRA (389)–CellGlobalIdUTRA (389)–CellGlobalIdGERAN (390)–CellGlobalIdCDMA2000 (390)–CellSelectionInfoNFreq (391)–CSG-Identity (391)–FreqBandIndicator (391)–MobilityControlInfo (391)–MobilityParametersCDMA2000 (1xRTT) (393)–MobilityStateParameters (394)–MultiBandInfoList (394)–NS-PmaxList (394)–PhysCellId (395)–PhysCellIdRange (395)–PhysCellIdRangeUTRA-FDDList (395)–PhysCellIdCDMA2000 (396)–PhysCellIdGERAN (396)–PhysCellIdUTRA-FDD (396)–PhysCellIdUTRA-TDD (396)–PLMN-Identity (397)–PLMN-IdentityList3 (397)–PreRegistrationInfoHRPD (397)–Q-QualMin (398)–Q-RxLevMin (398)–Q-OffsetRange (398)–Q-OffsetRangeInterRAT (399)–ReselectionThreshold (399)–ReselectionThresholdQ (399)–SCellIndex (399)–ServCellIndex (400)–SpeedStateScaleFactors (400)–SystemInfoListGERAN (400)–SystemTimeInfoCDMA2000 (401)–TrackingAreaCode (401)–T-Reselection (402)–T-ReselectionEUTRA-CE (402)6.3.5Measurement information elements (402)–AllowedMeasBandwidth (402)–CSI-RSRP-Range (402)–Hysteresis (402)–LocationInfo (403)–MBSFN-RSRQ-Range (403)–MeasConfig (404)–MeasDS-Config (405)–MeasGapConfig (406)–MeasId (407)–MeasIdToAddModList (407)–MeasObjectCDMA2000 (408)–MeasObjectEUTRA (408)–MeasObjectGERAN (412)–MeasObjectId (412)–MeasObjectToAddModList (412)–MeasObjectUTRA (413)–ReportConfigEUTRA (422)–ReportConfigId (425)–ReportConfigInterRAT (425)–ReportConfigToAddModList (428)–ReportInterval (429)–RSRP-Range (429)–RSRQ-Range (430)–RSRQ-Type (430)–RS-SINR-Range (430)–RSSI-Range-r13 (431)–TimeToTrigger (431)–UL-DelayConfig (431)–WLAN-CarrierInfo (431)–WLAN-RSSI-Range (432)–WLAN-Status (432)6.3.6Other information elements (433)–AbsoluteTimeInfo (433)–AreaConfiguration (433)–C-RNTI (433)–DedicatedInfoCDMA2000 (434)–DedicatedInfoNAS (434)–FilterCoefficient (434)–LoggingDuration (434)–LoggingInterval (435)–MeasSubframePattern (435)–MMEC (435)–NeighCellConfig (435)–OtherConfig (436)–RAND-CDMA2000 (1xRTT) (437)–RAT-Type (437)–ResumeIdentity (437)–RRC-TransactionIdentifier (438)–S-TMSI (438)–TraceReference (438)–UE-CapabilityRAT-ContainerList (438)–UE-EUTRA-Capability (439)–UE-RadioPagingInfo (469)–UE-TimersAndConstants (469)–VisitedCellInfoList (470)–WLAN-OffloadConfig (470)6.3.7MBMS information elements (472)–MBMS-NotificationConfig (472)–MBMS-ServiceList (473)–MBSFN-AreaId (473)–MBSFN-AreaInfoList (473)–MBSFN-SubframeConfig (474)–PMCH-InfoList (475)6.3.7a SC-PTM information elements (476)–SC-MTCH-InfoList (476)–SCPTM-NeighbourCellList (478)6.3.8Sidelink information elements (478)–SL-CommConfig (478)–SL-CommResourcePool (479)–SL-CP-Len (480)–SL-DiscConfig (481)–SL-DiscResourcePool (483)–SL-DiscTxPowerInfo (485)–SL-GapConfig (485)。
RAID卡是否有(启用)缓存对“随机读写”性能有巨大的影响。

RAID卡是否有(启⽤)缓存对“随机读写”性能有巨⼤的影响。
RAID卡是否有(启⽤)缓存对“随机读写”性能有巨⼤的影响。
中⾼端的RAID卡都有缓存(价格也⾼)。
那么RAID卡的缓存与磁盘⾃带的缓存是如何设置的?
戴尔服务器的perc H710 RAID卡有512M缓存,并带电池。
建⽴阵列的时候(raid5),关于RAID卡缓存的默认选项是:
读取策略:⾃适应
写策略:回写(Write Back)
磁盘⾼速缓存策略:禁⽤
属性解释:
读取策略:⼀般要启⽤,采⽤预读取策略,可提⾼“随机读取”性能。
第⼆次读取相同数据时可以命中缓存。
写策略:
⼀般要启⽤“回写”,数据写⼊操作的是RAID卡上的缓存。
写⼊数据时先写⼊到缓存就算写⼊成功了,然后RAID卡控制器再把多个写IO合并为⼀个写IO⼀次性写⼊磁盘,提⾼“随机写⼊”的性能。
因为RAID卡带电池,机房停电时,电池可给缓存供电72⼩时。
缓存中的数据不会丢失。
另外,如果没有给缓存接电池,默认“写缓存”是不被启⽤的(除⾮强⾏设定为“没有电池也启⽤写缓存”)。
磁盘⾼速缓存策略:
操作的是磁盘⾃带的⾼速缓存。
做RAID时,⼀般要禁⽤,防⽌机房停电时磁盘⾃带缓存中的数据丢失。
磁盘可不带电池。
RAID卡控制器可控制磁盘⾃带的缓存是否启⽤。
家⽤台试机(未使⽤RAID卡)在windows操作系统中有选项可以控制磁盘⾃带的缓存是否启⽤(默认启⽤)。
cachebuild 用法

cachebuild 用法
cachebuild是Docker命令,用于构建镜像时使用缓存。
cachebuild的基本原理是在父节点存在缓存的前提下,如果当前Dockerfile的那条语句之前也构建过,就可以使用缓存。
但在ADD和COPY语句时会计算checksum,如果中间有一层不能使用缓存,那之后的层次都不能使用缓存。
例如,在Dockerfile中使用RUN go get xxx语句时,如果提交了最新代码并重新构建,可能会命中缓存,导致构建出的镜像使用的是之前的代码。
这时,可以在RUN go get xxx 之前添加一句标识来阻断缓存继续命中,这样接下来的语句都会重新执行而不继续检查缓存。
cachebuild的用法可以提高构建镜像的效率,但需要注意的是,在构建过程中,需要确保缓存的内容是最新的,以避免出现不必要的错误。
Catapult Vector 用户手册说明书

Catapult Vector User ManualContents1.OUTLINE …………………………………………………………………………………………………….Pg. 22.VECTOR S7 DEVICE …………………………………………………………………………………… Pg. 2 - 43.SYSTEM LOGIN …………………………………………………………………………………………..Pg. 4 - 54.COLLECTING DATA ……………………………………………………………………………………..Pg. 6 - 75.DOWNLOADING DATA ………………………………………………………………………………Pg. 7 - 86.SOFTWARE USER GUIDE LINKS ………………………………………………………………….. Pg. 87.VECTOR ANCHOR & VECTOR DOCK …………………………………………………………… Pg. 9 - 108.SUPPORT & HELP ……………………………………………………………………………………… Pg. 109.REGULATORY NOTICES …………………………………………………………………………….. Pg. 10 - 111. OUTLINEThe Catapult Vector S7device is a professional-grade GNSS system designed to measure the performance of elite athletes within individual and team sports. This document introduces the Vector S7 hardware components and provides an explanation of functionality and general operation.The OpenField software system Data is collected live and downloaded to the OpenField console and can then be uploaded to the OpenField cloud post session. To store the collected data on the OpenField cloud, data must be synced from the console to the cloud over a solid internet connection. Users have the option to use the OpenField+ mobile/iPad app to view live data through a mobile or an iPad over a local Catapult Wi-Fi. This improves accessibility as it enables users to be more mobile around the pitch and to share live data more easily with coaches and players.The hardware components of the Vector system include the Vector devices, a wireless UWB receiver(s) for GPS/GNSS and RTLS tracking.2. VECTOR S7 DEVICEThe Vector S7 is a wearable (combined) GNSS / LPS device with embedded microsensors that is used to measure the performance of elite athletes, in both real-time and post session.The Vector S7 device contains the following measurement sensors and components:•GNSS module (10Hz GNSS / 18Hz GPS)•GNSS antenna•RTLS antenna•Tri-axial Accelerometer (up to 1000 Hz)•Tri-axial Gyroscope (up to 1000 Hz)•Tri-axial Magnetometer (up to 1000Hz)•Magnetic Heart Rate Receiver•ECG heart rate board (up to 250Hz)•Bluetooth Low Energy•Dev ice status LED’s•Haptic feedback via vibration unit•UWB Antenna (3774.0 MHz to 4243.2 MHz)All sensors are sampling continuously, and data is logged onto an onboard SD card as well as transmitted live via ultra-wide-band (UWB) or Bluetooth (BLE).Figure 1. – Vector S7 wearable DeviceDEVICE ICON/LED FUNCTIONALITYA: Indicates the state of the battery (charging, low battery, ect)B: Indicates a connection to the sateliete (GNSS) or ClearSky RTLS system.C: Indicates a connection to Heart RateD: Indicates use of ultra-wide band.E: Indicates a connection to Bluetooth.Vector S7 Device Operation Overview:1.Charging: Each Vector S7 device is charged and configured, prior to use, using the specificallydesigned Vector Dock. This is a 24-device tray that connects to mains supply mains supply for the purpose of Vector S7 charging.2.Configuration: Configuration of the Vector S7 occurs via USB serial connection from the dock tothe desktop software (OpenField) where athlete and device settings are transferred and stored on the Vector S7 device. This process occurs automatically as the devices are recognized by thesystem and as each device is assigned to an athlete.3.Assigning Athletes to Devices: after logging in and pressing start, navigating to the settings menuwill show athletes. Pressing ‘auto-assign’ will assign device ID’s to players and will then transferthis configuration to the devices as described above4.Starting a live session: Connect the Vector Anchor via USB. In the software from the main screen,press the ‘quick start’ icon to start a live session. Vector S7 devices will show in ‘active players’once they obtain GNSS lock and data transmission will begin. You can check if data is incoming by checking the orange and black bar in the top right corner of the interface. Press ‘All’ in activeplayers box then press ‘+period’ to start recording. To end the live session, press the stop icon5.Download Session: Turn the devices off by pressing the button on the side of the device for 2seconds and release. Plac e Vector S7 devices in Vector Dock press the dock ‘ignition button’ andconnect USB to PC. Press settings then transfer. Press begin transfer. Once display says ‘finished’, data can be viewed from calendar.DEVICE CONNECTORS & FEATURESTop Charging LED: Located on the top of the device is a LED used to indicate the charging and enumeration state of the device.Power Button: The power button has been placed on the edge of the device to make the device harder to press during play and thus minimizing accidental device turn offs.HR pins: Allows the user to clip the device into a vest to collect HR data using an intergrated heart rate vest.Charging Pins: Allows the device to connect to the Vector Dock which enables the device(s) to charge and connect / data transfer to the PC.FIRST USE AND CHARGEEnsure the devices are fully charged before using them to collect data for a session. To charge the devices, connect the Vector Dock to a power supply and then place the devices into an individual dock slot on the Vector charging dock. The top LED charging light will flash when the device is charging. The top battery LED turns solid green when the device is fully charged. To turn the device on, press the button on the side of the device or set an alarm in the console.VEST POUCH INSERTIONThe device is placed into the device pocket located on the back of the vest. It is clipped into the vest via the HR Clips located on the back of the device. Please ensure the device has been turned on the power button prior to inserting the device into the vest. The device is now ready to record your player’s data.3. SYSTEM LOGINThe software components of the Vector system consist of a cloud account and a downloadable console.1)Each user will receive a unique username and password from a Catapult representative to loginto their OpenField Cloud account. Each user can login to the cloud Account through one of thefollowing URLs depending on their geographical location:•APAC (Australia Pacific and Asia): https://•EMEA (Europe, Middle East and Africa): https://•US (North and South America): https://2)The OpenField Console Software can be downloaded from the OpenField Cloud. Login to theOpenField cloud with the account credentials and click the Downloads tab. Click the link under 'Secure Download' to download the latest version of the OpenField Console. You'll also find release notes regarding installations, changes, bugs, and improvements of the newest build.3)Once the Open Field console is downloaded, click the desktop Icon to open the console. Loginto the console with the same account credentials used to log into the cloud.4. COLLECTING DATACOLLECTING LIVE DATA (GPS/GNSS)A Live Activity is an Activity being analysed in real time whilst the Devices are being used; this is achieved via Data being collected through the Vector receiver (GNSS) or Anchors (LPS). Live Activities are extremely useful to be able to provide real time feedback on Athlete Performance.1.Ensure the devices, console and receiver are all set to indoor or outdoor mode.2.Turn on the wireless receiver(s) and the Vector devices.3.Map each of the devices to their corresponding athlete via the Settings menu – Mappings Tab inthe console.4.From the main user interface in the console, select Start to begin a new Live Activity.5.Create a New Activity via the Activity Timeline by right clicking in the timeline area and selectingNew Activity. From the new activity menu, fill in all of the details for the session such as Name,device type, venue, teams, ect. Select ‘Create Activity’.6.Hit the 'Play' Button up the top right of the User Interface; Once hit the button will change to a'Pause' Button7.Start a New Live Period and PIP Athletes as necessary. See our Periods article for moreinformation on how to create and stop Periods.8.When the Activity is completed, stop all live Periods and press the pause button.5. DOWNLOADING DATAData is recorded on the Device in a 'Raw File', which is created every time the Device is turned on; up to 31 Raw Files can be stored on a Device at once. Downloading Data from the Devices is an important step in getting the most out of the metrics recorded on the Device. It is necessary to apply Sport Specific Algorithms (GK Dives, QB Throws etc.), for IMA metrics to be calculated and more.1.After a session is completed, collect all the devices from athletes, turn them off andconnect the devices to the PC through the Vector Dock.2.Open up the OpenField console and select ‘Data Transfer’ from the Console Tile Screen.3.The units connected to the PC will automatically begin downloading (beginning with themost recent file, moving back) when the 'Data Transfer' tile is selected.OR1.To reach the Data Transfer screen without an automatic download, click 'Start' from theConsole Tile Screen, then click 'Settings' in the top left of the console screen. From thesettings menu, select the 'Transfer' tab.2.Connect the Devices to the PC, then in the 'Data Transfer' screen, ensure the correct numberof devices are connected.3.Select the Transfer Range of the sessions you want to download. NOTE: The Default Rangeenables the user to download all of the sessions th at haven’t been previously downloaded from the device.4.Select 'Begin Transfer' to start downloading the devices.6. SOFTWARE USER GUIDE LINKS7. Vector Anchor & Vector Dock VECTOR ANCHORAnchor Specification:•GNSS Antenna (GPS and Glonass)•Wi-Fi (dual band 2.4GHz and 5GHz)•USB C•UWB Antenna (3774.0 MHz to 4243.2 MHz)The water-resistant wireless receiver design is built to pick up devices forplayer data capture in a ~250meter range by using ultra-wide bandcommunication (4.0 GHz). The ultra-wide bandwidth provides more robust communication between devices and receiver(s) and improves immunity tothird party environmental interference such as, Wi-Fi. The receiver is wireless and has a 6 hours battery life. The receiver is also integrated into a Wi-Fi network that wirelessly links the OpenField console and mobile applications within a 50m range. This improves accessibility as a local Catapult Wi-Fi enables users to be more mobile around the pitch and to share live data more easily with coaches and players. Users have the option to add multiple anchors to the same system to improve live data capture capabilities. The GNSS antenna contained within the anchor serves the purpose of GNSS augmentation.To operate, press the single button on the side of the anchor and use the USB cable provided to attach to the OpenField console laptop. Please see instructions above on starting real-time data collection.VECTOR DOCKINGDock Specification:•Ethernet connectivity• 6 Hour battery life•USB Connectivity•Wi-Fi connectivity•On board memoryThe Vector Smart Docking Station consists of 24 individual deviceslots, an ‘ignition’ button, a USB port and a power supply port.The ignition button functionality gives the user the ability to turnon or off all connected devices with one button press. The USBport connects the devices to the PC via a USB cord to enabledevice configuration and downloading of the raw files on thedevices. The Vector Dock is built to last up to 6 hours without apower supply with use of an onboard battery. This allows forpitch-side USB downloading and device configuration. The travelcase for the Vector Smart Docking Station is built toaccommodate all the system’s wires, receivers and devices.To operate, plug dock into mains power with cables provided and press the silver ‘ignition’ button. Insert devices to charge. Enumerated devices will display a flashing green light on top. Charging devices will display an amber light on top.8. SUPPORT & HELPAny questions or requests for help with the OpenField software system or the VECTOR devices should be sent by email. The support email required is dependent on the user’s geographical location:APAC: *******************************EMEA:*******************************AMERICAS: *****************************LATAM: ********************************Please provide us with contact details including your name and your preferred email address. Let us know what the problem is and what equipment (computer & browser) you are using to access the site.Users can also request help through the online cloud platform. From the OpenField cloud main user interface, select Request Help in the top right corner of the page. The user will be prompted with a form. Please fill out this form to provide us with the necessary details to fix the issue.Note that there is knowledge center available at https:///hc/en-us that includes multiple getting started, how to and troubleshooting articles.Regulatory NoticesUSAFederal Communication Commission Interference StatementThis equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to Part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:⚫Reorient or relocate the receiving antenna.⚫Increase the separation between the equipment and receiver.⚫Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.⚫Consult the dealer or an experienced radio/TV technician for help.FCC Caution:Any changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate this equipment.This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions:(1) This device may not cause harmful interference, and(2) this device must accept any interference received, including interference that may cause undesired operation.FCC Radiation Exposure Statement (Vector S7)This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment and must not be co-located or operating in conjunction with any other antenna or transmitter.For body worn operation, this device has been tested and meets FCC RF exposure guidelines. When used with an accessory that contains metal may not ensure compliance with FCC RF exposure guidelines.FCC Radiation Exposure Statement: (Vector Anchor)This equipment complies with FCC radiation exposure limits set forth for an uncontrolled environment and must not be co-located or operating in conjunction with any other antenna or transmitter.This equipment complies with FCC RF radiation exposure limits set forth for an uncontrolled environment. This equipment should be installed and operated with a minimum distance of 20 centimeters between the radiator and your body.Responsible Party InformationName:Address: @USATelephone number or Internet contact:CanadaCAN ICES-3 (B)/NMB-3(B)This device complies with Industry Canada’s licence-exempt RSSs. Operation is subject to the following two conditions:(1)This device may not cause interference; and(2)This device must accept any interference, including interference that may cause undesiredoperation of the device.Le présent appareil est conforme aux CNR d'Industrie Canada applicables aux appareils radio exempts de licence. L'exploitation est autorisée aux deux conditions suivantes :(1) l'appareil ne doit pas produire de brouillage, et(2) l'utilisateur de l'appareil doit accepter tout brouillage radioélectrique subi, même si le brouillage est susceptible d'en compromettre le fonctionnement.IMPORTANT NOTE:Radiation Exposure Statement (Vector S7)For body worn operation, this device has been tested and meets RF exposure guidelines when used with an accessory that contains no metal. Use of other accessories may not ensure compliance with RF exposure guidelines.Déclaration d'exposition aux radiations RF:Pour une utilisation sur le corps, cet appareil a été testé et respecte les directives sur l'exposition aux RF lorsqu'il est utilisé avec un accessoire sans métal. L'utilisation d'autres accessoires peut ne pas garantir la conformité aux directives d'exposition aux RF.Radiation Exposure Statement (Vector Anchor)1.To comply with the Canadian RF exposure compliance requirements, this device and its antennamust not be co-located or operating in conjunction with any other antenna or transmitter.2.To comply with RSS 102 RF exposure compliance requirements, a separation distance of at least 20cm must be maintained between the antenna of this device and all persons.Déclaration d'exposition aux radiations RF:1.Pour se conformer aux exigences de conformité RF canadienne l'exposition, cet appareil et sonantenne ne doivent pas être co-localisés ou fonctionnant en conjonction avec une autre antenne ou transmetteur.2.Pour se conformer aux exigences de conformité CNR 102 RF exposition, une distance deséparation d'au moins 20 cm doit être maintenue entre l'antenne de cet appareil et toutes les personnes。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Data Cache Performance When V ector-Like Accesses Bypass the CacheMichael Nahas W illiam WulfUniversity of VirginiaCharlottesville, V A 22903nahas@A Stream Memory Controller, when added to a conventionalmemory hierarchy, routes vector-like accesses around thedata cache. A memory system was simulated under theseconditions and the data cache performance increased dra-matically. The gain in performance was a result of theincreased temporal locality of the access pattern. Theaccess pattern also showed a decrease in spatial locality,making smaller cache lines nearly as effective as long ones.1.0 IntroductionThis research attempts to quantify the effect on the data cache when vector-like accesses are handled outside the cache system. We hypothesized that vector-like accesses took up large amounts of space in the cache, had poor temporal locality, and, therefore, would cause cache pollution. In the primary experiments, we removed the vector-like accesses from the cache system and saw cache performance increase. Additional experi-ments, which examined the causes of the increase in cache performance, provided evi-dence to support our hypothesisWe wanted to examine a memory system where vector-like accesses bypass the cache because our research group has designed a piece of hardware called the Stream Memory Controller (SMC) [7,9] which can increase the speed of vector-like memory accesses which go directly to DRAM. Since previous research [8] had studied the effect of the SMC on the vector-like data, we needed to simulate the memory system where thevector-like accesses bypass the data cache in order to understand the overall system per-formance.To measure memory system performance, we simulated the data cache using mem-ory address traces which were acquired from Brigham Y oung University’s Performance Evaluation Laboratory [2,3].Using two different methods, the accesses handled by the SMC were removed from the traces, resulting in new traces that represented the accesses to the data cache in a system with an SMC. Cache performance of such a memory system was measured by running these traces through a simulated memory system modeled after that of the DEC Alpha 21264.After measuring the increase in cache performance, we analyzed the traces with a variety of methods to determine the causes of the change in performance. The SMC did remove a large percentage of the addresses with low temporal locality from the trace, increasing the overall temporal locality and producing a higher hit rate in the cache. The SMC also removed accesses with a high spatial locality, decreasing the overall spatial locality of the access pattern. This means that a smaller line size would not cause as large a drop in performance on a system with an SMC as on system without an SMC.Section 2 of this paper describes the SMC and the architecture of a system incor-porating an SMC. Section 3 describes the methodology and tools used in this investiga-tion. Section 4 reviews how streams for the SMC were identified by recognizing patterns in the traces. Section 5 discusses an alternate method to identify streams. Section 6 con-tains the results of cache simulation and explains the causes of the increase in cache per-formance. Section 7 is a conclusion of all the results.2.0 The Stream Memory ControllerThe SMC is a hardware device that is placed in parallel with the first level data cache in a memory system. The SMC increases the performance of vector-like loads and stores by dynamically reordering when the accesses are issued to the memory. Because this special purpose hardware is in parallel with the first level data cache, the vector-like accesses never enter the data cache.FIGURE 1. Layout of an SMC Memory SystemStreams, the vector-like accesses handled by the SMC, are entire arrays that are accessed sequentially by a conventional scalar processor, e.g. a[0], a[1], a[2]... The CPU in an SMC system is a scalar processor, so it still executes an instruction for every load, store, and calculation. The loads and stores to elements in a stream are handled by the SMC, which reorders them and performs them at a higher bandwidth than a cache could.SMC systems are often compared to systems with a vector processor. Vector pro-cessors work by loading fixed length sections of arrays into vector registers and perform-ing operations on the vector registers. Each vector instruction performs multiple operations on the elements in a vector register. Each of these operations must be indepen-dent of the results of every other operation; this allows the operations to be performed at a very high rate.Because the processor in an SMC system is not a vector processor, operations on elements in a stream can be dependent on the results of previous items in the stream. This makes stream operations a superset of vector operations. Also, the processor in an SMC system can perform different operations on each element in a stream. This allows the SMC aid in operations such as sorting, where as a vector processor could not.From the programmer’s perspective, the SMC is a number of FIFO queues, each holding a stream. A queue is initialized by sending to the SMC the properties defining the sequential array access: the address at which to start (the base address), the distance between each item (the stride), whether the item is a byte, word, or double word (the data size), and, optionally, the number of items to be accessed (the length). Once the queue is initialized, a program can simply pop the next element of the stream from a read queue or push it into a write queue.The SMC is able to handle sequential array accesses with more bandwidth than the cache system by dynamically reordering the loads and stores to the arrays. When the CPU is using a read FIFO, the SMC can read ahead in the array in a large block, using the mem-ory system more efficiently. The SMC holds the data in internal memory until the CPUpops the data off the queue. For write FIFOs, the SMC can use its internal memory to queue up the written values and write them out to main memory together. A small state machine in the SMC decides when it is most efficient to read ahead on a read queue or flush the buffer of a write queue.The SMC gets higher bandwidth for the large block transfers by exploiting the internal structure of a DRAM, which favors some accesses over others. By grouping together reads and writes that go to the same DRAM page, the SMC lessens the number of reads or writes that cause the DRAM to switch pages. Reads and writes which do not cause page switches are 3 to 10 times faster than ones that cause page switches.The SMC can queue writes and read ahead whenever it is efficient to do so, group-ing together many single word transactions which go to the same DRAM page. These group transfers drastically reduce the number of page switches in the DRAM, and utilize nearly 100% of the available bandwidth from the DRAM. These results are documented in [7,8,9].FIGURE 3. Relative Sizes of Memory Transfers1 word1 word~8 word 1 to 256 word3.0 Tools and MethodologyWe received a number of traces from BYU’s Performance Evaluation Lab. The one we used for these experiments was SPEC’s 061.Kenbus1 multi-user benchmark which had been run on a SPARC processor. The Kenbus benchmark is a collection of 80 UNIX command shells representing users. Commands are typed into the shells at 3 characters a second. The commands are common UNIX utilities including cc, grep, cp, ed, sed, awk, and a number of file manipulation tools such as cp, rm, and chmod. The Kenbus bench-mark was chosen because it represents a common load on a multi-user system. The appli-cations in the benchmark are not scientific computations, and they are not vector intensive.BYU supplies its traces broken into blocks of 500,000 accesses. From the Kenbus trace, the first 10 blocks and 10 consecutive blocks from the middle of the trace were cho-sen to be processed. By examining the strings processed by the code, it was determined that the first 10 blocks of the Kenbus trace include a trace of the C preprocessor, and that the other 10 blocks tested include a trace of the linker.Since we did not generate these traces ourselves, we needed to identify which accesses in the traces would be handled by the SMC and not run through the cache system. Identification of stream accesses would normally be done by the compiler [1], which must insert instructions to initialize the FIFOs into the object code.We used two methods to identify stream accesses. The pattern recognition method identifies loops and stream accesses within the loops. These stream accesses are then removed from the trace, because the accesses would be handled by the SMC and not pass through the data cache. The second method of removing stream accesses matches data reads and writes to the load and store instructions that caused them. Then, individual load and store instructions are identified as sequentially accessing an array, and the data readsor writes caused by those instructions are eliminated. This second method is called the disassembly method because it is necessary to disassemble instructions to identify which are loads and stores. The disassembly method also produces a second trace without stream or quasi-stream accesses. Quasi-streams are a type of access patterns that might be converted to streams by compiler optimizations. These methods of making traces without stream accesses will be discussed in more detail in sections 4 and 5.Because neither of these methods used the source code, neither of these methods could be guaranteed to accurately identify only those streams that would be known at compile time. Both methods of stream identification were susceptible to false positives, incorrectly identifying accesses as parts of a stream, and to false negatives, not identifying accesses that are parts of a stream. Having two methods of removing streams allowed us to compare the results of both methods. At the end of sections 4 and 5 are summaries of the limitations of each method.Once the stream and instruction accesses have been removed, the resultant traces are composed of all the accesses going to the data cache in an SMC system. A fourth trace, representing the accesses to the data cache of a conventional system, was also cre-ated. All of these traces were then run through a variety of cache simulators, including the one for the Alpha 21264 memory hierarchy. This produced four different categories of results: streams not removed, streams removed by the pattern recognition method, streams removed by the disassembly method, and streams and quasi-streams removed by the disas-sembly method (labeled as disassembly*.) Figure 4 illustrates this methodology. The results of all simulations are presented in section 6.4.0 Pattern RecognitionThe pattern recognition method is one method of identifying streams in a trace. It works by finding repeated patterns of accesses that might represent the execution of a loop. The stream accesses within the loop are then identified and removed. The algorithm is limited by the fact that it only detects loops that have the same number of accesses in every iteration. This prevents loops containing intermittently taken branches from being identified.FIGURE 4. Flow of Original Trace into ResultsThe loop recognizing algorithm looks for the beginning of a loop within a sliding window. The beginning of a loop is found by searching for an access that is repeated 3 times with an equal number of accesses between each access. Once the beginning of the loop is recognized, a potential template for the loop is constructed. The template identifies which accesses in the loop are constants, which are streams, and which are neither. This last type are called wildcards. The template is then considered; if it is too small, has too few repetitions, or has too many wildcards, the loop can be rejected. If it is accepted, the stream accesses are removed from the loop.// Pseudo Code for Pattern Recognition AlgorithmTraceFile file_in(“filename”);window_end = 0; // the lower end of the window// i is the upper end of the window.for (i = 0; ; i++) {// search window - j is the window lengthfor (j = 0; j > i-window_end && j < WIN_MAX; j++)if ( file_in[i] == file_in[i-j] &&file_in[i] == file_in[i+j] ){template = create_template(i-j, j);if ( accept(j, template) ) {// replace and advance window.i = replace(i-j, j, template);window_end = i+1;}}}The TraceFile class allows the accesses in a file to be indexed like anarray and compared using ==. The sliding window starts at“i+WIN_MAX” and goes down to “window_end” or “i-WIN_MAX”.FIGURE 5. Pseudo Code for the Pattern Recognition AlgorithmA slight modification of the algorithm allowed the final version to find nested loops. When a loop is found, the iterations of the loop are removed from the trace and replaced with a marker. The pattern recognition algorithm could then make more passesand identify nested loops, i.e. loops containing a marker. When every identifiable loop had been found, the markers were replaced and all streams eliminated.The pattern recognition algorithm identifies possible loops, confirms that they are loops, and then removes streams from the loop. It is a simple algorithm that only identi-fies loops containing a fixed number of accesses and is susceptible to a few problems that are outlined in section 4.1. Despite its simplicity, it performs well and is able to find nested loops.4.1 LimitationsBecause the pattern recognition method uses only run-time information, it incor-rectly identifies some accesses as compiler-recognizable streams. These accesses would not be identified by the compiler as streams, and therefore the SMC would not have been used to fetch them. These accesses are false positives; accesses that are identified as being handled by the SMC when they would not be in an actual implementation.A linked list if a good example of a source of a run-time stream that is not com-piler-recognizable. If all the nodes of a linked list were allocated at one time, it is likely they would be allocated sequentially in memory. When the list is traversed from the first node to the last, the accesses to the nodes would be sequential and evenly spaced. This would be identified by the pattern recognition program as a stream, producing false posi-tives.The pattern recognition method is also susceptible to false negatives, i.e. failing to identify streams that would have been recognized by the compiler. The current method of pattern recognition can only identify loops containing a constant number of accesses in each iteration. Therefore, it will not identify any loop containing an intermittently takenbranch. Streams in these loops would produce false negatives. However, streams in a loop that consistently took one direction of a branch, if even for a short time, can still be identi-fied since the sequence of memory accesses looks like that of a fixed-length loop.Another source of false negatives is misalignment of the template by the pattern recognition program. Occasionally, the template selected by the algorithm is not the ideal template; the template contains the second half of the loop body followed by the first half. This offset copy matches the second half of one iteration and the first half of the next. This works well, except at the first and last iteration of the loop. If part of either of those iterations matches enough of the template, it is considered another iteration of the loop, and data that is not actually part of the loop causes the template to be modified. This may change a stream in the template to a wildcard. The accesses that should have been part of a stream and marked for the SMC are left in the final trace.The pattern recognition method has one more limitation; if separate parts of the same stream are identified in two different loops, the stream would appear to have two ini-tializations, rather than just one. In this case, the pattern recognition algorithm would cor-rectly identify most of the accesses as parts of a stream, but would overstate the number of FIFO initializations required by the SMC to service this stream.Based on limited examinations, we believe that more accesses are identified as false positives than are overlooked as false negatives. This suggests the pattern recogni-tion method provides an upper bound on the number of accesses that are parts of streams. Unfortunately, it cannot serve as an upper bound on cache performance since the number of false negatives is significant and cache performance is determined by which accesses are excluded, not the number that are excluded.5.0 DisassemblyThe disassembly method is an alternative way to identify and remove stream accesses in a trace. Each data read or write access in the trace is matched with the load or store instruction that generated it. If the list of reads or writes for an individual instruction appears to match the pattern of a stream, the reads or writes caused by it are removed from the trace. This identifies and removes streams in which the stream elements are accessed by a single instruction in a loop body, the most common case.The load or store instruction for a given read or write is identified by searching backwards from the data access to find an appropriate memory instruction in an instruc-tion access. A list of associated reads or writes is built up for each load or store instruc-tion. Load and store instructions are uniquely identified by their address, which is part of the instruction load access. When all the reads and writes have been placed into the list for the appropriate address, each list is processed to determine if it is able to be handled by the SMC. If the list of loads or stores is judged to be able to be handled by the SMC, the loads or stores are eliminated from the trace. This method is illustrated in Figure 6.A list is considered able to be handled by the SMC if it contains at least 10 reads or writes and over 90% of the list is composed of sequences of more than 3 accesses that fit the pattern of a stream. The 90% is to prevent ignoring some loads or stores that might access streams of length less than 3. Otherwise, a load in strcmp() would not be identified if it ever works on a string less than 3 characters long.While studying the access patterns of individual instructions that were identified by the disassembly method, we found another type of pattern besides streams. Some loads and stores accessed very long sequences of increasing addresses, but the stride between the addresses was not uniform, so they could not be considered streams. Other authors [6]have called these “quasi-streams”. Quasi-streams might be made into streams by compiler optimizations. An example of this is quicksort, which contains store instructions which step sequentially through an array but skips over some elements. Quicksort can be trans-formed so that all its loads and stores are able to be handled by the SMC. Because quasi-stream accesses might be convertible into streams, the program which implemented the disassembly method was modified to produced another trace without streams or quasi-FIGURE 6. Overview of Disassembly Method of Removing Stream AccessesDisassembly Method to Removing Stream Accessesinstructions that would be handled by the SMC.streams. To differentiate it from the disassembly method when only streams are removed, this method is referred to as “Disassembly*”.5.1 LimitationsIn the disassembly method, all loads and stores are matched up with an instruction, which in an SMC system could be changed to a FIFO pop or push. This makes the method resilient to false positives. A load or store would have to be 90% streams to gen-erate a false positive, and that seems very unlikely.The disassembly method is susceptible to false negatives, however. If a stream is loaded by two different instructions, the disassembly method may not identify either instruction as the source of a stream.Since the disassembly method is unlikely to return a false positive, it makes a good conservative estimate of the amount of streams present in a trace. It also suggests that the disassembly method is a good lower bound on cache performance.6.0 ResultsThis section is divided into 3 subsections. The first subsection contains all the results of stream identification. The second subsection contains a description of the simu-lated memory system and the results of the cache performance in the system. The third subsection explains the causes for the increased cache performance.6.1 Results of Stream IdentificationTable 1 presents the number of streams and the number of SMC accesses for the different methods of stream identification.The disassembly method, which does not remove quasi-streams, represents a good lower bound and had 8.4% of its data routed through the SMC. The disassembly* method,tern recognition method, the upper bound on stream accesses, had 30.7% of its data going to the SMC, more than 3 times as much as the lower bound.These numbers are very encouraging. The C preprocessor and the linker are not array intensive applications, but they do contain a large amount of string manipulation. For comparison, when the pattern recognition method was run on blocks from traces of 3 SPEC Int benchmarks (Compress, Eqntott, Espresso) it identified 24.4% of the accesses as parts of streams, which is close to the amount identified in the Kenbus benchmark. Hen-nessy and Patterson’s survey of scientific benchmarks range from 41% to 1% vector oper-ations, with the median around 16% [5]. However, streams are a superset of vector operations because operations on a stream can be dependent on preceding operations on the stream, unlike vector operations, and streams allow more compiler optimizations such as the one that changes quicksort to use streams.The pattern recognition method is obviously identifying much shorter streams than the other methods when the number of accesses per stream is compared. The pattern rec-ognition method averages 10 accesses per stream, while the other methods average over 40 accesses per stream. This is not surprising, since the pattern recognition method is identifying many short dynamically produced streams, and can identify a single stream in pieces, overstating the number of streams.6.2 Results of Memory System SimulationThe simulated memory system had two levels of data cache. The first level cache is 64kB, with a 32B line size, and 2-way set associativity. The second level cache is 4MB, with a 64B line size and 2-way set associativity. For both caches, random replacement was used.To make simulation easier, the second level cache was not a unified instruction-data cache. The largest data working set is 273kB and occupies only a small portion of the 4MB L2 cache. This, along with associativity of the cache, leads us to believe that adding the instructions to the second level cache would not cause a significant number of addi-tional L2 misses.The properties of the caches were selected to mimic the design of the memory hierarchy for the Alpha 21264 as described in Microprocessor Report[ref]. Although we are copying many of the properties of the 21264, we are not copying it exactly. The 21264 has many other features, such as data coalescing, that would be difficult for us to model.To account for artifacts from cache initialization, a.k.a. “cold cache” problems, the cache miss data was not measured for the first half of the traces. About 0.3 million refer-ences were allowed to initialize the L1 and L2 caches before measurements began. This point was chosen because the rate of compulsory misses per access leveled out after about 0.2 million references.was cut by 46% for the pattern recognition method and by 41% for the disassembly* method.The results for L2 cache misses were less impressive. The disassembly method reduced L2 cache misses by 7%, the pattern recognition method reduced them by 17%, and the disassembly* method reduced them by 13%.Using our lower bound, the disassembly method, 5.4% of memory accesses were sent through the SMC, resulting in a reduction of L1 cache misses by 27% and L2 misses by 7%. Also, the miss rate of the L1 cache dropped from 4.76% to 3.68% and the rate of L2 misses per L1 cache access dropped from 0.70% to 0.68%. Note, not only did the miss rates of the cache dropped, but also the caches were processing fewer accesses, resulting in a larger drop in the total number of misses.6.3 Sources of Data Cache Performance IncreasesThis section examines the sources of the 7% to 46% reduction in misses seen in the preceding section. The first subsection considers the number of compulsory misses thatwere removed when stream accesses were removed. The second subsection analyses the kinds of compulsory misses that were removed. The last subsection looks at the changes to the temporal and spatial locality of the trace when streams are removed.6.3.1 Compulsory Missesremoved an average of 28% of the compulsory misses. The disassembly* method elimi-nated an average of 53% of all compulsory misses in the Kenbus traces. The pattern rec-ognition method removed an average of 63% of all compulsory misses.Compulsory misses are important because even the largest cache must miss on them. The Stream Memory Controller is not a cache and therefore does not suffer com-pulsory misses. However, the SMC does take a penalty similar to that of a miss every time a FIFO is initialized.Fewer compulsory misses indicates a more effective cache. If we assume an L1 cache has 1000 lines, each one word long, it must choose 1000 words out of the available 49552 words accessed by the Kenbus(1) trace. It can only hold 2% of the addresses used. The same L1 cache on the trace processed using the disassembly method chooses 1000 out of 37546, so it can hold about 3% of the addresses. Holding a larger percentage of the available addresses increases the chances of a cache hit.The number of accesses per compulsory miss shown in table 4 is enlightening.cache, there are very few accesses for each compulsory miss. The traces without streams are much better for caches because they average more accesses for each item that is cached.6.3.2 Which Compulsory Misses Have Been Removed?The previous section showed that a large number of compulsory misses are removed when streams are deleted from the trace. It also showed that the average number of accesses per compulsory miss is low for the accesses in the streams. To see which com-pulsory misses are removed, the trace was broken down by addresses, and a count was kept of how many accesses went to each address.Each cell in Table 5 represents a count of the number of addresses, where each of those addresses was accessed the number of times in the first column. Many addresses were accessed only a few times, and a very small number of addresses were accessed many times. Since only 20 blocks of a 2000 block trace were processed, it is not unusual to see addresses only accessed one time.All columns are the same for more than 4096 accesses. This means that removing streams did not remove a significant number of references from addresses that were accessed more than 4095 times. It is unlikely these addresses would be parts of streams; it is likely they are loop counters or other stack variables that are accessed frequently in a repetitive pattern.nition method and disassembly* method have removed half of the addresses, and the dis-assembly method has cut it by a third. In the row 1, the disassembly method cuts it by nearly a half, and the other methods cut it by nearly 3/4ths.So, removing streams removed addresses that were being used only a few times. The more an item is accessed, the less likely it is to be removed. (The pattern recognition method is worse on this than the other two methods, but the statement still holds.) The addresses that are accessed only a few times make up a large percentage of compulsory misses, but make up a small percentage of all references. Table 6 shows traces broken down by percentage of all references and the percent removed.Overall, addresses accessed 7 or fewer times make up 19.66% of the trace and 35% of their access were identified as parts of streams by the disassembly method. For the dis-。