隔离分布式存储系统的客户端的制作方法_3

文档序号:9635164阅读:来源:国知局
(预留带宽)和弹性部分154 (弹 性带宽)。在一些实现方式中,弹性带宽是任何未使用的预留带宽152。
[0056] 默认情况下,每个客户端120可以从存储器主机110接收带宽150的同等共享。存 储器主机110可以通过将任何未使用的带宽150分布在可以使用其的客户端120之间而连 续工作。在一些实现方式中,未相等地分布带宽150。第一,存储器主机110将预留带宽152 分配给每个客户端120,并且任何未使用的带宽152被放置在弹性池中作为弹性带宽154。 除不需要弹性带宽154的客户端120不将其从池取出,而是作为替代使其相同地在可以利 用额外带宽150的客户端120之间划分外,存储器主机110可以将弹性池或者弹性带宽154 相等地划分在客户端120之间。如果可用于客户端120的带宽数量150不是足够的,或者 客户端120要求带宽保证(例如,因为同等共享带宽150可以随时间变化),则客户端120 可以请求将预留带宽152分配到隔离等级160。
[0057] 隔离等级160允许与客户端120相同运行的请求122接收分化的服务。客户端 120可以具有多个相关联的隔离等级160。存储器主机110可以使用标识符来定义隔离等 级160,诸如客户端名称加上任意的字符串。客户端120可以执行具有一个或多个客户端请 求122的应用124。每个客户端120可以具有一个或多个相关联的隔离等级160,并且每个 隔离等级160可以包含一个或多个客户端请求122。客户端标记可以确定请求122应当使 用哪个隔离等级160。备选地,可以由在每请求基础上的客户端120指定隔离等级160,因 此单个客户端120可以使用多个隔离等级160。运行为不同客户端120的请求122可以不 共享相同隔离等级160,这是因为隔离等级160是客户端120的子代。备选实现方式可以具 有跨多个客户端120的隔离等级160。可以对隔离等级160分配弹性带宽154加上预留带 宽 152。
[0058] 在一些实现方式中,客户端120、隔离等级160和客户端请求122形成层次关系。 每个客户端120可以具有一个或多个相关联的隔离等级160,并且每个隔离等级160可以具 有一个或多个相关联的客户端请求122。存储器主机110可以首先将其带宽150划分在客 户端120之间。然后,对于每个客户端120,存储器主机110将针对相应的客户端120的所 分配的带宽155划分在其相关联的隔离等级160之间。然后,对于每个隔离等级160,存储 器主机110将对应的所分配的带宽155划分在相关联的客户端请求122之间。
[0059] 在每秒字节方面,每个单元200具有额定容量。原则上,单元200的额定容量是客 户端120每秒可以从单元200读取和写到单元200的数据量312。实际上,单元200的额 定容量可以均匀地划分在单元200中的存储器主机之上并且实施在每存储器主机基础上。 例如,具有1000个存储器主机110和额定容量为1TB/S的单元200可能需要至少提供单元 200中的每个存储器上的lGB/s的负载,以便服务lTB/s的数据312。存储器主机110的额 定带宽容量206可以小于存储器主机110的网络接口控制器带宽,但是其不大于网络接口 控制器带宽。
[0060] 存储器主机110根据单元隔离配置204 (例如,被存储为文件)来访问和计算带宽 150的共享。单元隔离配置204包括以兆字节每秒为单元的每个存储器主机110的额定带 宽容量206和带宽预留208a-n的列表208。每个带宽预留208a-n包括客户端名称、隔离等 级160和以兆字节每秒为单元所指定的带宽150。在一些示例中,隔离配置204不提供弹性 带宽154,其可以是任何未使用的预留带宽152。
[0061] 在一些实现方式中,如由单元隔离配置204所阐述的隔离策略仅应用于有超过其 额定带宽容量206的危险的存储器主机110。一旦被接合,则隔离策略旨在将存储器主机 110的带宽150公平地分布在活跃地访问该存储器主机110的客户端120之间。隔离策略 可以试图将带宽150均匀地分布到活跃的客户端120直到客户端120的所提供的负载。例 如,具有lGB/s额定带宽容量206和具有.1、. 2、. 4和.8GB/s所提供的负载的四个活动客 户端120的存储器主机110,那么公平带宽分布可以相应地是.1、. 2、. 35和.35GB/s。
[0062] 在一些示例中,客户端120可以访问来自数据中心内的多个过程的过载的存储器 主机110。在这种情况下,隔离策略将客户端120的带宽150的公平共享均匀地分布在客 户端120的隔离等级160和活跃地访问存储器主机110的任务之间。换句话说,对每个客 户端120分配存储器主机110的带宽150,然后与该客户端120相关联的每个隔离等级160 分割所分配的带宽150,并且然后隔离等级160内的每个客户端请求122分割隔离等级带宽 165〇
[0063] 需要超过其单元200的带宽150的公平共享的客户端120可以预留带宽150。带 宽预留208a-n针对整个单元200根据每秒字节数。带宽预留208η均匀地分布在单元200 中的所有存储器主机110之上。例如,如果单元200具有1000个存储器主机110并且客户 端120预留500GB/S单元带宽150,那么保证客户端120从单元200中的每个存储器主机 110接收至少.5GB/s的带宽150。如果客户端120不使用其预留带宽152,则存储器主机 110可以将该客户端120的预留带宽152分布到可以使用带宽150的其他客户端120。
[0064] 带宽预留208a_n可以影响其他客户端120的公平共享带宽150。使用之前的示例, 其中具有lGB/s额定带宽容量206和具有.1、. 2、. 4和.8GB/s的所提供的负载的四个活动 客户端120的存储器主机110,如果具有.8GB/s所提供的负载的客户端120预留.2GB/s的 存储器主机110的带宽150,那么存储器主机110的可用的弹性带宽154的池仅是.8GB/s。 考虑到该带宽预留208η,隔离策略可以将.1、. 2、. 25和.45 (. 2预留+. 25弹性)GB/s的带 宽150相应地分布到客户端120。
[0065] 当存储器主机110检测到其在其额定带宽容量206之上时,存储器主机110节流 使用超过其存储器主机带宽150的共享的客户端120。每个客户端120可以使用漏桶方案 节流其对特定存储器主机110的访问。存储器主机110通过周期性地重新计算带宽共享 和更新客户端的漏桶填充率来控制客户端的漏桶的填充率。在一些示例中,每个客户端数 据通道具有拥有128kb的最大容量的漏桶,但是其他容量也是可能的并且可以依赖实现方 式。漏桶的容量确定客户端120可以实现的最大突发速率。这允许其瞬时数据速率315暂 时超过其节流率317。在发起RDMA操作之前,客户端120请求来自适当的漏桶的令牌。所 请求的令牌的数目等于RDMA操作的有效载荷大小。如果存在可用的足够的令牌,则操作进 行,如果不存在的话,则数据通道指示暂时误差已经发生,并且稍后应当重试操作。客户端 120可以使逻辑在适当的位置以用于处置其他临时数据通道错误。漏桶的填充速率设定到 由存储器主机110所分配的当前节流率317。
[0066] 存储器主机110还可以验证客户端120将遵守节流请求并且将不遵守节流请求的 行为不当的客户端120列入黑名单。可以通过拆除存储器主机110与列入黑名单的客户端 120之间的所有RDMA连接250来完成列入黑名单。
[0067] 存储器主机110向客户端120分配其预留带宽152和其存储器主机110的弹性带 宽154的公平共享作为所分配的带宽155。如果客户端120的所提供的负载小于所分配的 带宽155,则将预留带宽152的未使用的部分分布到其他客户端120。因此,所分配的带宽 155(即,存储器主机的带宽150的客户端的共享)基于其客户端120的带宽使用而动态地 改变。所分配的带宽共享155可以针对粗略地100ms是有效的,并且存储器主机110可以 在另一100ms内重新计算客户端120的所分配的带宽共享155。
[0068] 在一些实现方式中,计算针对存储器主机110的客户端120的所分配的带宽共享 155的算法是:
[0069]
[0071] 在一些实现方式中,对于隔离等级160和客户端进程128,存储器主机110计算如 由存储器主机110的额定带宽206所约束的每个客户端120的所分配的带宽155、如由针对 配给到客户端120的所分配的带宽155所约束的每个隔离等级160的带宽165、以及如由配 给到其为成员的隔离等级160的带宽165所约束的每个客户端进程128的带宽155。在一 些示例中,单独的客户端请求122可以具有或者可以不具有预留带宽152。
[0072] 计算存储器主机110的客户端120的所分配的带宽共享155的算法可以包括:
[0073]
[0075] 在计算针对每个客户端请求122的所分配的带宽155之后,存储器主机110调整 针对每个客户端请求122的当前节流率317以接近所分配的带宽共享155。由于应用突发 可以保持来自曾经实现其目标带宽共享155的应用124,因而存储器主机110可以调整节流 率317以解释该突发并且更高效地使用存储器主机带宽150。
[0076] 在计算客户端带宽共享155之后,存储器主机110可以在客户端120的所测量的 数据速率315小于其所分配的带宽155的情况下执行客户端节流率317的加法增加,或在 客户端请求122的所测量的数据速率315大于其目标带宽共享155的情况下将客户端节流 率317削减到所分配的带宽155。
[0077] 调整节流率317的示例性算法包括:
[0078]
[0079] 存储器主机110可以通过将节流率317写入到本地RDMA可访问的存储器区域 114m来将节流率317传递给客户端120。例如,当客户端120将其所传送的字节313写入 到存储器主机110时(即,在每隔128KB的所传送的字节之后),客户端RDM从存储器区 域114m读取其节流率317。此外,这使得将使用更多带宽150和更可能要求节流的客户端 120更频繁地更新其数据速率315。当其由于节流而不能读取或者写入时,客户端120还可 以RDMA读取节流率317。该读取可以额定限于每100ms-次。
[0080] (-个或多个)管理器210可以将存储器主机节流信息合并到其负载平衡策略中, 例如以归因于将该客户端120的太多数据块320叫放置在单个存储器主机110上而最小化 节流客户端120。管理器210可以接收来自包括节流信息的每个存储器主机110的状态,例 如,存储器主机110是否超过其额定带宽206并且将哪些客户端120节流。如果在跨越单 元200的许多存储器主机110上节流客户端120,则单元200可以警报客户端120其将使用 太多带宽150。如果在单个存储器主机110 (或者小数目的存储器主机100)上节流客户端 120,则(一个或多个)管理器210可以将过载的(一个或多个)存储器主机110上的该客 户端120的数据块320nk迀移到单元200中的其他存储器主机110。如果该条件持续,则可 以由热数据块320叫引起节流。可以监视节流信息以检测何时单元200过载并且是否需要 更多存储器主机100和带宽150添加到单元200。
[0081] 再次参考图2A和2C,在一些实现方式中,管理器210可以创建、复制、调整大小和 删除文件310。其他操作也是可能的。为了服务来自客户端120的复制请求122cr,管理器 210创建具有初始地设定到C0PY_PENDING状态的新文件描述符300。管理器210可以设定 /初始化以下字段中的一个或多个:大小、所有者、组、许可和/或备份文件。管理器210利 用空条纹320η来填充文件描述符300的条纹阵列325 (图3B),并且然后将文件描述符300 提交给其文件映射214。将该信息提交给文件映射214允许在管理器210崩溃或者包含文 件系统元数据212的平板电脑迀移到另一管理器210的情况下管理器210重新开始调整大 小操作。一旦管理器210将文件描述符300提交给文件映射214,则管理器210通过通知已 经发起复制操作的客户端120对客户端复制请求122cr做出响应。管理器210发起存储器 主机拉数据块操作,其指示存储器主机110分配新数据块320nk并且将备份文件的数据块 320nk读取到存储器主机110的存储器114中。当拉数据块操作成功地返回时,管理器210 将新数据块320nk添加到文件描述符300中的适当的条纹320η。管理器210将具有新数据 块320nk的条纹320η提交给文件映射214。
[0082] 在崩溃或者迀移的情况下,增量地更新文件描述符300允许新管理器210重新开 始来自先前管理器210停止的位置的拷贝操作。这还允许客户端120通过检索文件描述符 300 (例如,经由查找方法)和检查利用数据块320nk填充的文件描述符300中的条纹320η 的数目来检查复制操作的状态。一旦所有数据块320叫已经复制到存储器主机110,管理器 210就将文件描述符的状态转换到READ并且将其提交给文件映射214。
[0083] 管理器210可以维持作为单元200的一部分的所有存储器主机110的状态信息。 状态信息可以包括容量、自由空间、存储器主机110上的负载、来自客户端的视点的存储器 主机110的延迟和当前状态。管理器210可以通过直接询问单元200中的存储器主机100 和/或通过询问客户端120来获得该信息,以从客户端的视点采集延迟统计。在一些示例 中,管理器210使用存储器主机状态信息来做出重新平衡、耗尽、恢复决策和分配决策。
[0084] (一个或多个)管理器210可以分配数据块320nk以便处置用于文件310中的更 多存储空间和用于重新平衡和恢复的客户端请求122。管理器210可以维持存储器主机负 载和活跃的负载映射216。在一些实现方式中,管理器210通过生成候选存储器主机110的 列表来分配数据块320nk并且将分配数据块请求发送给候选存储器主机110中的每个。如 果存储器主机110过载或者不具有可用的空间,存储器主机110可以拒绝请求。在这种情 况中,管理器210选择不同的存储器主机110。每个管理器210可以连续地扫描其文件命 名空间的所指派的部分,大约每分钟检查所有元数据212。管理器21
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1