CN100451972C - 提高多核***访问临界资源速度的方法和装置 - Google Patents

提高多核***访问临界资源速度的方法和装置 Download PDF

Info

Publication number
CN100451972C
CN100451972C CNB2006101270732A CN200610127073A CN100451972C CN 100451972 C CN100451972 C CN 100451972C CN B2006101270732 A CNB2006101270732 A CN B2006101270732A CN 200610127073 A CN200610127073 A CN 200610127073A CN 100451972 C CN100451972 C CN 100451972C
Authority
CN
China
Prior art keywords
deletion
critical
critical node
node
delayed
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
CNB2006101270732A
Other languages
English (en)
Other versions
CN1924816A (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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hangzhou H3C Technologies Co Ltd
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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CNB2006101270732A priority Critical patent/CN100451972C/zh
Publication of CN1924816A publication Critical patent/CN1924816A/zh
Priority to PCT/CN2007/070789 priority patent/WO2008043295A1/zh
Priority to US12/282,779 priority patent/US8190857B2/en
Application granted granted Critical
Publication of CN100451972C publication Critical patent/CN100451972C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种提高多核***访问临界资源速度的方法,包括:准备要删除临界资源中的临界节点,将该临界节点从临界资源中分离出来,并在检测到满足该临界节点的删除条件时,删除该临界节点;本发明同时公开了一种提高多核***访问临界资源速度的装置,包括:待删除节点确定模块和删除模块。本发明既不会影响正在访问的核对准备要删除的临界节点的访问,同时也不会影响其它核访问该临界节点原来所在的临界资源,从而使得核在访问临界资源时,无需判断临界资源是否加锁,也无需对临界资源进行加锁操作,提高了多核***访问临界资源的速度。

Description

提高多核***访问临界资源速度的方法和装置
技术领域
本发明涉及多核技术领域,具体涉及提高多核***访问临界资源速度的方法和装置。
背景技术
多核处理器可看作将多个通用的中央处理单元(CPU)以及一些功能部件集成到一块芯片中形成的一个***级芯片(SOC),CPU之间以及CPU与集成到芯片上的其它部件间通过高速的内部互联技术进行通信,打破了以往多CPU***中CPU之间以及CPU与***其它部件间通信的性能瓶颈,使***性能得到保证。
在多核***中,各个核之间可以并发访问临界资源(又称共享资源)。为了防止多个核同时访问临界资源中的同一个临界节点引起的数据混乱的情况,在多核***中,当一个核要访问临界资源中的临界节点时,首先要判断该临界节点是否已加锁,若已加锁,则等待;若未加锁,则先对该临界节点加锁,然后访问该临界节点。例如:当一个核要从某个临界资源中删除某个临界节点时,在检测到该临界节点未加锁后,要先对该临界节点加锁然后再进行删除操作,以避免其它核访问该待删除的临界节点从而造成数据访问错误。
可以看出:在一个核访问临界资源中的临界节点时对该临界节点进行加锁操作,虽然会避免访问错误,但是加锁操作会增加***开销,从而会降低对临界资源的访问效率。
发明内容
本发明提供一种提高多核***访问临界资源速度的方法和装置,以提高多核***访问临界资源的速度。
本发明的技术方案是这样实现的:
一种提高多核***访问临界资源速度的方法,包括:
准备要删除临界资源中的临界节点,将该临界节点从临界资源中分离出来,并在检测到满足该临界节点的删除条件时,删除该临界节点,
所述临界节点为临界资源的组成单位。
所述方法进一步包括:预先为准备删除的临界节点设定延迟删除时长,
所述将该临界节点从临界资源中分离出来的同时进一步包括:将当前时刻加上预设的该临界节点的延迟删除时长,得到该临界节点的删除时刻,
所述满足该临界节点的删除条件为:所述计算得到的删除时刻小于或等于当前***时刻。
预先为准备删除的临界节点设定延迟删除时长包括:根据多核***的临界资源所包含的数据结构类型,为属于同一类数据结构的临界节点设定相同的延迟删除时长。
所述方法进一步包括:预先设定一个保存有临界资源所包含的所有临界节点标识的临界资源记录信息,预先为属于各类数据结构的临界节点分别创建一个延迟删除队列;
所述将临界节点从临界资源中分离出来包括:将临界节点的标识从临界资源记录信息中删除,将该临界节点标识放入到该临界节点所属的数据结构类型对应的延迟删除队列中。
所述删除该临界节点包括:删除延迟删除队列中的该临界节点标识,同时根据该临界节点标识查找到对应的临界节点,将该临界节点删除。
所述临界节点的标识为临界节点的地址信息。
所述方法进一步包括:预先设定一个检测周期,并设定在每个检测周期内检测的与各延迟删除队列对应的临界节点总数;
所述检测到满足该临界节点的删除条件之后进一步包括:
判断本检测周期内检测的当前延迟删除队列对应的节点总数是否等于预设的在每个检测周期内检测的当前延迟删除队列对应的临界节点总数,若是,开始检测下一个延迟删除队列;否则,继续检测当前延迟删除队列对应的下一个临界节点。
所述方法进一步包括:预先设定一个检测周期,并设定在每个检测周期内检测的临界节点总数;
所述检测到满足该临界节点的删除条件之后进一步包括:
判断本检测周期内检测的节点总数是否等于预设的在每个检测周期内检测的临界节点总数,若是,等待下一个检测周期来临;否则,继续检测下一个临界节点。
所述方法进一步包括:预先创建一个具有固定存储空间的延迟删除队列,
所述将临界节点从临界资源中分离出来包括:将临界节点标识从临界资源记录信息中删除,将该临界节点标识放入所述延迟删除队列中;
所述满足临界节点的延迟删除条件,删除临界节点为:检测到延迟删除队列已满,则删除最先进入该队列的临界节点标识,并删除该临界节点标识对应的临界节点。
所述预先创建一个具有固定存储空间的延迟删除队列为:为属于各类数据结构的临界节点分别创建一个延迟删除队列;
所述将该临界节点标识放入所述延迟删除队列中包括:根据该临界节点所属的数据结构类型,将该临界节点标识放入该类数据结构对应的延迟删除队列中。
所述将临界节点从临界资源中分离出来之后进一步包括:
当多核***的核确定要访问临界资源的临界节点时,则直接进入该临界资源进行访问。
一种提高多核***访问临界资源速度的装置,包括:待删除节点确定模块和删除模块,其中:
待删除节点确定模块,用于在准备要删除临界节点时,将该临界节点标识记录到删除模块中;
删除模块,用于在检测到当前满足待删除节点确定模块记录在自身的临界节点标识对应的临界节点的删除条件后,根据该临界节点标识,查找到该临界节点,并删除该临界节点,
所述临界节点为临界资源的组成单位。
所述删除模块包括:删除时刻确定模块和删除确定模块,其中:
删除时刻确定模块,用于根据预先设定的延迟删除时长,确定待删除节点确定模块记录的临界节点标识对应的临界节点的删除时刻,将该临界节点标识和删除时刻记录到删除确定模块;
删除确定模块,用于在检测到删除时刻确定模块记录在自身的临界节点删除时刻小于或等于当前***时刻时,删除该删除时刻指向的临界节点。
所述删除确定模块进一步包括:延迟删除队列确定模块、延迟删除队列模块和删除指示发送模块,其中:
延迟删除队列确定模块,用于确定待删除节点确定模块记录在自身的临界节点标识对应的临界节点所属的延迟删除队列,将该临界节点标识和对应的删除时刻记录到延迟删除队列模块中对应的延迟删除队列中;
延迟删除队列模块,用于为每类数据结构创建一个延迟删除队列,根据请求,将延迟删除队列中的临界节点删除时刻发送给删除指示发送模块,根据删除指示发送模块发来的删除指示,删除该删除时刻以及对应的临界节点标识,并删除该临界节点标识对应的临界节点;
删除指示发送模块,用于在检测到从延迟删除队列模块获取的临界节点的删除时刻小于或等于***时刻时,向延迟删除队列模块发送删除指示。
所述删除确定模块进一步包括:定时器模块,用于在定时开始时,向删除指示发送模块发送用于指示开始检测的定时开始指示;
所述删除指示发送模块在收到所述开始指示后,根据最近一次记录的检测开始时的延迟删除队列标识,向延迟删除队列模块获取该延迟删除队列的第一个临界节点删除时刻。
所述删除模块进一步包括:存储空间判断模块,用于在检测到待删除节点确定模块要向删除模块记录临界节点标识时,判断删除模块的存储空间是否已满,若是,向删除模块中除存储空间判断模块外的其它部分发送删除最先保存的临界节点标识的指示信息;
所述删除模块中除存储空间判断模块外的其它部分接收到所述指示信息,则检测到当前满足待删除节点确定模块记录在删除模块的所述最先保存的临界节点标识对应的临界节点的删除条件,并执行所述根据该临界节点标识查找到该临界节点并删除该临界节点的动作。
所述删除模块包括:延迟删除队列确定模块、延迟删除队列模块和存储空间判断模块,其中:
延迟删除队列确定模块,用于确定待删除节点确定模块记录在自身的临界节点标识对应的延迟删除队列,向存储空间判断模块发送携带该延迟删除队列标识的***请求,在收到存储空间判断模块返回的确定***指示后,将该临界节点标识记录到延迟删除队列模块中对应的延迟删除队列中;
延迟删除队列模块,用于为每类数据结构创建一个延迟删除队列,将各延迟删除队列的存储空间变化信息发送给存储空间判断模块,根据存储空间判断模块发来的删除指示,删除最先进入对应延迟删除队列的临界节点标识,并删除对应的临界节点,向存储空间判断模块发送删除完毕指示;
存储空间判断模块,用于根据延迟删除队列模块发来的各延迟删除队列的存储空间变化信息,判断延迟删除队列确定模块发来的延迟删除队列标识对应的延迟删除队列的存储空间是否已满,若已满,则向延迟删除队列模块发送携带该延迟删除队列标识的删除指示,根据延迟删除队列模块返回的删除完毕指示,向延迟删除队列确定模块发送确定***指示;若未满,则直接向延迟删除队列确定模块发送确定***指示。
与现有技术相比,本发明在准备删除临界资源中的某个临界节点时,先将该节点从临界资源中分离出来,然后将该节点保留一段时长后再删除,这样既不会影响正在访问的核对该临界节点的访问,同时也不会影响其它核访问该临界节点原来所在的临界资源,从而使得核在访问临界资源时,无需判断临界资源是否加锁,也无需对临界资源加锁,提高了多核***访问临界资源的速度。
附图说明
图1为本发明实施例一提供的提高多核***中的临界资源访问速度的流程图;
图2为本发明实施例二提供的提高多核***中的临界资源访问速度的流程图;
图3为本发明实施例提供的提高多核***中的临界资源访问速度的装置组成示意图;
图4为本发明实施例一提供的提高多核***中的临界资源访问速度的装置组成示意图;
图5为本发明实施例一提供的删除确定模块的组成示意图;
图6为本发明实施例二提供的提高多核***中的临界资源访问速度的装置组成示意图。
具体实施方式
本发明的核心思想是:当准备删除临界资源中的某个临界节点时,先将该节点从临界资源中分离出来,然后将该节点保留一段时长后再删除。具体地,可以预先设定一固定保留时长,待删除的节点经过该固定保留时长后删除;也可以预先设定一固定长度的专门用于存储待删除节点标识的空间,将准备删除的节点标识都记录到该空间中,待该空间满后,将最先进入的节点标识删除,同时删除该节点,然后将当前待删除的节点标识记录到该空间中。
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1是本发明实施例一提供的提高多核***中的临界资源访问速度的流程图,如图1所示,其具体步骤如下:
步骤101:根据多核***的临界资源所包含的数据结构类型,为每类数据结构创建一个延迟删除队列,设定各类型的数据结构的延迟删除时长,设置一个定时器,并设置在每个定时时长内检测的节点总数A,并分别设置在每个定时时长内检测的各个延迟删除队列对应的节点总数B1、B2、...、Bn,n为延迟删除队列的数目。
对于属于同一类数据结构的各临界节点,其延迟删除时长通常设定为相同,因此,为了方便删除操作,可将属于同一类数据结构的各临界节点的临界节点标识按照准备删除的时刻的先后顺序,依次放在同一延迟删除队列中。
这里的A为根据经验确定的值,表示在每个定时时长内检测到的节点总数;B1、B2、...、Bn可根据A和延迟删除队列的总数以及各延迟删除队列的延迟删除时长确定,表示在每个定时时长内检测的各延迟删除队列对应的节点数目。例如:设定时时长为1秒,根据经验确定的A为500个,设当前延迟删除队列的数目为10,设延迟删除队列1的延迟删除时长为0.5秒,则可设置B1=120,延迟删除队列2的延迟删除时长为3秒,则可设置B2=30,...,即:可为延迟删除时长较小的延迟删除队列设定对应较大的检测节点数目,为延迟删除时长较大的延迟删除队列设定对应较小的检测节点数目。
步骤102:准备要删除临界资源的某个临界节点,将该临界节点的地址信息从临界资源的记录信息中删除,根据预先设置的该类数据结构的延迟删除时长计算该临界节点的删除时刻,根据该临界节点所属的数据结构类型,将该临界节点的地址信息和删除时刻记录到该类数据结构对应的延迟删除队列中。
多核***会保存一个临界资源记录信息,以记录临界资源所包含的所有临界节点的标识如:地址信息。为了使得正在访问该准备删除的临界节点的核能够继续访问该节点,不对该临界节点的地址进行更改,而只是将该节点的属性更改为非临界资源如:本步骤中通过将该节点的地址信息从临界资源的记录信息中删除来实现,这样,不会影响当前核对该节点的访问,同时其它核也无法再继续访问该节点。
临界节点的删除时刻等于准备删除该临界节点的时刻加上该临界节点的延迟删除时长得到的时刻。
步骤103:定时器定时开始,根据最近一次记录的下次检测开始的延迟删除队列标识,在对应的延迟删除队列中查找到本次检测的第一个临界节点的地址信息和删除时刻。
步骤104:判断该临界节点的删除时刻是否小于或等于当前***时刻,若是,执行步骤105;否则,执行步骤106。
步骤105:将该临界节点的地址信息和删除时刻从延迟删除队列中删除,并根据该临界节点的地址信息查找到该临界节点,删除该临界节点。
步骤106:记录本次定时器定时时长内已检测的临界节点的总数a以及本次定时器定时时长内已检测的当前延迟删除队列对应的临界节点数目b。
步骤107:判断a<A是否成立,若是,执行步骤109;否则,执行步骤108。
步骤108:根据当前已检测的最后一个延迟删除队列,记录下一次检测开始的延迟删除队列标识,转至步骤103。
步骤109:判断b<Bm是否成立,若是,执行步骤110;否则,执行步骤111。
Bm为预先设定的在每个定时时长内检测到当前延迟删除队列m对应的节点数目。
步骤110:开始检测当前队列对应的下一个临界节点的删除时刻,转至步骤104。
步骤111:开始检测下一个延迟删除队列对应的第一个临界节点的删除时刻,转至步骤104。
需要指出的是,步骤102与步骤103~111并无严格的先后之分,只要准备删除某个临界节点,就可执行步骤102;只要定时器定时开始,就可执行步骤103~111。
本发明中,当核确定要访问临界资源的一个临界节点时,无需判断该临界资源是否已加锁,也无需对临界资源进行加锁操作,直接访问该临界节点即可。
图2是本发明实施例二提供的提高多核***中的临界资源访问速度的流程图,如图2所示,其具体步骤如下:
步骤201:根据多核***的临界资源所包含的数据结构类型,为每类数据结构创建一个具有固定存储空间的延迟删除队列。
在为各类数据结构创建延迟删除队列时,可根据各类数据结构所需要的延迟删除时长,设置对应的延迟删除队列的存储空间的大小,即:若某类数据结构的延迟删除时长较长,则可将对应的延迟删除队列的存储空间设置得较大。
步骤202:准备要删除临界资源的某个临界节点,将该临界节点的地址信息从临界资源的记录信息中删除,根据该节点所属的数据结构类型,查找该临界节点对应的延迟删除队列。
步骤203:判断该延迟删除队列的存储空间是否已满,若是,执行步骤204;否则,执行步骤205。
步骤204:删除该延迟删除队列中的第一个临界节点即:最先进入该队列的临界节点的地址信息,同时根据该地址信息查找到该临界节点,删除该临界节点;并将当前准备删除的临界节点的地址信息记录到该延迟删除队列中,转至步骤206。
步骤205:直接将该当前准备删除的临界节点的地址信息记录到该延迟删除队列中。
步骤206:核确定要访问临界资源的一个临界节点,直接访问该临界节点。
图3是本发明实施例提供的提高多核***中的临界资源访问速度的装置组成示意图,如图3所示,其主要包括:待删除节点确定模块31和删除模块32,其中:
待删除节点确定模块31:用于在准备要删除临界资源的一个临界节点时,将该临界节点的地址信息记录到删除模块32中。
删除模块32:用于在检测到当前满足待删除节点确定模块31记录在自身的临界节点地址信息对应的临界节点的删除条件后,根据该临界节点的地址信息,查找到该临界节点,并删除该临界节点。
图4是本发明实施例一提供的提高多核***中的临界资源访问速度的装置组成示意图,如图4所示,该图与图3相比:
删除模块32主要包括:删除时刻确定模块321和删除确定模块322,其中,
删除时刻确定模块321:用于按照临界节点所属的数据结构类型对临界节点进行分类,为属于每类数据结构的临界节点设定一个延迟删除时长;根据自身保存的临界节点地址信息与数据结构类型标识的对应关系,确定待删除节点确定模块31记录在自身的临界节点地址信息对应的临界节点所属的数据结构类型,从而确定该临界节点对应的延迟删除时长,计算该临界节点的删除时刻,将该临界节点的地址信息和删除时刻记录在删除确定模块322中。
删除确定模块322:用于在检测到删除时刻确定模块321记录在自身的临界节点的删除时刻小于或等于***时刻时,删除该删除时刻,并删除该删除时刻对应的临界节点地址信息,并根据该临界节点地址信息查找到该临界节点,删除该临界节点。
如图5所示,删除确定模块322包括:延迟删除队列确定模块3221、延迟删除队列模块3222、定时器模块3223和删除指示发送模块3224,其中:
延迟删除队列确定模块3221:用于保存临界节点地址信息与临界节点所属的延迟删除队列标识的对应关系,确定删除时刻确定模块321记录在自身的临界节点地址信息对应的延迟删除队列,将该临界节点的地址信息和该临界节点的删除时刻记录在延迟删除队列模块3222中对应的延迟删除队列中。
延迟删除队列模块3222:用于为属于每类数据结构的临界节点创建一个延迟删除队列;在收到删除指示发送模块3224发来的携带延迟删除队列标识的获取删除时刻指示后,将对应的延迟删除队列中的第一个临界节点删除时刻发送给删除指示发送模块3224;在收到删除指示发送模块3224发来的携带延迟删除队列标识的删除指示后,将对应的延迟删除队列的第一个临界节点地址信息和删除时刻从该延迟删除队列中删除,并根据该临界节点的地址信息查找到临界节点,删除该临界节点。
定时器模块3223:用于在每次定时开始时,向删除指示发送模块3224发送定时开始指示。
删除指示发送模块3224:用于在收到定时器模块3223发来的定时开始指示后,根据最近一次记录的检测开始的延迟删除队列标识,向延迟删除队列模块3222获取该延迟删除队列的第一个临界节点删除时刻,若检测到该删除时刻小于或等于当前***时刻,则向延迟删除队列模块3222发送携带该延迟删除队列标识的删除指示,并在当前定时时长内已检测到的当前延迟删除队列对应的节点数目等于预先设定的在每个定时时长内检测的当前延迟删除队列对应的节点数目时,停止对当前延迟删除队列的检测,向延迟删除队列模块3222获取下一个延迟删除队列的第一个临界节点删除时刻,在当前定时时长内已检测到的节点总数等于预先设定的在每个定时时长内检测的节点总数时,停止检测,并记录下一次检测开始的位置标识。
图6是本发明实施例二提供的提高多核***中的临界资源访问速度的装置组成示意图,如图6所示,删除模块32主要包括:延迟删除队列确定模块421、延迟删除队列模块422和存储空间判断模块423,其中:
延迟删除队列确定模块421:用于保存临界节点地址信息与临界节点所属的延迟删除队列标识的对应关系,确定待删除节点确定模块31记录在自身的临界节点地址信息对应的延迟删除队列标识,将携带该延迟删除队列标识的***请求发送给存储空间判断模块423,在收到存储空间判断模块423发来的确定***指示后,将临界节点的地址信息记录到延迟删除队列模块422中对应的延迟删除队列中。
延迟删除队列模块422:用于为每类数据结构创建一个延迟删除队列,将各延迟删除队列的存储空间的变化信息发送给存储空间判断模块423,当收到存储空间判断模块423发来的携带延迟删除队列标识的删除指示后,删除最先进入该延迟删除队列的临界节点的地址信息,并删除对应的临界节点,然后向存储空间判断模块423发送删除完毕指示。
存储空间判断模块423:用于根据延迟删除队列模块422发来的各延迟删除队列的存储空间变化信息确定各延迟删除队列的存储空间,在收到延迟删除队列确定模块421发来的携带延迟删除队列标识的***请求后,判断该延迟删除队列的存储空间是否已满,若已满,则向延迟删除队列模块422发送携带该延迟删除队列标识的删除指示,在收到延迟删除队列模块422返回的删除完毕指示后,向延迟删除队列确定模块421发送确定***指示;若未满,则直接向延迟删除队列确定模块421发送确定***指示。
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1、一种提高多核***访问临界资源速度的方法,其特征在于,包括:
准备要删除临界资源中的临界节点,将该临界节点从临界资源中分离出来,并在等待一段时长后,删除该临界节点,
所述临界节点为临界资源的组成单位。
2、如权利要求1所述的方法,其特征在于,所述方法进一步包括:预先为准备删除的临界节点设定延迟删除时长,
所述将该临界节点从临界资源中分离出来的同时进一步包括:将当前时刻加上预设的该临界节点的延迟删除时长,得到该临界节点的删除时刻,
所述等待一段时长后,删除该临界节点包括:当所述计算得到的删除时刻小于或等于当前***时刻时,删除该临界节点。
3、如权利要求2所述的方法,其特征在于,预先为准备删除的临界节点设定延迟删除时长包括:根据多核***的临界资源所包含的数据结构类型,为属于同一类数据结构的临界节点设定相同的延迟删除时长。
4、如权利要求1或2或3所述的方法,其特征在于,所述方法进一步包括:预先设定一个保存有临界资源所包含的所有临界节点标识的临界资源记录信息,预先为属于各类数据结构的临界节点分别创建一个延迟删除队列;
所述将临界节点从临界资源中分离出来包括:将临界节点的标识从临界资源记录信息中删除,将该临界节点标识放入到该临界节点所属的数据结构类型对应的延迟删除队列中。
5、如权利要求4所述的方法,其特征在于,所述删除该临界节点包括:删除延迟删除队列中的该临界节点标识,同时根据该临界节点标识查找到对应的临界节点,将该临界节点删除。
6、如权利要求5所述的方法,其特征在于,所述临界节点的标识为临界节点的地址信息。
7、如权利要求4所述的方法,其特征在于,所述方法进一步包括:预先设定一个检测周期,并设定在每个检测周期内检测的与各延迟删除队列对应的临界节点总数;
所述等待一段时长之后进一步包括:
判断本检测周期内检测的当前延迟删除队列对应的节点总数是否等于预设的在每个检测周期内检测的当前延迟删除队列对应的临界节点总数,若是,开始检测下一个延迟删除队列;否则,继续检测当前延迟删除队列对应的下一个临界节点。
8、如权利要求1所述的方法,其特征在于,所述方法进一步包括:预先设定一个检测周期,并设定在每个检测周期内检测的临界节点总数;
所述等待一段时长之后进一步包括:
判断本检测周期内检测的节点总数是否等于预设的在每个检测周期内检测的临界节点总数,若是,等待下一个检测周期来临;否则,继续检测下一个临界节点。
9、如权利要求1所述的方法,其特征在于,所述方法进一步包括:预先创建一个具有固定存储空间的延迟删除队列,
所述将临界节点从临界资源中分离出来包括:将临界节点标识从临界资源记录信息中删除,将该临界节点标识放入所述延迟删除队列中;
所述等待一段时长后,删除临界节点为:检测到延迟删除队列已满,则删除最先进入该队列的临界节点标识,并删除该临界节点标识对应的临界节点。
10、如权利要求9所述的方法,其特征在于,所述预先创建一个具有固定存储空间的延迟删除队列为:为属于各类数据结构的临界节点分别创建一个延迟删除队列;
所述将该临界节点标识放入所述延迟删除队列中包括:根据该临界节点所属的数据结构类型,将该临界节点标识放入该类数据结构对应的延迟删除队列中。
11、如权利要求1或2或9所述的方法,其特征在于,所述将临界节点从临界资源中分离出来之后进一步包括:
当多核***的核确定要访问临界资源的临界节点时,则直接进入该临界资源进行访问。
12、一种提高多核***访问临界资源速度的装置,其特征在于,包括:待删除节点确定模块和删除模块,其中:
待删除节点确定模块,用于在准备要删除临界节点时,将该临界节点标识记录到删除模块中;
删除模块,用于对记录到自身的临界节点标识,等待一段时长后,根据该临界节点标识,查找到该临界节点,并删除该临界节点,
所述临界节点为临界资源的组成单位。
13、如权利要求12所述的装置,其特征在于,所述删除模块包括:删除时刻确定模块和删除确定模块,其中:
删除时刻确定模块,用于根据预先设定的延迟删除时长,确定待删除节点确定模块记录的临界节点标识对应的临界节点的删除时刻,将该临界节点标识和删除时刻记录到删除确定模块;
删除确定模块,用于在检测到删除时刻确定模块记录在自身的临界节点删除时刻小于或等于当前***时刻时,删除该删除时刻指向的临界节点。
14、如权利要求13所述的装置,其特征在于,所述删除确定模块进一步包括:延迟删除队列确定模块、延迟删除队列模块和删除指示发送模块,其中:
延迟删除队列确定模块,用于确定待删除节点确定模块记录在自身的临界节点标识对应的临界节点所属的延迟删除队列,将该临界节点标识和对应的删除时刻记录到延迟删除队列模块中对应的延迟删除队列中;
延迟删除队列模块,用于为每类数据结构创建一个延迟删除队列,根据请求,将延迟删除队列中的临界节点删除时刻发送给删除指示发送模块,根据删除指示发送模块发来的删除指示,删除该删除时刻以及对应的临界节点标识,并删除该临界节点标识对应的临界节点;
删除指示发送模块,用于在检测到从延迟删除队列模块获取的临界节点的删除时刻小于或等于***时刻时,向延迟删除队列模块发送删除指示。
15、如权利要求14所述的装置,其特征在于,所述删除确定模块进一步包括:定时器模块,用于在定时开始时,向删除指示发送模块发送用于指示开始检测的定时开始指示;
所述删除指示发送模块在收到所述开始指示后,根据最近一次记录的检测开始时的延迟删除队列标识,向延迟删除队列模块获取该延迟删除队列的第一个临界节点删除时刻。
16、如权利要求12所述的装置,其特征在于,所述删除模块进一步包括:存储空间判断模块,用于在检测到待删除节点确定模块要向删除模块记录临界节点标识时,判断删除模块的存储空间是否已满,若是,向删除模块中除存储空间判断模块外的其它部分发送删除最先保存的临界节点标识的指示信息;
所述删除模块中除存储空间判断模块外的其它部分接收到所述指示信息,则检测到当前满足待删除节点确定模块记录在删除模块的所述最先保存的临界节点标识对应的临界节点的删除条件,并执行所述根据该临界节点标识查找到该临界节点并删除该临界节点的动作。
17、如权利要求12所述的装置,其特征在于,所述删除模块包括:延迟删除队列确定模块、延迟删除队列模块和存储空间判断模块,其中:
延迟删除队列确定模块,用于确定待删除节点确定模块记录在自身的临界节点标识对应的延迟删除队列,向存储空间判断模块发送携带该延迟删除队列标识的***请求,在收到存储空间判断模块返回的确定***指示后,将该临界节点标识记录到延迟删除队列模块中对应的延迟删除队列中;
延迟删除队列模块,用于为每类数据结构创建一个延迟删除队列,将各延迟删除队列的存储空间变化信息发送给存储空间判断模块,根据存储空间判断模块发来的删除指示,删除最先进入对应延迟删除队列的临界节点标识,并删除对应的临界节点,向存储空间判断模块发送删除完毕指示;
存储空间判断模块,用于根据延迟删除队列模块发来的各延迟删除队列的存储空间变化信息,判断延迟删除队列确定模块发来的延迟删除队列标识对应的延迟删除队列的存储空间是否已满,若已满,则向延迟删除队列模块发送携带该延迟删除队列标识的删除指示,根据延迟删除队列模块返回的删除完毕指示,向延迟删除队列确定模块发送确定***指示;若未满,则直接向延迟删除队列确定模块发送确定***指示。
CNB2006101270732A 2006-09-26 2006-09-26 提高多核***访问临界资源速度的方法和装置 Active CN100451972C (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CNB2006101270732A CN100451972C (zh) 2006-09-26 2006-09-26 提高多核***访问临界资源速度的方法和装置
PCT/CN2007/070789 WO2008043295A1 (fr) 2006-09-26 2007-09-26 Procédé et dispositif permettant d'augmenter la rapidité d'accès à une ressource critique par un système multicoeur
US12/282,779 US8190857B2 (en) 2006-09-26 2007-09-26 Deleting a shared resource node after reserving its identifier in delete pending queue until deletion condition is met to allow continued access for currently accessing processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101270732A CN100451972C (zh) 2006-09-26 2006-09-26 提高多核***访问临界资源速度的方法和装置

Publications (2)

Publication Number Publication Date
CN1924816A CN1924816A (zh) 2007-03-07
CN100451972C true CN100451972C (zh) 2009-01-14

Family

ID=37817469

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101270732A Active CN100451972C (zh) 2006-09-26 2006-09-26 提高多核***访问临界资源速度的方法和装置

Country Status (3)

Country Link
US (1) US8190857B2 (zh)
CN (1) CN100451972C (zh)
WO (1) WO2008043295A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458707C (zh) * 2007-04-05 2009-02-04 杭州华三通信技术有限公司 实现用户配置的方法、***及主核和从核
US8359599B2 (en) * 2007-11-20 2013-01-22 Ricoh Production Print Solutions LLC Methods and systems for efficient use and mapping of distributed shared resources
US8924501B2 (en) * 2011-11-30 2014-12-30 Red Hat Israel, Ltd. Application-driven shared device queue polling
US9009702B2 (en) 2011-11-30 2015-04-14 Red Hat Israel, Ltd. Application-driven shared device queue polling in a virtualized computing environment
US9239887B2 (en) * 2012-12-18 2016-01-19 Cisco Technology, Inc. Automatic correlation of dynamic system events within computing devices
CN105824709B (zh) * 2016-03-11 2019-09-17 浙江大华技术股份有限公司 一种临界区访问方法及装置
CN107239314B (zh) * 2016-03-28 2020-09-01 苏州简约纳电子有限公司 Asn.1编译过程中重复定义数据结构的去除方法
CN109688179B (zh) * 2017-10-19 2021-06-22 华为技术有限公司 通信方法和通信装置
US10684881B2 (en) 2017-11-07 2020-06-16 International Business Machines Corporation Batch processing of computing elements to conditionally delete virtual machine(s)
CN117632530B (zh) * 2024-01-25 2024-05-03 山东省计算中心(国家超级计算济南中心) 基于新一代申威众核处理器的从核数量调整并行加速方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1016832B (zh) * 1986-07-28 1992-05-27 霍尼韦尔·布尔公司 多中央处理机互锁装置
US5377352A (en) * 1988-05-27 1994-12-27 Hitachi, Ltd. Method of scheduling tasks with priority to interrupted task locking shared resource
US5790868A (en) * 1995-06-07 1998-08-04 Tandem Computers, Inc. Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US6223200B1 (en) * 1989-12-22 2001-04-24 International Business Machines Corporation System and method for reducing research time through a lock wait matrix
US20030061394A1 (en) * 2001-09-21 2003-03-27 Buch Deep K. High performance synchronization of accesses by threads to shared resources
US6742135B1 (en) * 2000-11-07 2004-05-25 At&T Corp. Fault-tolerant match-and-set locking mechanism for multiprocessor systems
CN1537275A (zh) * 2001-02-24 2004-10-13 �Ҵ���˾ 低等待时间存储器***访问

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0330425B1 (en) * 1988-02-23 1995-12-06 Digital Equipment Corporation Symmetric multi-processing control arrangement
KR100537582B1 (ko) * 2001-02-24 2005-12-20 인터내셔널 비지네스 머신즈 코포레이션 신규의 초병렬 수퍼컴퓨터
CA2437629A1 (en) * 2001-02-24 2002-09-06 International Business Machines Corporation Arithmetic functions in torus and tree networks
IL157512A0 (en) * 2001-02-24 2004-03-28 Ibm A global tree network for computing structures
US7587516B2 (en) * 2001-02-24 2009-09-08 International Business Machines Corporation Class network routing
US20050050310A1 (en) 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
US7380038B2 (en) * 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources
US8087027B2 (en) * 2007-03-29 2011-12-27 International Business Machines Corporation Computer program product and system for deferring the deletion of control blocks

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1016832B (zh) * 1986-07-28 1992-05-27 霍尼韦尔·布尔公司 多中央处理机互锁装置
US5377352A (en) * 1988-05-27 1994-12-27 Hitachi, Ltd. Method of scheduling tasks with priority to interrupted task locking shared resource
US6223200B1 (en) * 1989-12-22 2001-04-24 International Business Machines Corporation System and method for reducing research time through a lock wait matrix
US5790868A (en) * 1995-06-07 1998-08-04 Tandem Computers, Inc. Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US6742135B1 (en) * 2000-11-07 2004-05-25 At&T Corp. Fault-tolerant match-and-set locking mechanism for multiprocessor systems
CN1537275A (zh) * 2001-02-24 2004-10-13 �Ҵ���˾ 低等待时间存储器***访问
US20030061394A1 (en) * 2001-09-21 2003-03-27 Buch Deep K. High performance synchronization of accesses by threads to shared resources

Also Published As

Publication number Publication date
US20090070560A1 (en) 2009-03-12
US8190857B2 (en) 2012-05-29
CN1924816A (zh) 2007-03-07
WO2008043295A1 (fr) 2008-04-17

Similar Documents

Publication Publication Date Title
CN100451972C (zh) 提高多核***访问临界资源速度的方法和装置
US9767140B2 (en) Deduplicating storage with enhanced frequent-block detection
CN103399818B (zh) 操作***中的死锁检测方法
US7634496B1 (en) Techniques for managing state changes of a data storage system utilizing the object oriented paradigm
CN103150149B (zh) 处理数据库重做数据的方法和装置
US11210229B2 (en) Method, device and computer program product for data writing
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
US10515078B2 (en) Database management apparatus, database management method, and storage medium
CN104750826B (zh) 一种结构化数据资源元数据自动甄别与动态注册方法
CN107783908B (zh) 一种基于Linux内核内存泄露的检测方法
US8005872B2 (en) Method for fast deletion of physically clustered data
CN107491372A (zh) 一种针对Linux***RPM包统计CPU占用率的方法及***
CN110352410A (zh) 跟踪索引节点的访问模式以及预提取索引节点
CN111176850A (zh) 一种数据池的构建方法、装置、服务器及介质
US9021321B2 (en) Testing disk drives shared by multiple processors in a supercomputer complex
CN114116811B (zh) 日志处理方法、装置、设备及存储介质
JP2002342403A (ja) フォールスパス検出装置、フォールスパス検出方法およびそのプログラム
US9734078B2 (en) Resetting memory locks in a transactional memory system
CN105608377A (zh) 一种信息***进程安全管理***及管理方法
CN101742571B (zh) 查找方法及***
JP6809338B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
KR100399579B1 (ko) 트랜잭션 처리 시스템에서 비동기적인 교착상태 검출 기법
US8688662B2 (en) Copy on access to locked objects
CN115687248A (zh) 一种计算机数据分析管理***
JP2000207229A (ja) 資源占有の管理方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230811

Address after: Texas, USA

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT L.P.

Address before: No. 466 Changhe Road, Binjiang District

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.