找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 11975|回复: 0
打印 上一主题 下一主题

[原创] LicManager系统中的license调度功能分析

[复制链接]
跳转到指定楼层
1
发表于 2014-7-1 10:30:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                   LicManager系统中的license调度功能分析
    在实践经验分析中,上海莱曼特公司发现了现有软件License管理系统存在的不足,提出了一种网格环境中软件License组织管理方式并设计和实现了软件共享系统的License管理器——LicManager许可证集中监控管理系统。LicManager许可证集中监控管理系统具有兼容各种license授权模式系统、License自动释放效率高、支持License资源预留和授信等优点,能够满足网格环境中对License资源管理多样性和动态性的要求,避免了以往用户随机获取license资源的盲目性。并且针对用户不同优先级提出了确保不同服务质量的调度策略。
    LicManager系统在对License调度时采取“装填算法”并结合预留机制。通过测试表明,LicManager系统可以加快任务的完成时间,并提高对license资源的利用率。
软件License作为一种稀缺资源,不同的本地管理策略决定了License的异构性和分布性。如何在作为支撑广域环境中资源共享和协同的基础设施网格中解决License分布不均衡和利用率不高的问题,成为网格环境中资源共享研究的热点之一。.现有软件License管理系统基于本地应用实现License资源的共享,其设计思想适用于局域网环境。但在网格环境中软件License的共享具有资源类型的多样性、异构性、使用的动态性等新的特点,从而对软件License共享和管理提出了新的要求。Lanmantech公司研发出了一种软件License组织管理方式,实现了网格环境中软件共享系统的License管理器。该License管理器具有兼容于各种license授权模式系统、License自动释放效率高、支持License资源预留和授信等优点,能够满足网格环境中管理License资源的动态、异构的特点。
软件共享系统与License管理器总体结构
    网格环境中软件共享系统可以由本地资源共享系统以星座模型方式通过Internet连接起来。软件共享系统的License管理器总体结构如图1所示,其中:License调度模块负责响应用户任务请求,并根据调度策略为用户任务调度License资源;License预留模块是当用户任务的请求不能立即得到满足时,根据预留策略为用户任务预留License资源;License信息数据库中存储了与License相关的全部信息,是License共享系统的数据中心License信息管理模块负责License信息数据库的维护,根据License共享系统的功能行为插入、删除或者更新License信息数据库中的各数据表;LicDispatch(即下图中的LMS系统)负责软件License的分发和回收。
1License管理器总体结构图
LicReport模块(即图中的license信息管理模块)会定期与系统交互检查其状态,并将状态信息写入License信息数据库。
LicManager许可证管理系统关键技术——用户及任务优先级定义
     针对网格环境下用户使用资源的行为和资源共享的特点,将用户优先级定义为用户使用资源的表现、用户对资源共享所做贡献和用户等级的函数;表示为User-priority=Func(user-behav2ior,user-contribution,user-level),式中:user-behavior为用户使用资源的历史记录,长期稳定的用户的优先级就比偶尔使用者高;user-contri2bution指若用户是资源提供者,则其优先级高于单纯的资源使用者;user-level为根据用户身份所设定优先级参数。任务优先级表示为:Job-priority=w1×User-priority+w2×Request-priority,其中:w1w2是不同的加权系数;Requestpriority表示用户请求资源时设定的优先级。
License调度策略
   常见的软件License管理调度大部分基于浮动License进行授权管理,任务在并行执行时License授权方式分为两种:一种是任务并行成m份执行需要mLicense,典型的如fluent软件;另一种是无论任务并行成多少份执行,都只需要一个License,典型的是Ansys软件。针对这两种情况制定的License调度策略如下。
最小优先策略
对于第一种情况,为任务选择当前可用License数目最少的资源,减少License资源“碎片”,从而保障后续更大的License请求能够得到满足。
最大优先策略
对于第二种情况,为了防止License资源的“饥饿”现象,为用户任务选择当前可用License数目最多的资源,可以保证随着时间的流逝,每个服务器系统里的License资源都可能得到使用。LicManager许可证管理系统实现中结合抢占式调度和“装填算法”,提高了系统的可用性。抢占式调度策略是指高优先级任务通过“抢占”低优先级任务预留的资源获得执行。装填算法调度策略是通过调整按照任务优先级设定的任务调度队列,在不影响各任务开始执行时间的情况下,使执行时间少的任务优先得到执行。
License预留机制
    当用户任务请求License不能立即被满足时,需要License预留机制。既要考虑到任务优先级对资源等待时间要求的不同,又要考虑预留策略对系统整体可用性等带来的影响。针对网格环境的特点,不同优先级任务采取的预留策略如下。
策略1  保障高优先级任务等待预留资源的时间尽可能短
    在LicManager许可证管理系统上记录每个单机上最晚结束任务的完成时间,从这些时间中选择出最小的一个,得到用户任务等待License资源的最大时间,以保证这个时间范围内,用户任务一定能够得到执行。
策略2  保障中优先级任务等待预留资源时间不过长
    由于中优先级任务的优先级不高,不需要保障任务等待License资源时间最短,但是该任务等待License资源时间不能过长,因此为这类任务预留满足用户任务请求的当前可用License资源最多的用户,如果存在多个结果,就随机选择一个.这种预留策略所耗费的资源比高优先级任务小,同时又能够保障任务等待时间不会太长。
策略3   保障低优先级任务所预留的资源不影响系统可用性
    对于低优先级任务,虽然不用考虑任务等待License资源的时间,但是要考虑该任务采取的预留资源策略对系统可能造成的影响。为了保障系统整体的可用性,为这类任务预留满足用户要求的当前可用License资源最少的数量,这样可以减少系统资源“碎片”,使后续对License资源的更大请求能够得到满足。
License信息管理方式
    现有License管理系统之所以不能支持多种类型的License资源,是因为采取的License信息管理方式与特定的license授权模式系统密切相关。
因此为了能够支持多种类型的license授权模式,适应网格环境下资源的多样性,提高License获取效率,所采取的License信息管理方式要独立于特定的license授权模式系统。通过在授权系统前端建立一个License信息数据库,它保存了License当前可用信息、共享的License数目、使用License资源的任务信息等所有与License相关的数据。用户在请求License资源时,只需与License信息数据库交互,License管理独立于特定的授权系统。保证了License信息的实时性,也大大提高了License信息获取的效率。

2License信息获取方式示意图
    图2中的LicManager系统调度功能模型,它起着管理浮动License的作用,负责软件License的分发和回收.License信息数据库只是改变了License的信息获取方式,并没有改变License的使用方式,从而兼容了现有的License授权使用机制。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-11-27 04:51 , Processed in 0.024545 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表