拥有最长前缀匹配交换机的可扩展存储系统的制作方法_4

文档序号:9308967阅读:来源:国知局
常取决于对于待生产 单元设计稳定性和数量的考虑,而并非考虑任何涉及从软件领域到硬件领域的转换问题。 通常,经常变化的设计可以优先在软件中实现,因为重编硬件实施方式要比重编软件实施 方式更加昂贵。通常,稳定性好且大批量生产的设计可以优先在硬件中实现,例如,在ASIC 中,由于大批量生产的运行使得硬件实施比软件实施更廉价。通常,一项设计可以以软件的 形式进行开发和测试,之后根据公认的设计规则转变为专用集成电路中等效的硬件实施方 式,在专用集成电路中用硬件来控制所述软件的指令。按照相同的方式,由新型ASIC控制 的机器即为一种特定机器或装置,同样地,已被编程和/或加载可执行指令的计算机可被 视为一种特定的机器或装置。
[0076] 图8为在现场可编程门阵列(FPGA)芯片700,例如XILINXVIRTEX-5FPGA上实现 的LPM交换机的实施例的框图。所述芯片700可包括先入先出(FIFO)输入702、报文分析 器704、LPM字符串/端口查找组块706、L4交换组块712以及FIFO输出714。传输期间, 所述FPGA芯片700可以在所述输入702接收报文,所述报文分析器704可以访问每一个报 文的内容。所述LPM字符串/端口查找组块706可以对如图5中所描述的报文内容执行前 缀匹配的方法,在图5中,每一个文件的MAC地址、IP地址、TCP地址和端口编号可以记录在 相应的表中。所述LPM字符串/端口查找组块706还可以包括规则表708和流表710,所述 规则表708可以用于提取流表的源信息,而所述流表可包含客户端-服务器和服务器-客 户端的流的表项。所述L4交换组块712可以对LPM交换机接收到的报文进行流查找、报文 编辑和转发;然后,通过所述FIFO输出714向目的地传输所述报文。在一个实施例中,所述 LPM交换机可以在NetFPGA卡中实现。
[0077] 图9为在通用计算机系统800实现的LPM交换机的实施例的示意图。所述系统800 可包括中央处理单元(CPU) 802、网络接口控制器(NIC) 804、图形处理单元(GPU) 806、GPU随 机存取存储器(RAM)808、主RAM810以及内部总线816。所述主RAM810还可包括主内存 缓冲器(mbuf)812以及GPU内存缓冲器(gbuf)814。所述主内存缓冲器812可以用于进行 基于CPU的处理,所述GPU内存缓冲器814可用于进行基于GPU的处理。所述CPU802可 包括INTEL核(Icore) 818。
[0078] 另外,LPM交换机(例如,交换机320和322)也可以在访问控制列表(ACL)、策略 路由(PBR)以及OpenFlow的建立中应用。对于这些设置,在维持传统的以太网交换机的完 整性的同时,服务器可以为POSIX文件系统名称和/或扁平DHT名称进行另外的LPM。客户 端(例如,客户端310)可以向具体的虚拟地址(例如,IP、MAC或VLANID)发送请求。然 后所述交换机能够识别请求的报文并将其转发到LPM服务器(例如,服务器330)。
[0079] 为了避免服务器过载,可以在基于LPM交换机的系统,例如,系统300中执行负载 均衡机制,由于工作负载可能处于动态变化中,当持续进行前缀聚合的时候,可以在多个服 务器之间传播数据。如果一个节点存在潜在的过载,该节点可以卸载或迀移一些子目录或 子段到其它服务器,一旦此迀移完成,新的服务器可以公布它们的新的通知。潜在过载的服 务器优先基于"距离"选择卸载候选服务器,所述"距离"是指所述服务器与所述卸载候选 服务器之间的跳数。例如,服务器A330可能想要卸载一些工作负载到其它服务器,它可以 先选择向服务器B而不是服务器C迀移一些内容,即使服务器B和服务器C都有资格和能 力进行卸载。在负载均衡中,服务器A优选服务器B主要是由于二者间距离更短以及跳数 更少。
[0080] 基于跳的迀移优先方案可以通过LPM交换机进行的潜在前缀聚合提高FIB的稳定 性。在前述的例子里,无论服务器A有多少子目录或子段被转移到服务器B,除了SWl的FIB 之外的其他任何FIB都无需更新。因此,FIB更新波动可以限于本地区域。在这种情况下, FIB的复杂度可以降低到0(NSW),其中,Nsw为交换机的数量。在一些应用中,Nsw大约是Nsw 的五十分之一。迀移期间,原服务器仍可以向其他负责的目录和段的节点发送请求;迀移完 成后,所述服务器可以保存关于其卸载的服务器的记录一小段时间。如果所述FIB没有及 时得到更新,所述服务器可能接收到文件请求,但是该文件已经被转移,在这种情况下,所 述服务器可以将所述请求转发至可以检索到所述文件的另一服务器
[0081] 图10为存储系统,例如存储系统300中的负载均衡方法850的实施例的流程图。 所述方法850可以由服务器实现,例如服务器330。在步骤855中,传输注册消息或通知。 所述注册消息可以提供分布式存储系统中的所述服务器负责的目录的指示;所述注册消息 可以为如前所描述的,例如步骤510和步骤345中的消息。在步骤860中,测量服务器的负 载。所述负载,例如可以为预定时间间隔内的内存请求数量或者为连接到所述服务器的线 路所使用的带宽。在步骤865中,确定所述负载是否超过预定的阈值。如果所述负载不超 过阈值,再次执行步骤860。如果所述负载超过阈值,所述方法转到步骤870 :在执行所述方 法850的所述服务器的一跳内选择一个服务器。如果所述负载超过阈值,则指示了所述服 务器负责的一部分文件需要转移到另外的服务器。接下来,在步骤875中,将部分目录树转 移到所选择的服务器以减轻执行所述方法850的所述服务器的负载。另外,在步骤875中, 向最近的LPM交换机传输消息以指示所述LPM交换机基于所述部分目录树的转移更新所述 LPM交换机的FIB表。
[0082] 图11为服务器900的实施例的示意图。所述服务器900包括处理器902(可称 为CPU),所述处理器902与内存设备通信,所述内存设备包括从存储器904,只读存储器 (ROM)906、随机存取存储器(RAM)908和收发器912。所述处理器902可以作为一个或多个 CPU芯片、核(例如,多核处理器)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或 数字信号处理器(DSP)实现;和/或,所述处理器902可以为一个或多个ASIC的一部分。 所述处理器902可以实现或用于在负载均衡机制中进行服务器分配和前缀聚合。
[0083] 所述从存储器904通常包括一个或多个磁盘驱动器或磁带机,用于非易失性存储 数据,并且当所述RAM908没有足够的空间来容纳所有工作数据的时候,所述从存储器904 用作溢出数据存储设备。当选择执行加载到RAM908的程序时,所述从存储器904可以用 于存储这些程序。所述ROM906用于储存在程序执行期间读取的指令或数据,所述ROM906 为一种非易失性存储设备,相对于拥有更大存储能力的从存储器904,它通常具有较小的存 储能力。所述RAM908用于存储易失性数据或储存指令。通常,对ROM906和RAM908的 访问都快于对从存储器904的访问。所述ROM908和所述从存储器904可以组合以存储目 录结构下的文件,如图1和图2所示。所述服务器900可以实现图3中的服务器330的功 能和/或执行方法850。
[0084] 所述收发器912可以用作服务器900中的输出和/或输入设备,其中,所述收发器 912还可以包括发射器、接收机或它们的组合。所述收发器912的表现形式有调制解调器、 调制解调器库、以太网卡、通用串行总线(USB)接口卡、串行接口、令牌环卡、光纤分布式数 据接口(FDDI)卡、无线局域网(WLAN)卡、无线收发器卡,如码分多址接入(CDMA)、全球移 动通信系统(GSM)、长期演进(LTE)、全球微波接入互操作性(WiMAX)和/或其他空口协议 无线收发器卡,以及其它熟知的网络设备。所述收发器912可以使得所述处理器902与互 联网和/或一个或多个企业内部网和/或一个或多个LPM交换机进行通信。应理解的是, 通过将可执行指令编程入和/或将可执行指令载入所述服务器900,所述处理器902、所述 ROM906和所述RAM908中的至少一个发生变化,将所述服务器900部分转换成具有本发明 所述的新颖功能的特定机器或装置,例如负载均衡服务器。
[0085] 本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所 述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/ 或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。在明确说明数字范 围或限制的情况下,此类表达范围或限制可以被理解成包括在明确说明的范围或限制内具 有相同大小的迭代范围或限制(例如,从约为1到约为10包括2、3、4等;大于0. 10包括 0. 11、0. 12、0. 13等)。例如,只要公开具有下限R1和上限Rj]数字范围,则明确公开了此范 围内的任何数字。具体而言,在所述范围内的以下数字是明确公开的:R=Ri+k* (Ru -R1), 其中k为从1%到100%范围内以1%递增的变量,SP,k为1%、2%、3%、4%、5%......50%、 51%,52%......95%、96%、97%、98%、99%或100%。此外,由上文所定义的两个数字尺定 义的任何数字范围也是明确公开的。除非
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1