Extending the Collaborative Online Visualization and Steering Framework for Computational Grids with Attribute-based Authorization
使用基于属性的授权机制对计算性网格的协作在线可视化和引导框架进行扩展
摘要
合作在线可视化和引导(COVS)已经成为了引导一个并行仿真实验并动态改变其参数或者仅仅通过可视化来给地理分散的合作者共享仿真结果的一项重要技术,特别是在由高性能计算(HPC)驱动的网格基础设施中。在较前的工作中,我们已经给出了一个基于UNICORE网格中间件(DEISA中使用此中间件)的COVS框架的参考实现。本文列出了COVS在框架设计和实现上的现有限制,包括不具有细致授权的能力等,而这种授权能力在合作COVS会话中是必需的。这些能力使用终端用户的诸如角色、项目成员关系或者参与专有虚拟组织(VO)等个人信息。我们概述了解决方案并且给出了一个使用属性授权机制的扩展框架的设计与实现,如最近广泛使用的基于安全断言标记语言(SAML)的虚拟组织成员关系服务(VOMS)等属性授权机制。
1. 简介
世界范围内的网格基础设施如DEISA、EGEE、OSG和TeraGrid提供了各种各样的网格服务,以实现用于e-science的大规模资源共享。虚拟组织允许跨越组织边界共享这些资源,并且能够有效的利用提供的诸如超级计算机或集群等网格计算资源。许多虚拟组织和网格基础设施内部的科学研究程序着力于物理、生物、化学或其他特定领域过程的仿真。现有的许多网格基础设施如DEISA或TeraGrid,由于高性能计算的驱动,通常使用并行计算技术(MPI[24],OPENMP[10])运行网格程序来仿真上述过程。这些仿真的结果通常有一个分离的后续处理步骤,例如,在可视化程序中查看仿真结果等。基于这些中间结果,可以在另一个计算周期中改变仿真参数。
为了提高e-scientists的有效性,合作在线可视化和引导(COVS)技术尝试同步仿真过程和仿真结果可视化。在线可视化意味着e-Scientists可以立即观察到仿真过程中的处理步骤,进而允许计算性引导在超级计算机运行时引导仿真的计算。在此上下文中,在较前的工作中,我们已经给出,当在诸如DEISA等UNICORE网格中使用一个COVS框架[22],e-scientists的有效性能够通过改变强安全环境和协作的基于web服务的特性来获得长远的提高。在本文中,我们讨论了地理分散的可视化会话中面临的挑战,引出了对细致授权机制的需求。在现有的网格中,终端用户的诸多属性如VO、组成员关系、不同的角色和能力等都是可用的,但COVS框架仅限于基于身份标识的授权认证机制(如使用X.509证书),本文给出了一个允许基于属性的授权认证机制的扩展。
本文组织方式如下,在回顾计算性网格的可视化和指引能力后,第二部分介绍了COVS框架在UNICORE中的实现并且列出了该实现对细致授权机制的限制。第三部分描述了哪些技术符合基于属性的授权认证机制并且能够在现有的网格环境中使用。基于这些技术,我们在第四部分给出了我们对COVS架构的扩展,第五部分描述了两个科学程序作为这个新特性的用例。最终,在第六部分回顾了相关工作,第七部分给出了我们的结论。
2. 协作在线可视化和指引框架的限制
协作在线可视化和计算性指引(COVS)框架使得网格程序具备了交互能力(如计算性指引)和可视化反馈机制。在早期工作中[26],我们给出了一个基于可视化接口工具包(VISIT)[13]的COVS技术实现原型和一个被称为计算资源统一接口(UNICORE)[28]的DEISA的网格中间件。此后,该方法被用于更广范围的COVS框架[23],随后我们在Grid 2007会议上将之发表[22],该方法具有较好的易用性和较高的性能。最近,我们深入研究了[21]在UNICORE中CVOS框架实现的计算性指引能力的影响[21],该UNICORE常用于的大规模DEISA HPC系统(如IBM BlueGene/P JUGENE,共有65536个处理器)。
现有COVS框架的架构如图1所示,图中给出了一个有两个地理上分散的参与者(如客户A和客户B)合作的情景。两者都运行一个科学可视化程序,外加一个COVS网格组件插件,该插件用于扩展GPR UNICORE网格客户端[25]。网格客户端用于访问两个COVS服务,该服务用UNICORE的Web服务资源框架(WS-RF)[1]的实现的工厂模式实现。因此,客户端是用来调用COVS工厂服务,该工厂服务创建了可以通过COVS服务访问的COVS会话资源。一个会话资源的实例代表一个管理不同参与者的合作可视化会话,对不同参与者的管理通过控制VISIT合作服务器和VISIT复用器来实现。VISIT合作服务器用于在参与者之间交换信息,交换通过使用SSH的专用连接完成,VISIT复用器负责通过SSH专用连接将仿真的结果分发给n个参与者。这些连接实用UNICORE网格中间件的强安全特性创建,在[26]中有关于这些连接的详细描述。总的来说,仿真实验的科学数据通过二进制加密的安全专用连接传输以达到令人满意的性能,使用Web服务的仿真工作的提交和合作会话的管理的开销就整体性能而言并不是主要的。
图1 UNICORE网格中间件中COVS框架实现
尽管我们的框架实现已经广泛使用,在提及细致的授权认证能力时,我们最近发现了该框架的一些限制,正是这些限制驱使我们提出了本文中的方法。在典型的场景中,COVS服务常用于一个虚拟组织内部,而不是用于许多地理分散的虚拟组织成员之间,在一个COVS会话中,这些成员通常有不同的角色并且拥有不同的能力。更详细地,如果一个人使用我们的框架并且与其他n-1个人共享一个并行仿真实验的可视化视图,那么我们称此人扮演一个participator角色。当一部分人扮演参与者角色时,另一部分人可能同时扮演若干个角色。这意味着我们的框架对某一个角色提供的功能不同于对另外其他角色提供的功能。例如,只有master角色的participator能够使用框架来提交或者控制一个运行在计算性网格资源上并行仿真。因此,其他参与者不需要(也不应该被允许)提交一个仿真,因为一个已经提交的并行仿真的结果将会被共享给其他参与者。 为了避免任何终端用户都可以加入一个会话,我们定义了approver角色,该角色决定哪些参与者可以加入到可视化会话中。approver角色基于候选人的不同角色和预定义的能力来决定谁能够加入到会话中。此外,在一次合作会话中,引导并行仿真的技术能力产生了在指引过程中对参与者互斥的需求。指引过程需要仿真领域的知识,因此,只有小部分参与者能够扮演领域专家的角色,并且只有这一小部分人被允许改变仿真的行为。由此得出,在同一时间,在一个COVS会话中只能有一个参与者扮演steerer的角色并控制并行仿真,这样才能保证仿真的