CN101090323B - 利用流量控制的交换机中的存储设备分配管理方法和系统 - Google Patents
利用流量控制的交换机中的存储设备分配管理方法和系统 Download PDFInfo
- Publication number
- CN101090323B CN101090323B CN 200710096583 CN200710096583A CN101090323B CN 101090323 B CN101090323 B CN 101090323B CN 200710096583 CN200710096583 CN 200710096583 CN 200710096583 A CN200710096583 A CN 200710096583A CN 101090323 B CN101090323 B CN 101090323B
- Authority
- CN
- China
- Prior art keywords
- port
- memory cell
- threshold value
- ports
- average
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供了一种用于管理在利用流量控制的交换机中的存储设备分配的方法、计算机程序产品和系统。该交换机包括多个端口和分成多个存储单元的内部存储设备。该方法、计算机程序产品和系统规定:监视在预定时间段上由多个端口中的每一个使用的存储单元的平均数,设置用于由多个端口中的每一个使用的存储单元的平均数的阈值,以及响应于下列情况而将指定给第一端口的一个或多个可用存储单元分配给第二端口:允许用于第二端口的存储设备分配管理,并且由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。
Description
技术领域
本发明通常涉及交换机。更具体地说,本发明针对利用流量控制的交换机中的存储设备分配管理。
背景技术
有各种输入/输出(I/O)互连体系结构,用于将计算机系统的各个部件相互连接。一种普遍的I/O互连体系结构是外围部件互连Express(PCI Express),它提供了用于互连计算机部件的高速接口。在PCI Express体系结构下,具有内置的流量控制的一个或多个交换机用来互连计算机系统的部件。
在每一交换机内有多个端口和由交换机的端口共享的内部存储设备。能使用每一端口来将设备连接或链接到交换机。该设备可以是计算机部件、另一交换机、桥接器或其他部件。PCI Express链路包括一个或多个通道,每个通道由两个差分对组成,其中,每一对是单向的。链路中的每一通道通常每秒能传送2.5千兆字节(GB/s)。
通过以通常所谓的信用(credit)为单位将内部存储设备分配给交换机的每一端口,来实现交换机内的流量控制。每一信用与交换机的内部存储设备中的位置相关联。典型地,在交换机内对分配给每一端口的信用数进行硬布线。然而,当在端口之一上存在未用的信用而另一端口始终利用其所有信用并且还将利用另外的信用(如果它们可用于该端口的话)时,对内部存储设备分配进行硬布线会导致浪费。
例如,假定交换机连接到具有最大吞吐量40千兆字节/秒(GB/s)的端口1上的16x PCI Express设备(即,设备和交换机间的链路包括16个通道)、具有最大吞吐量10GB/s的端口2上的4x PCI Express设备、以及也具有最大吞吐量10GB/s的端口3上的4x PCI Express设备。假定已经向端口1、2和3中的每一个分配了4000个信用,端口1的设备可以容易地用光其所有信用,而端口2和3的设备使用远低于它们的所有信用的信用。例如,如果端口2和3上的设备平均起来使用它们各自的信用中的2000个,而端口1上的设备继续使用其全部4000个信用,那么,交换机中浪费了能够由端口1上的设备使用的4000个未用的信用。
因此,需要一种基于利用流量控制的交换机中的使用情况分配存储设备的方法。本发明解决了这一需要。
发明内容
提供了一种用于管理在利用流量控制的交换机中的存储设备分配的方法、计算机程序产品和系统。交换机包括多个端口以及被分成多个存储单元的内部存储设备。该方法、计算机程序产品和系统规定:监视在预定时间段上由多个端口中的每一个使用的存储单元的平均数;设置用于由多个端口中的每一个使用的存储单元的平均数的阈值,用于每一端口的阈值小于或等于分配给相应端口的存储单元的总数;以及响应于下列情况而将指定给多个端口中的第一端口的一个或多个可用存储单元分配给多个端口中的第二端口:允许用于第二端口的存储设备分配管理,并且由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。
附图说明
图1-2示例说明了根据本发明的各个实施例的计算机系统。
图3是根据本发明的一个方面的用于管理交换机中的存储设备分配的方法的处理流程。
图4表示根据本发明的一种实现方式的用于管理交换机中的存储设备分配的系统。
图5描述了根据本发明的一个实施例、在图4的系统的交换机中存储的信息。
图6示例说明了根据本发明的另一方面的用于管理交换机中的存储设备分配的方法的流程图。
图7是数据处理系统的框图,利用该系统能实现本发明的实施例。
具体实施方式
本发明通常涉及计算机输入/输出(I/O)互连交换机,并且更具体地说,涉及利用流量控制的计算机I/O互连交换机中的存储设备分配管理。提供了下述描述,以允许本领域的普通技术人员制造和使用本发明,并且下列描述是在专利申请的上下文及其需求中提供的。对在此所述的实现方式以及一般原理和特征的各种改进对本领域的技术人员来说将会是显而易见的。因此,不期望将本发明限制到在此所示的实现方式,而是本发明依照与在此所述的原理和特征相符的最宽范围。
图1中示出了根据本发明的一个方面如何互连计算机系统100的某些部件的例子。计算机系统100包括中央处理单元(CPU)102、芯片组104、存储器106(例如,随机存取存储器(RAM))、图形处理单元(GPU)108和硬盘驱动器110。CPU 102、存储器106、GPU108和硬盘驱动器110通过芯片组104彼此互连。计算机系统100的其他实施例可以包括另外的部件,诸如,以太网设备、通用串行总线(USB)设备和另外的处理器、存储器和硬盘驱动器(未示出)。
芯片组通常包括两个模块,其通常被称为根联合体(rootcomplex)和I/O集线器。非常紧密一起工作并且要求相互快速存取的部件,诸如CPU、存储器和GPU,通常经由根联合体连接,而其他部件经由I/O集线器连接。在某些实例中,可以将I/O集线器的功能性集成到根联合体中,以便使I/O集线器不再是有必要的。另外,在一些计算机系统、诸如服务器或工作站中,GPU和存储器可以经由I/O集线器而不是根联合体连接。
图2表示计算机系统200,其具有CPU 202、包括根联合体206和I/O集线器208的芯片组204、存储器210、GPU 212、硬盘驱动器214以及各种设备216a-216f。CPU 202、存储器210和GPU 212连接到根联合体206。硬盘驱动器214连接到I/O集线器208。设备216a-216c经由桥接器218连接到I/O集线器208,并且设备216d-216f经交换机220连接到I/O集线器208。尽管在图2中未示出,但是交换机被包含在根联合体206和I/O集线器208内。在其他实施例中,桥接器218和交换机220可以不被包括在计算机系统200中,或者可以包括在芯片组204外部的另外的交换机和/或桥接器。
各种I/O互连体系结构可用于使内部计算机部件、诸如处理器、存储器、硬盘驱动器等彼此连接,并且还连接到外部计算机部件,诸如打印机、键盘、监视器、打印设备等。当前使用的一些I/O互连体系结构包括HyperTransport、InfiniBand、外围部件互连(PCI)、PCI Extended和PCI Express。如图2中所看到的,I/O互连体系结构的拓扑结构或结构能从并行体系结构、诸如经由桥接器218连接的设备216a-216c改变成串行/点对点体系结构、诸如经由交换机220连接的设备216d-216f。
在具有点对点拓扑结构的I/O互连体系结构、诸如PCI Express中,内部存储设备分配通常是静态的,例如,被硬布线到设计中,并且是不可改变的。由于一个设备可以使用少于所有分配给它的存储设备,而另一设备可以使用所有分配给它的存储设备,并且可能希望使用甚至更多的存储设备,但是却不能,所以可能会导致浪费存储空间。
在图3中描述了根据本发明的一种实现方式的用于管理交换机中的存储设备分配的处理过程300。在该实现方式中,交换机包括多个端口,以及被分成多个存储单元的内部存储设备。在302,在预定时间段上监视由多个端口中的每一个使用的存储单元的平均数。该预定时间段可以从若干毫秒(ms)到若干天。另外,该预定时间段可以是缺省值或用户选择的值。另外,该预定时间段可以例如由用户、或者响应于为该交换机收集的一个或多个统计数据动态地调整。
监视由每一端口使用的存储单元的平均数,可以是定期执行的,例如,每隔几秒或几分钟执行一次。在一个实施例中,可以在一个以上的预定时间段上、例如在一较短时间段(例如500ms)和一较长时间段(例如一天)上监视由多个端口中的一个或若干个端口使用的存储单元的平均数,以便使该一个或若干个端口中的每一个具有所使用的存储单元的短期平均数以及所使用的存储单元的长期平均数。
在304,设置用于由多个端口中的每一个使用的存储单元的平均数的阈值。在一个实施例中,用于每一端口的阈值小于或等于指定到相应端口的存储单元的总数。对于预定时间段而言,所指定的存储单元的阈值和总数可以是缺省值或用户选择的值。另外,用于每一端口的阈值和指定给每一端口的存储单元总数是可调整的。对于其中端口具有的所使用的存储单元的平均数不只一个的实现方式而言,对不同的平均值,可以设置不同的阈值。例如,如果端口在三个不同的时间段上具有三个平均值,那么所有平均值可以共用一个阈值,或者每个平均值可以具有其自己的阈值,或者这些平均值中的两个可以具有相同的阈值,而另一平均值具有不同的阈值。
响应于下列情况而将指定给多个端口中的第一端口的一个或多个可用存储单元分配给多个端口中的第二端口:允许用于第二端口的存储设备分配管理,并且由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。一个或多个可用存储单元的分配可以是动态的。在一种实现方式中,当由第一端口使用的存储单元的平均数小于用于第一端口的阈值时,指定给第一端口的一个或多个存储单元可用于分配。
在另一实现方式中,仅当由第一端口使用的存储单元的平均数小于用于第一端口的阈值的预定百分比时,指定给第一端口的一个或多个存储单元才可用于分配。这确保了如果第一端口具有通信量的突然增加,则它将具有足够的可用存储单元。该预定百分比如阈值一样是可调整的,并且可以是缺省值或用户选择的值。对于具有一个以上的阈值的端口而言,阈值可以具有相同或不同的预定百分比。
当第一端口具有的所使用的存储单元的平均数不只一个时,可以仅基于一个平均值或多个平均值,确定存储单元的可用性。如果仅基于一个平均值进行确定,则所使用的平均值可以是缺省的或者可以是用户选择的。另一方面,如果确定基于多个平均值进行,则仅当多个平均值中的每一个低于其各自的阈值时,或者仅当多个平均值中的每一个低于其各自的阈值的预定百分比时,或者仅当多个平均值中的一个或若干个低于它们各自的阈值而多个平均值中的一个或若干个其他平均值低于它们各自的阈值的预定百分比时,指定给第一端口的存储单元才是可用的。
例如,假定第一端口具有所使用的存储单元的短期平均数以及所使用的存储单元的长期平均数,其中,每一平均值具有其自己的阈值,而且每一阈值具有其自己的预定百分比。当短期平均值低于其阈值和/或长期平均值低于其阈值时,或者当短期平均值低于其阈值的预定百分比和/或长期平均值低于其阈值的预定百分比时,或者当短期平均值低于其阈值的预定百分比而长期平均值低于其阈值时,或者当短期平均值低于其阈值而长期平均值低于其阈值的预定百分比时,认为存储单元是可用的。
在本发明的一个实施例中,用于第二端口的阈值用来确定存储设备分配管理是否被允许用于第二端口。例如,能将阈值设置成零,以表示禁止存储设备分配管理。因此,在该实施例中,确定用于第二端口的阈值是否大于零,能用来确定存储设备分配管理是否被允许用于第二端口。能使用其他方法来表示存储设备分配管理被允许或禁止用于某一端口,诸如,具有一个能被设置来表示存储设备分配管理是否被允许或禁止用于某一端口的标记,或者维护一个表示允许或禁止用于每一端口的存储设备分配管理的表格。
根据本发明的一个实施例,在图4中示出了用于管理交换机中的存储设备分配的系统400。如图所示,系统400包括交换机402和控制器404。交换机402可以是在根联合体206或I/O集线器208中的交换机的实施例,或者可以是图2中的交换机220的一种实现方式。控制器404可以被集成到交换机402或系统400的另一部件、诸如处理器或芯片组(未示出)中。另外,在其他实施例中,控制器404可以被拆分成多个控制器。该多个控制器可以被集成到系统400的一个或多个部件中,或者可以是系统400中的独立部件。
交换机402具有六个端口406a-406f、分成多个存储单元(未示出)的内部存储设备408、以及寄存器410a-410b。内部存储设备408和寄存器410a-410b可以是易失性存储器(例如RAM)或非易失性存储器(例如闪速存储器)。可以在交换机402中维护表格412。表格412可以存储在内部存储设备408中,或者交换机402内的某个其他模块、诸如高速缓存中。交换机402的其他实施例可以包括或多或少的端口,并且可以包括另外的模块,诸如一个或多个控制器、一个或多个寄存器、一个或多个表格、内部存储设备等。
与交换机402通信的控制器404可操作用来监视在预定时间段上由多个端口406a-406f中的每一个使用的存储单元的平均数,设置用于由多个端口406a-406f中的每一个使用的存储单元的平均数的阈值,以及响应于下列情况而将指定给多个端口406a-406f中的第一端口的一个或多个可用存储单元分配给多个端口406a-406f中的第二端口:允许用于第二端口的存储设备分配管理,以及由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。
图5显示了根据本发明的一种实现方式在寄存器410a-410b和表格412中存储的信息。在该实施例中,在寄存器410a中维护由交换机402中的每个端口使用的存储单元的平均数,并且将用于交换机402中的每一端口的阈值存储在寄存器410b中。寄存器410a-410b还可以存储未示出的其他信息。如图5中所看到的,使用该阈值来表示允许或禁止存储设备分配管理。因此,当控制器404监视端口406a-406f的存储单元使用情况时,它将会更新寄存器410a。另外,如果存储设备分配管理要被禁止或允许用于某一端口或者将要改变用于某一端口的阈值,那么,控制器404能修改寄存器410b中的阈值。
使用表格412来跟踪内部存储设备408中的、指定给端口406a-406f中的每一个的存储单元。如图5所示,交换机402中的每个端口406a-406f已经被指定了由3000个存储单元构成的块。在其他实现方式中,并非所有的端口都可以被指定相同数目的存储单元,并且指定给每一端口的存储单元可能彼此不相邻。
当用于端口406a-406f中的一个的所使用的存储单元的平均数超出了用于该端口的阈值时,控制器404可操作用来确定存储单元是否可从另一端口获得。在图5的例子中,端口2和3的平均使用情况超出了它们各自的阈值,端口5的平均使用情况处于其阈值上,而端口1的平均使用情况则低于其阈值。忽略了端口4和6,这是因为,当端口4和6的阈值被设置成零时,存储设备分配管理被禁止用于这些端口。由于存在可从端口1获得的存储单元,所以控制器404能将可用存储单元分配给端口2和3。
分配给交换机中的每一端口的存储单元的数目可以基于需要确定。如果没有足够可用的存储单元用于分配给需要存储单元的所有端口,则可用存储单元可以被相等地分配给这些端口,或者一些端口可以具有高于其他端口的优先级。这可以由控制器404或某个其他控制器(未示出)控制。控制器404能通过将可用存储单元从端口1重新指定给端口2和3,例如,通过更新表格412以表示先前指定给端口1的可用存储单元中的哪一些现在被指定给端口2和3,来将可用存储单元从端口1分配给端口2和3。
在分配了存储单元后,控制器404将基于可用存储单元的重新指定,更新端口1、2和3的阈值。例如,如果指定给端口1的500个存储单元被分配给端口2,并且指定给端口1的300个存储单元被分配给端口3,则用于端口1的阈值会降低800,端口2的阈值增加500,并且端口3的阈值增加300。
在图5的例子中,尽管由端口3使用的存储单元的平均数低于指定给端口3的存储单元的总数,但是因为端口3的平均使用情况高于其阈值,所以指定给端口1的可用存储单元被分配给端口3。其他实施例可以要求在将可用存储单元分配给端口前由端口使用的存储单元的平均数等于指定给该端口的存储单元的总数。
通过将所分配的存储单元返回到原始端口,在交换机402中,可以保持存储单元分配中的公平性。在上面的例子中,当一个事件发生时,诸如,当固定的时间段流逝时,或者当端口1的平均使用情况超出了其阈值时,控制器404可以操作用来将可用存储单元从端口2和3重新分配返回给端口1。
在一种实现方式中,图4中的交换机402是PCI Express交换机。由于PCI Express使用基于信用的流量控制,所以该实现方式中的每一存储单元是一个信用,其等于4个双字。一个双字等于4个字节或32位。因此,一个信用等于16个字节或128位。依照PCI Express协议,PCI Express交换机和PCI Express设备间的连接被称为链路。每一链路包括一个或多个通道。通道能够在每一方向中同时传送1个字节的数据。因此,监视平均信用使用情况的粒度可以处于更精细的级别上,诸如,基于逐个通道地或者基于某一方向进行,而不是基于逐个端口地进行。另外,其中应用了存储设备分配管理的交换机402的端口可以局限于PCI Express设备所连的那些端口。连接到PCIExpress设备的端口包括连接到另一PCI Express交换机的那些端口。
图6所示的是根据本发明的另一方面用于管理交换机中的存储设备分配的处理过程600。交换机包括多个端口和分成多个存储单元的内部存储设备。在602,在预定时间段上监视由多个端口中的每一个使用的存储单元的平均数。在604,设置用于由多个端口中的每一个使用的存储单元的平均数的阈值。用于每一端口的阈值小于或等于指定给相应端口的存储单元的总数。
在606,确定由多个端口中的第一端口使用的存储单元的平均数是否小于用于该第一端口的阈值,以便确定指定给第一端口的一个或多个存储单元是否可用。如果指定给第一端口的一个或多个存储单元可用,则在608确定用于多个端口中的第二端口的阈值是否大于0。如果用于第二端口的阈值大于零,那么在610确定由第二端口使用的存储单元的平均数是否大于用于该第二端口的阈值。
当由第二端口使用的存储单元的平均数大于用于该第二端口的阈值时,在612,将来自第一端口的一个或多个可用存储单元重新指定给第二端口。然后,在614,基于一个或多个可用存储单元的重新指定,更新指定给第一端口和第二端口的存储单元的总数以及用于第一端口和第二端口的阈值。在616,当一个事件发生时,诸如,当固定的时间段流逝时,将一个或多个可用存储单元从第二端口重新分配返回给第一端口。一个或多个可用存储单元的重新分配也可以是动态的。
如果在606中的确定为否,即,第一端口不具有任何可用存储单元,那么在618确定在交换机中是否存在还没有评估存储单元的可用性的另一端口。当存在另一端口时,处理过程返回到606,以便确定该另一端口(现在将被称为第一端口)是否具有任何可用存储单元。当已经评估了交换机中的所有其他端口时,处理过程600结束。在一个时间段过去后,处理过程600在602重新开始,以便周期性地执行它。
如果608或610中的确定为否,即,存储设备分配管理被禁止用于第二端口,或者第二端口不需要另外的存储设备,则在620确定在交换机中是否存在仍待评估存储设备分配管理的另一端口。当存在另一端口时,处理过程返回到608,以便确定存储设备分配管理是否被允许用于该另一端口(现在将被称为第二端口)。当其他端口中的任何一个均不需要评估存储设备分配管理时,处理过程600结束。与之前相同,当一个时间段过去了时,在602,重新启动处理过程600。
本发明能采用完全硬件的实施例、完全软件的实施例、或者包含硬件和软件元件的实施例的形式。在一个方面中,本发明用包括但不限于固件、常驻软件、微代码等的软件实现。
此外,本发明能够采用可从提供了用于由计算机或任何指令执行系统使用或结合其使用的程序代码的计算机可用介质或计算机可读介质中存取的计算机程序产品的形式。为了该描述的目的,计算机可用介质或计算机可读介质能够是任何能够包含、存储、传递、传播或传送用于由指令执行系统、装置或设备使用或结合其使用的程序的装置。
介质能够是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可移动计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前例子包括DVD、紧密盘-只读存储器(CD-ROM)和紧密盘-读/写(CD-R/W)。
图7显示了数据处理系统700,其适合于存储和/或执行程序代码。数据处理系统700包括通过系统总线706耦合到存储器元件704a-b的处理器702。在其他实施例中,数据处理系统700可以包括不只一个的处理器,并且每个处理器可以通过系统总线直接或间接地耦合到一个或多个存储器元件。
存储器元件704a-b能够包括在实际执行程序代码期间采用的本地存储器、大容量存储设备、以及提供至少一些程序代码的临时存储以便降低在执行期间必须从大容量存储设备中取得代码的次数的高速缓存。如图所示,输入/输出或I/O设备708a-b(包括但不局限于键盘、显示器、指示设备等)耦合到数据处理系统700。I/O设备708a-b可以直接地或者通过插入其间的I/O控制器(未示出)间接地耦合到数据处理系统700。
在该实施例中,网络适配器710耦合到数据处理系统700,以便允许数据处理系统700变为通过通信链路712耦合到其他数据处理系统或远程打印机或存储设备。通信链路712能够是专用或公用网络。调制解调器、电缆调制解调器和以太网卡仅仅是少数几种当前可用类型的网络适配器。
已经描述了用于交换机中的存储设备分配管理的各种实现方式。不必说,本领域的普通技术人员将会很容易意识到,可以对这些实现方式做出各种改进,并且任何变体都将在本发明的精神和范围之内。例如,参考处理动作的特定次序了描述上述处理流程。然而,可以改变其中许多上述处理动作的次序,而不会影响到本发明的范围或操作。因此,在不背离下述权利要求的精神和范围的情况下,本领域的普通技术人员可以做出许多改进。
Claims (10)
1.一种用于管理在利用流量控制的交换机中的存储设备分配的方法,该交换机包括多个端口和分成多个存储单元的内部存储设备,该方法包括:
监视在预定时间段上由多个端口中的每一个使用的存储单元的平均数;
设置用于由多个端口中的每一个使用的存储单元的平均数的阈值,用于每一端口的阈值小于或等于指定给相应端口的存储单元的总数;以及
响应于下列情况而将指定给多个端口中的第一端口的一个或多个可用存储单元分配给多个端口中的第二端口:允许用于第二端口的存储设备分配管理,并且由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。
2.如权利要求1所述的方法,进一步包括:
确定用于第二端口的阈值是否大于零,以便确定存储设备分配管理是否被允许用于第二端口。
3.如权利要求1所述的方法,其中,当由第一端口使用的存储单元的平均数小于用于该第一端口的阈值、或者用于该第一端口的阈值的预定百分比时,指定给第一端口的一个或多个存储单元可用于分配。
4.如权利要求1所述的方法,其中,分配一个或多个可用存储单元的步骤包括:
将一个或多个可用存储单元从第一端口重新指定给第二端口;以及
基于该一个或多个可用存储单元的重新指定,更新指定给第一端口和第二端口的存储单元的总数以及用于第一端口和第二端口的阈值。
5.如权利要求1所述的方法,进一步包括:
当固定的时间段流逝时,或者当由第一端口使用的存储单元的平均数达到用于该第一端口的阈值时,将一个或多个可用存储单元从第二端口重新分配返回给第一端口。
6.一种用于管理在利用流量控制的交换机中的存储设备分配的装置,该交换机包括多个端口和分成多个存储单元的内部存储设备,该装置包括:
监视单元,用于监视在预定时间段上由多个端口中的每一个使用的存储单元的平均数;
设置单元,用于设置用于由多个端口中的每一个使用的存储单元的平均数的阈值,用于每一端口的阈值小于或等于指定给相应端口的存储单元的总数;以及
分配单元,用于响应于下述情况而将指定给多个端口中的第一端口的一个或多个可用存储单元分配给多个端口中的第二端口:允许用于第二端口的存储设备分配管理,并且由第二端口使用的存储单元的平均数超出了用于该第二端口的阈值。
7.如权利要求6所述的装置,还包括:
确定单元,用于确定用于第二端口的阈值是否大于零,以便确定存储设备分配管理是否被允许用于该第二端口。
8.如权利要求6所述的装置,其中,当由第一端口使用的存储单元的平均数小于用于该第一端口的阈值、或用于该第一端口的阈值的预定百分比时,指定给第一端口的一个或多个存储单元可用于分配。
9.如权利要求6所述的装置,其中所述分配单元进一步包括:
重新指定单元,用于将一个或多个可用存储单元从第一端口重新指定给第二端口;以及
更新单元,用于基于一个或多个可用存储单元的重新指定,更新指定给第一端口和第二端口的存储单元的总数以及用于第一端口和第二端口的阈值。
10.如权利要求6所述的装置,还包括:
重新分配单元,用于当固定时间段流逝时,或者当由第一端口使用的存储单元的平均数达到用于该第一端口的阈值时,将一个或多个可用存储单元从第二端口重新分配返回给第一端口。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/424,192 US20070294498A1 (en) | 2006-06-14 | 2006-06-14 | Storage Allocation Management in Switches Utilizing a Flow Control |
US11/424,192 | 2006-06-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101090323A CN101090323A (zh) | 2007-12-19 |
CN101090323B true CN101090323B (zh) | 2010-08-25 |
Family
ID=38862863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710096583 Expired - Fee Related CN101090323B (zh) | 2006-06-14 | 2007-04-16 | 利用流量控制的交换机中的存储设备分配管理方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US20070294498A1 (zh) |
CN (1) | CN101090323B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080201547A1 (en) * | 2006-06-14 | 2008-08-21 | Atherton William E | Structure for storage allocation management in switches utilizing flow control |
US20070294498A1 (en) * | 2006-06-14 | 2007-12-20 | International Business Machines Corporation | Storage Allocation Management in Switches Utilizing a Flow Control |
WO2013025654A2 (en) | 2011-08-12 | 2013-02-21 | Mcalister Technologies, Llc | Fluid distribution filter having spiral filter media and associated systems and methods |
CN102752213A (zh) * | 2012-07-12 | 2012-10-24 | 苏州阔地网络科技有限公司 | 一种网络会议漂移的实现方法及系统 |
CN102739414A (zh) * | 2012-07-12 | 2012-10-17 | 苏州阔地网络科技有限公司 | 一种网络会议漂移方法及系统 |
CN102811134A (zh) * | 2012-07-31 | 2012-12-05 | 苏州阔地网络科技有限公司 | 一种网络会议漂移控制方法及系统 |
CN102811133B (zh) * | 2012-07-31 | 2015-04-01 | 苏州阔地网络科技有限公司 | 一种网络会议漂移控制的方法及系统 |
CN102833153B (zh) * | 2012-07-31 | 2015-04-01 | 苏州阔地网络科技有限公司 | 一种网络会议漂移的控制方法及系统 |
CN102801619B (zh) * | 2012-08-09 | 2015-04-01 | 苏州阔地网络科技有限公司 | 一种网络会议漂移处理方法及系统 |
CN102820978B (zh) * | 2012-08-13 | 2015-04-01 | 苏州阔地网络科技有限公司 | 一种实现会议漂移的方法及系统 |
TWI497306B (zh) * | 2012-11-29 | 2015-08-21 | Faraday Tech Corp | 超高速通用序列匯流排集線器及其相關流量管理方法 |
US9003090B1 (en) | 2014-03-25 | 2015-04-07 | DSSD, Inc. | PCI express fabric routing for a fully-connected mesh topology |
CN108763107B (zh) * | 2018-06-04 | 2022-03-01 | 平安科技(深圳)有限公司 | 后台写盘流控方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541912A (en) * | 1994-10-04 | 1996-07-30 | At&T Corp. | Dynamic queue length thresholds in a shared memory ATM switch |
CN1389799A (zh) * | 2002-07-31 | 2003-01-08 | 清华大学 | 多优先级最佳动态域值缓存管理算法 |
CN1780252A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 分组转发设备的缓存资源管理方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6084856A (en) * | 1997-12-18 | 2000-07-04 | Advanced Micro Devices, Inc. | Method and apparatus for adjusting overflow buffers and flow control watermark levels |
US6347337B1 (en) * | 1999-01-08 | 2002-02-12 | Intel Corporation | Credit based flow control scheme over virtual interface architecture for system area networks |
US6470016B1 (en) * | 1999-02-09 | 2002-10-22 | Nortel Networks Limited | Servicing output queues dynamically according to bandwidth allocation in a frame environment |
TW477133B (en) * | 2000-04-01 | 2002-02-21 | Via Tech Inc | Method for solving network congestion and Ethernet switch controller using the same |
US7047309B2 (en) * | 2000-08-23 | 2006-05-16 | International Business Machines Corporation | Load balancing and dynamic control of multiple data streams in a network |
US7245626B1 (en) * | 2002-01-17 | 2007-07-17 | Juniper Networks, Inc. | Systems and methods for permitting queues to oversubscribe |
US6760793B2 (en) * | 2002-07-29 | 2004-07-06 | Isys Technologies, Inc. | Transaction credit control for serial I/O systems |
US7899030B2 (en) * | 2002-09-11 | 2011-03-01 | Jinsalas Solutions, Llc | Advanced switching architecture |
US20050047405A1 (en) * | 2003-08-25 | 2005-03-03 | International Business Machines Corporation | Switching device for controlling data packet flow |
US7408875B2 (en) * | 2004-04-09 | 2008-08-05 | International Business Machines Corporation | System and program product for actively managing central queue buffer allocation |
US20080201547A1 (en) * | 2006-06-14 | 2008-08-21 | Atherton William E | Structure for storage allocation management in switches utilizing flow control |
US20070294498A1 (en) * | 2006-06-14 | 2007-12-20 | International Business Machines Corporation | Storage Allocation Management in Switches Utilizing a Flow Control |
-
2006
- 2006-06-14 US US11/424,192 patent/US20070294498A1/en not_active Abandoned
-
2007
- 2007-04-16 CN CN 200710096583 patent/CN101090323B/zh not_active Expired - Fee Related
-
2008
- 2008-06-24 US US12/145,387 patent/US8898416B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5541912A (en) * | 1994-10-04 | 1996-07-30 | At&T Corp. | Dynamic queue length thresholds in a shared memory ATM switch |
CN1389799A (zh) * | 2002-07-31 | 2003-01-08 | 清华大学 | 多优先级最佳动态域值缓存管理算法 |
CN1780252A (zh) * | 2004-11-18 | 2006-05-31 | 华为技术有限公司 | 分组转发设备的缓存资源管理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070294498A1 (en) | 2007-12-20 |
CN101090323A (zh) | 2007-12-19 |
US20080263308A1 (en) | 2008-10-23 |
US8898416B2 (en) | 2014-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101090323B (zh) | 利用流量控制的交换机中的存储设备分配管理方法和系统 | |
US9477295B2 (en) | Non-volatile memory express (NVMe) device power management | |
US10236973B2 (en) | Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers | |
US9870159B2 (en) | Solid-state disk (SSD) management | |
KR100870691B1 (ko) | 조정 회로, 크로스바, 요청 선택 방법 및 정보 처리 장치 | |
US20090210735A1 (en) | Apparatus, system, and method for controlling power sequence in a blade center environment | |
CN105190567A (zh) | 用于管理存储系统快照的系统和方法 | |
US8060610B1 (en) | Multiple server workload management using instant capacity processors | |
CN107346163A (zh) | 服务器机架电力管理 | |
US8584130B2 (en) | Allocation of resources on computer systems | |
CN113342477A (zh) | 一种容器组部署方法、装置、设备及存储介质 | |
CN101983377A (zh) | 为pci设备保留pci存储空间 | |
CN104798008A (zh) | 控制处理器的可配置的峰值性能极限 | |
US10592285B2 (en) | System and method for information handling system input/output resource management | |
US9965425B2 (en) | Segmenting bus topology | |
CN101384994B (zh) | 用于逐级披露信息的装置、系统和方法 | |
US20110107031A1 (en) | Extended Cache Capacity | |
CN103262001A (zh) | 具有自适应高速缓存清除的计算平台 | |
CN104767838A (zh) | 微服务器、分配mac地址的方法、以及计算机可读记录介质 | |
CN101221517A (zh) | 在数据处理系统的分区之间交易资源的装置、系统和方法 | |
US20170017293A1 (en) | Methods of power supply unit rotating in an information handling system | |
CN111008162A (zh) | 一种单PCIE插槽支持多PCIE Port的实现方法及系统 | |
CN113806089B (zh) | 集群负载资源调度方法、装置、电子设备及可读存储介质 | |
CN104969167A (zh) | 控制装置及控制方法 | |
US20180048559A1 (en) | Apparatus assigning controller and apparatus assigning method |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100825 Termination date: 20110416 |