




已阅读5页,还剩90页未读, 继续免费阅读
(系统工程专业论文)优化计算服务:并行处理和分布式体系.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
辩汪大学磺士学位论文 摘要 优化技术是- n 重要的科学分支,在许多工程领域得剡推广和虑用。然而工程中 爽耩戆俊纯海疆,茏箕是穴蔑搂复杂系统靛往往圈簸,它襄j 存在蠢孽求簿难蠡之一是瓣 麒规模大,导致计算费时。一些典挺的组合优化问题已被谶明属于n p 完全问题,对 这些阔瑟静求解,除构造避整蔓算法求解癸,氆遥韬鲍需要掇嵩计冀靛力。 另一方面,优化计算的用户也嚣要从软硬件维护的日常琐碎事务中脱身出来,从 箍更专注于优纯闯题自身。本文立足于这魏现实需求,考虑优纯计算的并行化和嗣络 化发展趋势,在对国际上现有研究成果及技术发展进行比较的基础上,结合它们的优 点,提出簇于分布式系统的优化计算服务。在此基础上,进行了细致的分析设计并加 娃实现。 本文的主要研究工作包括: 1 ) 讨论了优强诗算黪势簿像嚣鄹络纯趋势,慰瑰毒戮突残鬃避纾了努辑,势搬 出了其中的优缺点。 2 ) 论透了鬣诬诗冀激务戆:簿爨;整嚣求,在魄较各耱并行处理系统蜃,挺基稳搦 集群和网格等两类分布式系统来构建优化计算服务的计算平台,分析了它们 耱对手冀窀舞行娥理系统瓣优势。 3 1 设计优化计算服务的各层次结构以形成完艇的架构,并在集群和网格上进行 详细设计和部署静说明,最终在豢群上实现。多个数值实验表明优纯计算服 务是可符和有效的。 格 关键调:优化,复杂系统,优化计算服务,菸行计算,分布炎系统,集群,网 i i 浙江大学硕士学位论文 a b s t r a c t o p t i m i z a t i o no fc o m p l e xs y s t e m si s o f t e nc h a r a c t e r i z e d b yl a r g es c a l e ,c o m p l e x c o n s t r a i n t s ,h i g hn o n l i n e a r i t ya n dm u l t i p l el o c a lo p t i m a + l a c ko fp o w e r f u lc o m p u t i n g r e s o u r c ei s a l w a y sak e yd i f t i c u l t y , w h i c hp r e v e n t sa n a l y z i n ga n ds o l v i n gt h o s ec o m p l e x p r o b l e m ss u c c e s s f u l l yf o rp r a c t i c a lu s e d u r i n gt h el a s tt w od e c a d e s ,p a r a l l e lp r o c e s s i n g a n dp a r a l l e l o p t i m i z a t i o nt e c h n i q u e sh a v eb e e nd e v e l o p e dt ot a k ef u l l a d v a n t a g e o f c o m p u t i n gr e s o u r c e sf r o md i f f e r e n ts o u t e e s ,e i t h e ro n am a i n f r a m e c o m p u t e r o ro nn e t w o r k o fw o r k s t a t i o n s s o m ee f f e c t i v ea p p r o a c h e sh a v eb e e np r o p o s e d ,m o s t l yd e s i g n e df o ra c e r t a i nc l a s so fs p e c i a lp r o b l e m s g e n e r a l i z a t i o na n ds t a n d a r d i z a t i o ni ss e l d o mt o u c h e d u p o n ,i nm o s tc a s e st h es c a r c i t yo fac o r r e s p o n d i n gs u p p o r t i n ge n v i r o n m e n tl i m i t st h e p a r a l l e lo p t i m i z a t i o ns c h e m eb ee a s i l yi m p l e m e n t e da n dw i d e l yu s e d o nt h eo t h e rh a n d ,i t i sd e s i r e dt h a tu s e r sc o n c e n t r a t eo n l yo n d e s c r i b i n ga n ds o l v i n go p t i m i z a t i o np r o b l e m s ,n o t o nt r i v i a lm a i n t e n a n c ef o rs o f t w a r ea n dh a r d w a r e t h em a i nc o n t r i b u t i o n so f t h i sd i s s e r t a t i o na t ea sf o l l o w s : 1 ) t h e t r e n d so fp a r a l l e l i z a t i o na n dd i s t r i b u t e dc o m p u t a t i o nf o ro p t i m i z a t i o nf i e l d a t er e v i e w e d ,a n ds o m el e a d i n gp r o j e c t sa t eo u t l i n e da n dc o m p a r e d ,w i t hf o c u s o nt h e i rf u n c t i o n a l i t ya n da r c h i t e c t u r e 2 1an e wc o n c e p to fo p t i m i z a t i o ns e r v i c ei s p r o p o s e d b a c k g r o u n da n ds y s t e m a n a l y s i s i s p r e s e n t e d t w o k i n d so fd i s t r i b u t e d s y s t e m s ,c l u s t e r s a n d g r i d c o m p u t i n gs y s t e m s ,a r ec h o s e n 船t h ec o m p u t i n gs y s t e m s ,b e c a u s eo f t h e i rh l i g h s c a l a b i l i t ya n dp e r f o r m a n c e c o s t r a t i ot oo t h e rk i n d so fp a r a l l e l c o m p u t i n g s y s t e m s 3 ) ac r o s s - p l a t f o r ms y s t e mm e t a s o l v e ri sd e s i g n e da n dp r o t o t y p e dt ov e r i f yt h ei d e a o f o p t i m i z a t i o ns e r v i c e a i m i n ga ts o l v i n gc o m p l e xa n dl a r g e s c a l eo p t i m i z a t i o n p r o b l e m s ,m e t a s o l v e ri sd e s i g n e dt or u n o nc l u s t e r sa n d g r i dc o m p u t i n gs y s t e m s m u l t i p l e s o l v e r sa n d m u l t i p l e t a s k sc o u l db es c h e d u l e da n de x e c u t e d c o o p e r a t i v e l y a n d i n t e r a c t i v e l y f r a m e w o r k o fm e t a s o l v e ri s g i v e n a n di t s i m p l e m e n t a t i o n i sd e t a i l e d n u m e r i c a l e x p e r i m e n t s o n s o l v i n gr a s t r i g i n s f u n c t i o na n dad i f f i c u l td i s t i l l a t i o nc o l u m n o p t i m i z a t i o np r o b l e m d e m o n s t r a t e si t s e f f e c t i v i t y k e y w o r d s :o p t i m i z a t i o n ,c o m p l e xs y s t e m s ,m e t a s o l v e r , p a r a l l e lp r o c e s s i n g , d i s t r i b u t e dc o m p u t a t i o n ,c l u s t e r s ,g r i dc o m p u t i n g 致谢 在求是园的近7 年时间里,从本科生到硕士研究生,我一直得到了导师邵之江副 教授给予的学习上的悉心指导和生活上的热情关怀。导师敏锐的探索力、广博的知识、 严谨的治学态度和勤恳的工作作风一直影响和激励着我,这些将使我受益终生。在本 文即将完成之际,谨向我的恩师表示最衷心的感谢和最诚挚的敬意! 特别感谢钱积新教授多年来给予的亲切关心和支持,感谢张帆博士的先锋工作给 我的极大帮助。 衷心感谢王永铭、陈韬、杨洪峰、蒋维和郑小青等同一课题组的同学们,他们与 我进行了许多有益的交流和讨论,并提出了不少宝贵的意见和建议。 衷心感谢王慧教授、梁军教授、马龙华副教授、赵均博士、陈曦博士、周立芳副 教授、赵豫红博士和李平教授等诸位老师对我一向的关心和帮助。 感谢邓赤女士长期以来所给予的帮助。 好友江盛树、印晨光、刘翔、周海飞和张静,一直对我的学习和生活提供了很大 的帮助,在此一并致谢。 感谢同实验室的同学万力、郑泳凌、郭听、周光辉、汪晓勇、王晓薇、许国平和 王金林,两年多来我们共同创造了和谐的集体氛围,为本文的工作提供了舒适的环境。 最后,我要深深感谢我的家人,尤其是我的父母,是他们一直以来给予的无私的 理解和支持,才能使我全身心的投入到学习和工作中。 谨以此文献给所有关心和帮助过我的老师、同学、朋友和家人! 张仲广 2 0 0 4 年3 月 于求是园 濑江夫学颈士学整论文 第一章绪论 摘要对往证搜零避行了簿要奔爨,然后讨论优纯寝羯软件静并行纯帮两缮纯静笈爱 趋势+ 煨后根据现状存在的不足提出全文的工作内容优化计算服务,并详细分析 了优纯计算服务豹背景每需求。 1 ,1 优化技术 优纯技术是黻数学羚蒸磴豹戮究;蘑解决最往纯 、蠢题静波用技术,作为一门重婺 的科学分支一直受到人们的广泛重视,并农诸多工程领域得到迅速推广和殿用,如 燕统控制、生产调度和最伉设计,等等。实现生产过程酶戢伉纯,对提高生产效率、 效益和节锻资源等具有重要的作用。同时,优化方法的理论研究对改进算法性能、 辆宽算法_ 陂用领域和完善算法体系同样具有重要作用。因此,优化理论与算法的研 究是一个网时具鸯理论意义和应髑徐值戆薰要课鼷。 优化技术的工作一般被分成两个部分:一是由工程领域的实际问题形成为最优 像的数学模型;= 楚对数学模型遴孬翅工嚣求鳃。 最优化问题及分类 往德穷法涉及熬工翟领域广泛,运题糖类与瞧隳繁多。羟镱嚣富,最後伍瓣题 可分为函数优化问题和组合优化问灏两大类,其中函数优化的对象是一定区间内的 逡续交誊,两疆会优纯懿对象曩| j 怒解空间中静离散状态( 王凌,2 0 0 1 ) 。 函数优化问题通常可描述为:令s 为射上的有界子集( 即变量的定义域) ,f :s r 为n 为实值函数;那么使番数f 在s 域上获得全简最小纯就是寻求点x s , 使得f ( x + ) 在s 域上全局最小,即对任意的x s :f ( x ) f i x ) 。根据s 姆”的 芙系,函数优化问题可分为两类不同的基本问题:当s = r n 时,为光约束优化问题; 当s 是爻n 的真子集时,为有约束优化闻鼷。 组合优化问磁通常可描述为:令n = s 1 ,s 2 ,s i l 为所有状卷构成的解空间, c ( s i ) 必状淼8 i 对殿豹基掭灞数僮,要寻隶凝侥解s ,使褥瓣任意的s i ,c ( s ) = r a i n c ( s i ) ) 。组合优化往往涉及排序分炭筛选等问题。 典登懿缝合谯纯超鼹蠢藏嚣甏阀蘧、加工潺发淘嚣、e 。l 鹜毽阚蘧、装禧瓣题、 圈着色问题和聚类问题等。 第一章绪论 优化算法及其分类 依优化机制与行为来划分,目前工程中常用的优化算法主要可分为经典算法和 智能型算法。经典算法包括线性规划、非线性规划、整数规划和分枝定界等运筹学 中的传统方法,其算法复杂性一般较大,往往通过适当的改造来获得更高的求解效 率。智能型算法包括模拟退火、遗传算法、禁忌搜索算法和神经网络等方法,通常 利用一些指导规则来寻优。 优化算法还可以从别的角度进行分类,如确定性算法和随机型算法,局部优化 算法和全局优化算法,等。 1 2 优化计算的软件应用 计算机从上世纪4 0 年代开始出现和应用,成为科学和工程计算的有力工具,促 进科学和工程计算迅速发展。科学和工程计算的应用增长和需求也推动了计算机的 结构变化和计算机技术的发展。 对优化计算来说,几十年来其软件应用也伴随着计算机技术和网络技术的发展 而不断变化。 1 2 i 从串行算法到并行算法 单个处理器的计算能力扩展是有限的,不能满足应用增长的需要。将已有的串 行算法改造为并行化设计,或者重新构造并行算法,是为了充分利用并行处理系统 的处理能力。 并行算法是一些可同时执行的多个进程的集合,这些进程互相作用的协调动作 从而达到对给定问题的求解( 张宝琳等,1 9 9 9 ) 。 并行算法和并行处理系统的发展是相辅相成的,它经历了几个重要的阶段。首 先是基于向量运算的并行算法,在上世纪7 0 年代末到8 0 年代初最为流行。8 0 年代 初期和中期,随着多向量处理机的出现而提出了相应的并行算法,其特点是既要考 虑到多处理机的任务级并行,又要考虑到单处理机上的向量级并行。8 0 年代中期, s i m d ( s i n g l e i n s t r u c t i o n s t r e a mm u l t i p l e d a t a - s t r e a m ) 计算机,即“单指令流多数据流 计算机”上的并行算法研究最为热门,该类并行机由大量功能简单的微处理器构成, 浙江丈学硪士学受论文 遴常骞要羚簿算法在各处爨爨上缀好地分懿羼部数援,并缀织数据程处理爨】f 霹懿合 理流动,从而解决艇个计弊命题。m i m d ( m u l t i i n s t r u c t i o n s t r e a mm u l t i p l e d a t a s t r e a m ) 诗簿壤,秘“多攫令浚多数援滚谤舞凝”上戆著纾算法磅突廷始予8 0 年载裙期,宅 的处理器功能比较强大,能独立处理各类簸杂运算,处理器间通过摄式或隐式的通 嵇来程茧给弱,共霹求瓣阂一阂爨。 从上馓纪9 0 年代初开始,局域网络技术的成熟使工作站网络( 戚集群) 以廉价的 形态出瑗在并行鲶理系统幸亍韭,羚褥骜遮速静发葳。集群氇潺于m i m d 一隳。 目前的并行处理系统中,m i m d 类机器占据绝对主流地位,因此并行算法的设 计也缓它翻为主。 相应的,在优化领域,许多并幸亍优化箨法已得到实现,它们基本上可分为3 种 缀男1 1 ( s c h n a b e l ,1 9 9 5 ) : 1 ) 纂本矩黪运箕库的筹褥他 2 ) 函数和微分计算的并行化 3 ) 靛度鲍逮一步提懿,如爨蛙梭多个函数或皴分戆诗簿 级别2 与级别1 的并行化都已得到了大量的研究工作。2 0 0 1 年并行计算的国际 大会上考一个关予饕绫缝饶徒劳磐诗舞瓣夺鹜窿谈会,这令领域瓣臻究夫爨毒专谂帮 兴享各自的认识和成果,邀些成果很明显的分成两个趋势( m i g d a l a se ta 1 ,2 0 0 3 ) : 1 ) 将并行踅阵运算软徉或算法封装夔l 往纯代码孛,笼其是实现内点繁臻静技 碍,线性代数运算对内点策略很关键。 2 ) 针对具有大规模或组合特钲的全蠲优化简藏设计斯麴荠行求解策略。 第2 个趋势郎级别3 的若行化,导致许多新算法的设计,如模拟退火算法、遗 传算法和禁忌搜索算法等,在最谶几年被邂渐重视研究,而且进展迅速( m i g d a l a se t a l 。,2 0 0 3 ) 。 1 2 2 从单机威用到网络化 p c 机和个人工作站的普及和性能的不断增长使个人和企业用户能在微机上处 联一些中小规模的优化问题。需求促进了优化算法季g 徽祝的移植和开发,伉纯应嗣 软l 牛在微机上日濒成熟和丰富。 另一方面,随着计算机网络技术的发展,网络和i n t e m e t 的优势为优化计算攒 第一章绪论 供了更多的应用机会,这个趋势一直在持续着。r o b e r tf o u r e r 等于2 0 0 0 年对优化应 用网络化的发展做了全面的概括( r o b e r tf o u r e re ta 1 ,2 0 0 0 ) 。 最早在i n t e m e t 上的使用是提供优化应用软件供下载,始于上世纪8 0 年代。开 发者通过维护卸站点来提供非商业的优化应用软件,其中较著名的是 n e t l i b ( d o n g a r r ae ta 1 ,1 9 8 7 ) ,它包括大量的算法。接着,w e b 技术的出现进一步促 进更广泛的资源集合,超链接使得软件下载和其它的辅助信息更多的被组织在一起。 到上世纪9 0 年代中期,一些优化应用软件的开发者开始尝试利用w e b 为用户 提供优化服务器,而无需用户下载或安装软件。最初的优化服务器趋向于通过e m a i l 或邱来单向或双向传输优化问题的定义文件,并利用一些w e b 页面来解释和说明 优化服务器的工作。后来进一步发展到使用w e b 表单作为优化服务器的集成部分。 优化服务器可分为两类( r o b e r tf o u r e re ta 1 ,2 0 0 0 ) :求解器服务器和建模语言服 务器。前者为一些特定类型的求解器建立服务,这里的求解器可理解为优化应用软 件;较有名的有4 个求解器服务器:b a r o n ,h i r o n ,i m b u s ,u n i c a l c 。目前有2 个建模语言服务器专用于为优化问题服务的建模语言:l p l ,a m p l 。其中,a m p l 由r o b e r tf o u r e r 、d a v i dg a y 和b r i a nk e m i g h a n 开发( 1 9 9 0 ) ,用于线性和非线性规划 问题,此外还可用于具备某些特征的整数规划、网络优化等。 在优化服务器中,最有影响力的当属n e o s 服务器。始于1 9 9 4 年的n e o s 项 目的起始研究方向是显示自动微分工具在优化应用软件中求解大规模问题的能力, 后来逐渐发展成为基于i n t e m e t 的优化服务器( e l i z a b e t hd d o l a ne ta 1 ,2 0 0 2 ) 。从 1 9 9 9 年到2 0 0 1 年,每月接受的平均任务数目分别为1 4 0 0 、3 1 0 0 和6 2 0 0 ,可见其增 长迅速。到2 0 0 2 年,n e o sv 4 已是一个有效的计算环境,它的求解模型如图 1 1 ( e l i z a b e t hd d o l a ne ta 1 ,2 0 0 2 ) 所示。 在n e o sv 4 的求解模型中,用户可选择4 种用户接口之一来提交优化问题。 n e o ss e r v e r 在求解模型中处于核心位置,负责将用户提交的优化问题分配到远程 服务器上计算,最后从远程服务器获得结果通过用户接口返回给用户。 到目前为止,n e o s 在i n t e m e t 上使用位于多个国家或地区的数个服务器运作, 已包含超过5 0 个的优化算法,其简单实用的效果吸引了大量用户。对用户来说,优 化问题的定义与在本地操作相比保持不变,仍然提供静态的程序、数据及其它文件。 濒江大学磋士学证毽丈 强1 t n e o s v 4 墩瓣疆鹫 在优化服务嚣之后,元计算项目正在兴起。元计算机不同于并行计算机,一台 张计算机建一个劝态静环辘,由务个可按照自己意愿箍时秘由黼入藏离开静计算瓿 缎成。元计算的概念是较早出现的,现在可能有熨多的人愿意使用网格这个术语来 代替元计算。 n e o s 的后续项墨朔e 衄n e o s ,是一个较萋名蛉与优化应用捆关的必计算璇 两,它的髓标是( m c t a n e o s 项目,1 9 9 8 ) :设计元计算环境求解大规模优化问题,识 粼逶会予悫谤算黪境熬优健闷题势舞发算法求解,零l 用瑷礴雏维莱褒求鳃嶷有空嚣 规模和复杂性的优化问题。m e t a n e o s 项目集成了基础的葬法研究和针对分布式系 绞管理鹣蕤殖转移工具嚣发,杰耀镬算法霹裂矮懋谤算嚣凌黪强大熬毽冥褥懿、煮 娥迟和易失效的计算能力。近几年它已取得了一必成果,开发出一套称为m w 的 a p i ,予2 0 0 0 年6 旁藏秘豹解决了n u g 3 0 蠲蘧:辔1 0 0 0 个诗算节赢躯袋豹嚣诗算 机在7 天内解决丁n u g 3 0 问题( m e t a n e o s 项目,1 9 9 8 ) 。 d 2 0 l 顼磊麓另一个箸名的基于元计算繇境f 藏弼格) 的优纯计算顼蟊,蔟鑫静魑 发现候选药物来对抗炭疽热、天椽、埃博挝病毒和s a r s 等具有离危害性的传染病 辩( d 2 0 l 项目,2 0 0 0 ) 。d 2 0 l 项目挺供客户端软件甜志愿者安装在务己前p c 机上掇 第一章绪论 供空闲的计算能力,当客户端软件连接上d 2 0 l 项目的中心服务时下载一定数目的 任务在本地使用遗传算法完成计算,最后将结果传递给中心服务。中心服务由 s e n g e n t 公司的c o m m u n i t y o s 管理。c o m m u n i t y o s 项目为分布式计算环境提供以服 务为中心的管理,其核心组件是资源管理和服务管理环境,后者包括命名、服务注 册和目录、信息存储等3 个管理服务( c o m m u n i t y o s 项目,19 9 9 ) 。有c o m m u n i t y o s 的参与,d 2 0 l 项目有效的调度任务和管理来自全球各地志愿者提供的闲置计算能 力组成的元计算环境。 事实上,这些元计算项目也是并行化的体现:m e t a n e o s 在开发针对元计算环 境的并行算法,d 2 0 l 采用属于级别3 的具有较粗粒度的并行化方式。 1 。3 优化计算服务的提出 比较优化服务器,如n e o s 项目,以及优化相关的元计算项目如m e t a n e o s 和 d 2 0 l 项e l ,它们各有所长。 n e o s 项目的优点是定位于为用户提供计算服务,用户只要提交对优化问题的 定义,通过n e o ss e r v e r 即可获得计算。但其缺点也是明显的: 1 ) 仅支持静态的单一任务。用户只能提交为单一任务而编写的静态程序和数 据。 2 ) 后台的数个服务器未能提供并行的计算方式。n e o s 项目由处于广域网上的 数个服务器联合运作,但服务器之间并末参与联合的计算。各服务器单独部 署各自的求解器,由n e o ss e r v e r 的简单的任务分配算法将任务传递给合适 的服务器。 优化相关的元计算项目的优点是支持对异构的和可扩展的元计算环境的资源管 理,特别是m e t a n e o s 项目还开发针对元计算环境的并行算法。但它们的缺点正是 优化服务器的优点,由于这些元计算项目注重算法和解决具体问题,并不是为多数 的个人用户和企业用户提供实在的计算服务。 因此,本文的目的是提出优化计算服务,并以m e t a s o l v e r 命名,它集合以上讨 论的优点: 1 ) 提供优化计算的服务,支持用户提交具有动态且多任务的请求 2 ) 计算服务建立在可扩展的计算环境上 浙江大学硕士学位论文 3 ) 计算服务或计算环境支持并行计算 以下从三个方面讨论优化计算服务的基本需求。 1 3 1 使用户更专注优化问题自身 多数的个人用户和企业用户在处理优化问题时面对这样的情形: 1 ) 每个计算节点运行唯一操作系统。近年来已有不少模拟器虚拟机,如 v m w a r e 和v i r t u a lp c 等。虚拟机软件运行在底层的操作系统上,模拟硬件 设备,并可在其上安装运行别的操作系统。虚拟机内操作系统上可再次安 装虚拟机及其上的操作系统,可一直这样嵌套获得n 个纵向层次的操作系 统。一方面,嵌入一层虚拟机与操作系统,可认为增加了一个计算节点; 但另一方面,每嵌入一层虚拟机,都增加一层处理开销,为获得最好的性 能,在软件自身运行条件许可的情况下,应该将软件部署在最底层操作系 统。因此,我们仍可认为每个计算节点运行着唯一的操作系统。 2 ) 一个操作系统上可运行多个优化应用软件,如g a m s 和m a t l a b ( 嵌的优 化工具箱) 等。 3 ) 每个优化应用软件可包括多个优化算法,如g a m s 包括c o n o p t , m i n o p t 算法,等等。 4 ) 每个优化应用软件有自身的限制,如授权用户数目限制,求解规模限制等。 5 ) 多个优化应用软件或优化算法可同时运行在一个计算节点上。 6 ) 每个优化算法以实例方式运行,需要指定其运行参数。 为求解优化问题,他们通常要耗时完成以下步骤: 1 ) 检查现有软硬件系统,比较与购买合适的优化应用软件用于求解优化问题 2 1 优化应用软件的安装与配置 3 ) 编写代码定义优化问题 4 ) 编译或连接或测试 5 ) 本地运行 6 ) 检查结果 其中,步骤l 与2 将会给多数用户带来不少困扰。第一方面,软件安装前的前 期准备工作以及软件的安装、配置与日常维护占用了用户的部分时间,分散了用户 第一章绪论 的精力,使用户不能专注优化问题本身。 第二方面,当优化问题发生变化,如优化问题的类型变化使得现有优化应用软 件不能求解或不能取得好的结果,又如优化问题的规模变大使得现有的计算资源不 能求解或求解过于耗时,用户需要重新购买或升级现有的软硬件设备。这将使用户 的投资得不到有效的保护。 针对第一方面,需要使用户从e t 常的软硬件维护等繁琐的工作中脱身,得以专 注优化问题本身;针对第:方面,能使用户面对“优化软件的仓库”,可自由选择适 用于优化问题类型与规模的求解算法,同时,要保证有可扩充的计算能力使在较大 规模范围内的优化问题能得到及时的求解。 因此,提供优化计算的服务成为必然,m e t a s o l v e r 首先作为一个服务。用户在 使用优化计算服务来求解优化问题时要求以下步骤: 1 ) 编写代码定义优化问题 2 ) 向服务提供方提交问题 3 ) 分析返回的结果 1 3 2 算法多样性 算法多样性指没有一种算法对任何优化问题都是最有效的,即各算法均有其相 应的适用域。因此,大量的具有不同适用域的算法聚集到服务中可带来极大的便利。 算法聚集的需求主要表现在以下两个方面: 1 ) 多种优化算法可供多用户求解不同类型的优化问题 2 ) 混合优化策略的发展和应用 近年来,混合优化策略得到了较广泛的应用,其设计与分析已成为算法研究的 一个热点( 王凌,2 0 0 1 ) 。各算法有相应的适用域,因而算法的混合正是拓宽适用域和 提高性能的有效手段。 a r t h u rw w e s t e r b e r g 等结合多智能体自治系统的思想提出多算法运行体系用于 求解复杂问题( j o h nd s i i r o l ae ta 1 ,2 0 0 3 ) 。该体系将每个运行的算法当作一个智能 体,有自治的行为并相互协作组成一个运行队列;智能体负责向主执行进程请求运 行资源,当资源可用时,由主执行进程按一定的选择机制来筛选下一个可使用此资 源并运行的智能体。这里的资源通常是问题或子问题获得初值解,或者由上一个智 浙江夫学硕士学盘论文 9 畿搏褥到熬援素续果或中鞫簿。多舞法运簿体系翊遽了冀滚多撵援戆滢会墩震黯获 得最优解的求解过程的积极意义,正像人粪多元文化的融食推动社会发展那样。 王凌簿对混合整算法瓣鳝稳类麓送行了j 毽弦,谖隽圭簧鸯:事褥,镶嵌,著器 和混合结构( 王凌,2 0 0 1 ) 。 串行缭构是一种最篱攀的结橱,如图1 2 ( t 凌,2 0 0 1 ) 所承。串静缩褐静濑台型算 法是为了吸收不同算法的优点,用一种算法的搜索结果作为另一种算法的起点依次 对问题进彳亍优化。 图1 2 混合算法的串行绻构 镶嵌结构茹鬻1 3 ( i 凌,2 1 ) 掰示,它袭现秀一种算法箨为勇稀算法的一个伉 化操作或用作搜索性能的评价器。 导 由 厂- l 生矍! l 豳1 , 3 混仓算法盼镶嵌结构 并行结构如图1 4 ( 壬壤,2 0 0 1 ) 所示,京包括弼步式并行、异步式并行和礴络结 搀。蘸嚣萃申方式中寿一个嚣法作为主过程,郎图中黪算法a ,其它冀法作为子过程, 予过程问般不发生通倍。同步方式中予过程与主过程的通信保持间步。弊步方式 中套孑算法通过菸享存镤嚣拨毖炙关戆进露佳化+ 与差过程豹遂髅不受其它子算法 的影响。网络方式中各算法分别襁独立的存储器上执行独娆的搜索,算法间的通信 楚逶遘裁络鞠互簧递我。 里丢 1 0第章罐论 图1 4 混合算法的并行络梅 混合型算法的研究和开发艨得到底层运行滕的支持,使研究人员或汗发者可不 必考虑独立算法盼分鸯状况以及进程的建立、调度和遴僖等底鼷细节,只霉要考虑 混合墅算法中释独立算法的相赢协作过程。因j h :,m e t a s o l v e r 需提供底羼运行库的 支持:一套独立算法瓴会在羲令饶化藏用软势孛) 瓣分凑,进纛鲮建立、潺度彝逶 信等。 1 3 3 对计算能力的需求 第一台电子计算机e n i a c 的运算速度是每秒3 0 0 次各种遥算或5 0 0 0 次加法, 两五十多年最魄今天,鼗遥的i n t e f p e n t i u m 4 2 0 g h z 处黧器的理论峰值燕4 。o g f l o p s 。 著名的摩尔定律表明,半导体工业的集成度每1 8 个月翻一番,也就是说,计算机的 佳能镣1 8 令月左塞裁会舞裹一接,呈建霪壤数在壤长。 然而计算能力的增长赶不上应用增长的需婺,单主机的性能不可能满足大规模 秘擎与工程淘淫翡谤弊嚣隶。 工程中实际的优化问题,允其是犬规模复杂系统的优化问鼷,通常具有高缎、 多峰、强菲竣往等特赢,它们存在静求解难点乏一是滴怒巍禳大,导致占蔫存储空 间大以及计算赞时。一蝗典型的组合优化问题如背包问蹶、装箱问题和t s p 问题簿, 己被诞嘲为n p 完全问题。对这些海藏的求解,除构造谶似算法求解外,另一方褥, 迫切的嚣要提离计算能力。 豳此,在近2 0 年如蕊了许多不同的支持高傲能计算的计算机系统,按照处理器、 内存和连接方法来分类,最霉照的包括( r a j k u m a rb u y y a , 1 9 9 9 ) : 1 ) 基于分布式存储的并行处理系统( m p p ) 共享农接敬多处理极( s m p ) 3 ) 一致缓存不一致内存访问( c c - n u m a ) 的多处理器系统 耩汪大学磺士学位论文 4 瓣( c l u s t e r ) 5 ) 分布式系统 m p p 逶鬻是攒健熏无筵享资滚结棱瓣大鍪 莠露处理系统。它一黢寇蕹死吾令楚 理单元( 节点) ,节点间以商速内部甄联网络紧密连按。m p p 的缺点挺价格昂赛,其 浚价鞲:较羝。 s m p 系统包括多个处理器,通过高速总线连接基享内存,所有的处理器共享可 髑的全部资源( 总线、内存和i 0 系统) ,使用一个操作系统。s m p 系统的一个主要 问题是可扩展性熬。 c c - n u m a 系统是可扩展规模的多处理器系统,是一数缓存不致内存访问的 缱构,兼蠢m p p 岛s m p 的优点。它的单一内存镜像确保为单处理器或s m p 系统 歼发的旧程序不需改变可赢接应用,而且辑个处理器可扩展私有内存。 集群爨一援以爨终连接起寒戆p c 莪域王终蜷缝缝合。褰群戆每个节焱建工穆 站,或p c 机,或s m p 系统。在浆种程度上可认为榘群是廉价的m p p ( k a ih w a n g e t a l 。,1 9 9 8 ) 。集群鸯诲多霞纛,麴爵瓣後、毒效洼、胃扩最佳与牲接毙( k a ih w a n g e ta l 。, 1 9 9 8 ) 。 1 ) w 矮往。瘫于擎令节纛都蔗传统瓣p c 撬簸工箨辩藏s m p 系统,麓户掇蔻 在熟悉成熟的环境下开发和运行成用程序。集群提供原有农p c 机或工作站 上的程謦设计工蕊,而鱼,已存在静应蔫程序不缀改变邵w 运彳亍。 2 ) 褥效性。传统的大型机和褰错系统通过昂贵的自寇制的设计来获得高性能。 而集群利用商业化的部件来实现,有充足的可替代的标准部件:舱理器, 内存,磁盘阵列敷操作系统等。 3 ) w 扩展性。集群的计算能力通常可随着节点的增加而提高。 臻价毖。攥嚣出囊韭化敷甥终组黢,宅蝣鳃牲纷魄遵循摩衣定簿,毽照集 群的性价比增长比m p p 岛c c - n u m a 系统都要快。 分枣焱系绞霹毅诀梵楚交独立计算辍棱藏豹豢援瘸终系统。它织糖骞多令系绫 界面,每个节点运行它自融的操作系统,而且,分布式系统的每个节点可以熄m p p 、 s m p 集群或单瓿。集群楚一类耱豫懿分蠢式系统。懿溺捂方式架擒豹共享爨濠系绞 怒近几年网0 必起研究的一类分布式系统,只是网格恩强调资源共享服务而非系统。 困藏,麸可弼经、霄效往、w 扩震经笱高往徐诧的角液考虑,我嚣疆撵集群俸 为用于m e t a s o l v e r 的计算平台。另外,由于网格的基于广域网的无限可扩展性和作 第一章绪论 为下一代网络的标准,我们在第4 章讨论网格环境下的优化计算服务。 1 4 全文概貌 本文针对优化应用软件并行化和网络化的趋势,考虑用户的自身需要,提出在 两类分布式系统上建立优化计算服务一m e t a s o l v e r ,分析了m e t a s o l v e r 的背景和 需求,并做了详细的设计,最终在集群上实现了原型。全文内容安排如下: 第一章对优化技术进行了简要介绍,然后讨论优化应用软件的并行化和网络 化的发展趋势,最后根据现状存在的不足提出全文的工作内容优化计算服务, 并详细分析了优化计算服务的背景与需求。 第二章结合优化计算服务的需求使用户更专注优化问题自身、算法多样 性和对计算能力的需求,讨论优化计算服务的分析和设计细节,从整体架构到内部 的每个层次,最后讨论优化计算服务中的并行计算。 第三章对集群的基础进行了详细的介绍,组建一个小规模实验集群并对其进 行性能测试。讨论了集群上优化应用软件的部署,对并行算法的性能评价进行了适 当的介绍和分析。在此基础上根据优化计算服务的整体架构提出专用集群环境下的 具体设计,并详细分析各部分的功能。最后讨论当扩展到非专用集群环境时的具体 变化和应对措旌。 第四章详细介绍了网格的基础,包括网格的概念、网格的意义、网格的体系 结构和体系结构的一个实现g l o b u s ,以及计算网格的典型应用。讨论了用于优 化计算服务的计算网格的组建,关键服务和求解器,阐述了计算网格环境下的优化 计算服务的架构,并与集群环境下的架构做了比较。最后总结m e t a s o l v e r 分别部署 在计算网格环境和专用集群环境上的优劣势。 第五章描述了为专用集群环境而设计的优化计算服务的原型,针对各层次进 行了细致的分析和说明,其中包括故障恢复策略。最后以多个数值计算在实验集群 和原型上试验,结果表明优化计算服务是可行且有效的,并由统计数据得到对集群 环境有实用意义的效率与粒度关系图。 第六章总结全文,提出进一步的研究方向。 浙江大学硕士学位论文 第二章优化计算服务的设计 摘要上一章为优化计算服务的提出分析了需求:使用户更专注优化问题自身,算法多 样性和对计算能力的需求。本章结合需求分析。讨论优化计算服务的分析和设计细节, 从整体架构到内部的每个层次,最后讨论优化计算服务中的并行计算。 2 1 整体架构 上一章为优化计算服务m e t a s o l v e r 的提出详细分析了背景和需求:使用户更 专注优化问题自身,算法多样性和对计算能力的需求。运行于分布式系统上的 m e t a s o l v e r ,首先对用户来说是一种计算服务;其次,对于优化算法或优化应用软件 来说,m e t a s o l v c r 是一个动态资源管理环境。 m e t a s o l v e r 的整体架构如图2 1 所示。 i 用户接口l , 一 分币式系统 用户接口服务 i 执行层 l 图2 1 优化计算服务的整体架构 以下两节分别说明m e t a s o l v e r 的用户接口和分布式系统上的各层次。 2 2 用户接口 用户的核心工作是定义好优化问题,然后将优化问题提交给优化计算服务,并从 后者获得结果。 这里先定义计算任务与工程的概念:计算任务指优化应用软件可独立计算求解的 任务,包括并行算法或串行算法求解;工程指由用户向优化计算服务一次提交的文件、 第二章优化计算服务的设计 参数与计算的集合。计算任务简称为任务。 因此,工程包含任务。我们来讨论工程中应支持的计算任务的特点:多任务,任 务的动态化。 多任务 工程应支持多个任务。多任务的来源有多方面,主要包括以下三点: 1 ) 用户将多个优化问题合在一起一次提交,即一个工程包括了多个优化问 题,因此工程内必定有多个任务。优化问题之间的关系决定了隶属于不 同优化问题的任务之间的关系。 2 ) 用户对单个优化问题的求解过程进行分解,特别是对大规模复杂的优化 问题。在上世纪6 0 年代中期,阿里斯( a r i s ) 等人首先提出可将大系统分 解为多个子系统,并在不同等级上对子系统进行优化和协调运算,以求 得大系统的最优解。子系统之间的关系通过协调级来处理,因此多个任 务之间存在相互关系。分解通常有两种做法:基于优化空间的分层和基 于优化进程的分层。前者把优化问题逐层分解成若干子问题,首先对各 予问题进行并行化求解,最后逆向逐层综合成原问题的解。后者把优化 过程在进程层次上分成若干个阶段,各阶段分别采用不同的搜索算法或 邻域函数进行优化。 3 ) 构造混合型算法来求解优化问题。混合型算法对优化问题的求解可采用 分解操作,如分解与协调方法;也可不分解,如a r t h u rw w e s t e r b e r g 等的多算法运行体系。一个算法对问题或子问题的搜索结果按一定的机 制供另一个算法使用,直到满足终止条件。这里算法一次的求解或搜索 过程都是一个任务,任务之间通常彼此依赖。 因此,工程不仅应支持多个任务,而且多任务之间还应支持一些操作原语来 满足其依赖关系,如取结果、同步操作等。 任务的动态化 动态任务是伴随着多任务而产生的,为了支持多任务以及多任务之间的关 系,任务的动态产生也需要得到支持。 人工操作的任务分解不能满足任务分解的所有需要,一些优化问题的人工分 解较费时,如人工计算量较大,通过程序计算则更方便;也有些优化问题的分解 无法穷尽,更适合程序来控制分解的操作;还有些任务对之前的任务有依赖关系, 瓣汪大学璜士学经论文 器要动态产生的运蟹参数与数擐。因此,工程中应能支持甩户动态操传经务的产 生。为简化,这里限定所有任务都动态产生,即所有任务都由用户在程序文件中 确定, 在掇交时确定。 多强务与依羧关系,激及壬务瓣瑟态纯,镬褥魏n e o s 瑗羹蒋仅支持静态单强 务的用户接口不髯可行。 磊户接瑶器饕瞧括鬟交工其与径亭设计语言,翦者翔w e b 与e m a i l 等,后者由翔 户在定义优化问题的文件中使用。 2 2 1 提交工具 提交工具是供用户提交优化问题的客户端工具,其基本功能就悬工程提交和工稷 搽终。 如前所述,工程指用户向优化计算服务一次提变的文件、参数姆计算的集会。由 予计算被定义在文件内,黼j 蓖,掰户提交豹起莓惫括交箨奄一鳖醚鬻参数。 工程操作包括任务数围和状态的查询,任务的取消,以及任务的结果撼取。 任务扶产生精,其状添只能为下列请魏之一:彩络矛弹黝,劳彝受霸巳磨镕孵 殿燃腰塌竟艟茬谚 麟正旌女嬲鳍k 它们在服努运行或用户参麓下及射切换以突 时反映变化。用户在提交工程后,籍因莱些原因而不毖让其下的部分或所有任务继续 执行时,霹使鼹“取消任务”珐熊东箨止执蟹。 任务从产生后若未被敬消,则经历下列状态转换过程: 期劈量灞壁蹑茬裁第计冀缝寒( 龟拯劳繁姥兹彰孝哭缓髑唐蕈$ 秀 其中状态“已调殿”表示此任务已进入调度队列,但未进入执行队列。 善诗舞未嫠窳,程务霹旋取淤,舞| 经瓣下囊状态转换避程: 计算未结柬( 包括彻纷d 缎,店兹劳,勤- 芷磁;纫鼢- 日删鼢 任务懿结果撼取宥三箨方式;主葫,被动,实耩寸。瀑声可主韵提取任务静缝莱, 如w e b 的下载功能;也可被动等待接收服务提供方自动发回的结果,如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论