免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3090 | 回复: 0
打印 上一主题 下一主题

(转贴)nanoHUB 使得远程计算成为可能 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-13 15:38 |只看该作者 |倒序浏览
nanoHuB可跟苹果公司没有任何关系,它是指一个纳米实验室的远程研究中心。当然,这是对一个实际的远程研究项目的介绍来介绍目前比较先进的远程研究方法和解决方案。\r\n\r\n原文:http://www.ibm.com/developerworks/cn/aix/library/au-nanohub/?ca=dgr-cn-ixpub&\r\n\r\n
nanoHUB 是为支持纳米技术研究而创建的虚拟计算中心。它使用了各种开放源代码组件,以实现比以前的远程访问 工具功能更加强大的工具。为了使常用的软件(如 VNC 和 WebDAV)能够实现最好的性能、安全性和可用性,需要增加一些特定的配置和增强功能,本文将详细介绍这些内容。
            nanoHUB.org 使用了一种独特的中间件系统,该系统精确地兼顾了安全性、性能和方便性,以支持纳米技术的分布式公共研究。使用这个研究网关的科学家可以将精力集中在他们自己的研究上,而不必操心有关计算的问题。\r\n            与nanoHUB当前所提供的优点一样重要的是,它还告诉了我们如何配置和增强一些众所周知的开放源代码组件,以实现比大多数开发人员所想象的更加丰富的虚拟计算体验。让我们看看它究竟带来了什么,以使得像 Supriyo Datta(NASA/Purdue Institute forNanoelectronics and Computing的负责人)这样的研究人员对它进行报导,“就我们而言,只需很少的努力,就可以将我们的模拟工具提供给同事们使用。而且,我们的同事基本上不需要付出任何努力,就可以运行分子的电子模拟。”从下面的图 1 中可以看到,nanoHUB 很好地兼顾了两个方面的易用性,既适合于在其中发布工作成果的科学家,又适合于查看相关成果(可用内容)的同事们。\r\n                            \r\n图 1. 碳纳米管模拟的屏幕截图\r\n                            \r\n            nanoHUB 是一个基于 Web 的研究中心\r\n            其基本思想很简单:您是一位纳米技术研究人员,并且希望充分利用 Network for Computational Nanotechnology (NCN) 的资源,NCN 是几所大学与其他合作者组成的一个协会(请参见参考资料)。那么此刻无论您在哪里、无论这些特定的资源在物理上采用何种方式提供,在您的台式计算机或者便携式计算机中,都应该可以通过键盘和显示器连接到各种丰富的数据、计算能力、模拟硬件和 NCN 应用程序。\r\n            它应该 是很简单的。从最终用户的角度出发,它在开发中得到了极大关注,具体原因如下: \r\n
  • 必须对所有的通信进行加密。
  • 为最终用户提供保护的本地防火墙,通常包含一些不容易理解的策略,甚至在少数情况下,最终用户能够意识到它们的存在。
  • NCN 资源的使用必须经过分配,并且在某些情况下,还必须实行定量配给。
  • 对于研究人员所连接的各种台式计算机,它们在技术功能上有着很大的不同。
  • 许多应用程序仅限于特定的硬件组合,并且使用方法各异。
  • nanoHUB 作为一个整体,必须是可管理的、可伸缩的、可靠的、可用的、可测试的和可恢复的。
  • nanoHUB 需要与现有的安全基础设施保持兼容,换句话说,让最终用户尽可能多地依赖于他们已经知道的帐号和密码。
尽管一些专有的和开放源代码工具能够满足一个或者两个需求,但即使在最好情况下,整个过程在配置上也是非常复杂的。那么为 nanoHUB 访问者所提供的方便性体现在哪里呢?            这种方便性的体现必须很好地兼顾自定义的 VNC、SSL、X11、Apache,以及一些其他开放源代码项目。可以考虑一下,在本文开头附近所显示的关于纳米管模拟的内容(请参见图 1)。通过单击特定的 nanoHUB 应用程序(CNTbands 2.0)、选择合适的参数、并以交互的方式调整 3-D 图像,可以在几秒钟之内获得这个图像。除了使用 Web 浏览器中所包含的典型的 Java™运行时解释器之外,不需要任何其他软件。具体说来,用户不需要获取和配置可视化系统。大多数研究人员并不知道如何使用 OpenDX 或者PyMol(甚至不知道如何安装它们),而且他们也没必要知道。\r\n            nanoHUB 不需要进行这样的安装,这一点很好。纳米管可视化,与许多其他的 nanoHUB 支持有很多相似之处,它是相当复杂的,并且对于典型的桌面计算机来说运行速度很慢。\r\n            最初,这个模拟作为一个不带可视化功能的应用程序提供下载。在过去的一年里,基本上已经停止了这些下载,因为 nanoHUB的易用性和硬件加速可视化的有效性完全超出了研究人员自己对源代码进行编译和修改所获得的边际收益。对于他们来说,使用本地资源对结果进行可视化,这样做没有任何优点可言。对于这些从事相关工作的科学家来说,与任何备选的本地提供方案相比,nanoHUB 更易于使用,并且可以提供更多有趣的结果。\r\n            此外,这个值得注意的示例非常具有概括性。在科学领域中通常认为,如果研究人员要查看令人满意的图形,必须使用最先进的硬件设备。nanoHUB 则一次又一次地证明了它所提供的、经过仔细优化的 VNC 解决方案能够实现更好的性能,即使是通过普通的广域网 (WAN)。nanoHUB 充分地利用了 NCN 站点所提供的大量特殊用途的工具,然后依赖 VNC 的 RFB协议,以便将可视化结果传递到 nanoHUB 客户端所在的台式计算机。计算专家专注于最大限度地利用 nanoHUB的有形资产,而全球范围的、使用 nanoHUB 的纳米技术研究人员,则可以将他们的关注重点由计算问题转回到他们最擅长的科学领域。\r\n            软件细化:努力实现“使其正常工作”\r\n            nanoHUB 工作人员已经采用不同的方式解决了一些计算问题,以使得研究人员可以向前推进纳米科学的研究,相同的屏幕截图说明了这些方式的几个其他示例。在 Result 选择器的右边,有一个指向下方的绿色下载箭头。如果您单击它,那么将出现一个新浏览器窗口,其中显示了该模拟的静态图像;当然,在这个窗口中,可以直接使用浏览器以打印图像、将其保存到外部文件等等。\r\n            下面对这些操作进行更深入地研究:请记住,只有在计算服务器中才能看见这个按钮。为了实现文件的下载,服务器向客户端发送一条消息,以请求客户端的Web 浏览器从 nanoHUB 获得该文件。这个请求将被路由到该应用程序(基于 Tcl 的 Web服务器提供该文件的应用程序)。文件上传也很方便。最终用户可以获得他们所需的内容,并且无需担心通过 VNC可视的图像会影响到新的浏览器框架的启动。\r\n            还有更多的内容。请注意,如果您用鼠标抓住该窗口的边界并拉伸应用程序的显示界面,那么会发生下面的事件:它的反应非常灵敏。这不仅仅只是对窗口的大小进行调整,因为 X11帧缓冲区的尺寸限制了任何调整大小的操作。相反,nanoHUB 将调整自己的 X11 帧缓冲区的大小,并且它允许查看者的帧缓冲区将应用程序压缩 到合适的大小。据我们所知,对于 X11 服务器来说,以前没有记载过这种技术。例如,Xephyr X Server 可以在几个方面对 Xnest 进行更新,但是它并没有尝试这种相当微妙的效果。 \r\n            该应用程序的显示中还包括一个 Popout按钮,该按钮将取消 VNC 窗口的嵌入效果。因为某些浏览器无法很好地呈现嵌入的 JavaApplet,所以这样做是有好处的。具体说来,最终用户在 Mac OS X 中使用 Firefox 时,或者使用任何运行于双屏幕的 XP桌面的浏览器时,光标指针的移动常常会留下鼠标轨迹取消嵌入 可以提供一个可充分调整大小的、基于 VNC 的窗口,该窗口不显示鼠标轨迹。\r\n            nanoHUB的实现还提供了大量其他所需的属性。它完全由虚拟计算机来承载,当然可以对这些虚拟计算机进行快照、重新承载、备份、写入到 DVD 等等。如果nanoHUB 在普渡大学的当前主页受到了一定程度的破坏,那么它可以(至少在原则上可以)恢复到当前状态。\r\n            虚拟化基础设施有助于实现 nanoHUB 的可测试性和安全性。可以直接地启动“快速连续的 1000 个随机应用程序会话”、或者“同时启动 100个会话”,在 nanoHUB站点中做出了这样的说明。此外,当前的实现“为每个应用程序会话提供了一个完全私有的环境”。这些选项的高度可管理性增加了 nanoHUB技术团队隔离错误并提高安全性的能力。\r\n            nanoHUB还利用各种标准对其管理的其他方面进行简化。可以通过 WebDAV 完成大量的维护工作。出于这个目的,可以将 WebDAV看作一种协议,它扩展了 HTTP 的检索模型,以便通过常见的浏览器技术提供读写能力。WebDAV 如何访问多用户文件系统(比如计算上非常复杂的nanoHUB 结构)呢?可以通过 FUSE(一种可编程文件系统)将 Web服务器快速、简单地映射到某个特定的用户。与传统备选方法相比,这种方法提供了更安全的访问:以 root 的身份运行 Web服务器,并提供转换到文件访问器权限的实例。大量其他的站点在体系结构上选择了后面一种方法,它允许 Web 服务器使用 root用户。开放源代码生态系统现在非常丰富,足以提供所有种类的组件(如FUSE),可以组合这些组件以产生更好的(更安全的、更有效的、更具可维护性的)解决方案,这一点非常令人满意。\r\n            对开放源代码组件进行的修改\r\n            nanoHUB 的用户已经非常熟悉各种计算机。与其他情况相比,nanoHUB 向他们提供了一些存在本质区别的功能;它成功地结合了可靠性、性能、功能和安全等方面的特性,这使得 nanoHUB 能够给他们带来更多的东西。\r\n            到现在为止,nanoHUB 及其直接前趋已经经历了十多年的发展;详细描述启用 nanoHUB 的所有细化内容,已经超出了本文的范围。例如,对VNC 和 X11所做的修改多不胜数、非常复杂,并且分散在许多源文件中,以处理各种各样的安全注意事项,其不只是在最初对这些产品进行编码时出现的注意事项。同样,使用普渡大学的缺省规则(它并 赞成开放源代码)来管理 NCN 源代码的发行。\r\n            对 WebDAV FUSE 映射器所做的修改经过了本地化,以便容易理解,甚至在相对孤立的情况下。大多数 FUSE fusexmp.c 示例代码用于选项解析、错误处理和样板文件。其中最初包括 fuse_main(...),nanoHUB 依赖于下面按顺序排列的版本(请参见清单 1):\r\n            \r\n清单 1. nanoHUB 的经过精心设计的 fuse_main()\r\n
                \r\n      fuse_setup(...);\r\n      umask(0);\r\n      setfsuid(...);\r\n      chroot(...);\r\n      setregid(...);\r\n      setreuid(...);\r\n      fuse_loop(...);\r\n      fuse_teardown(...);\r\n   
\r\n            用于安全性的 Goldilocks 级别 在这里的含义是:严格设置合适的权限和访问,既不太多也不太少。\r\n            比较\r\n            nanoHUB 并不像常见的远程控制系统(如 Fog Creek Copilot、Microsoft® Remote Desktop、WebEx Desktop、或者GoToMyPc)那样共享一台计算机的物理显示器;相反,它是 Citrix(在一个服务器中承载多个虚拟显示器)的再现。使用 nanoHUB无需缴纳许可费用,并且就承载和显示来说,nanoHUB 比 Citrix 具有更强的可移植性。同样,可以将 nanoHUB 客户端嵌入到Web 浏览器中,如前所述,并且可以更加容易地对连接进行更改,以便穿过典型的防火墙。\r\n            nanoHUB 一次又一次地体现出它的总体主题,即类似于一些更常见的技术(例如,常规的 Web 应用程序),但是它在基础设施中进行了重新设计,以达到更高的安全标准、性能或者可伸缩性。\r\n            端口转发\r\n            下面为端口转发提供了一个具有说明性的示例:nanoHUB 使用 Web 服务器中的连接路由器进行端口转发。它侦听端口 563(NNTPS),并等待连接。当 nanoHUB 将 VNC 客户端配置提供给用户浏览器(通过 HTTPS 实现安全性)的时候,nanoHUB将添加几个参数,以便告诉客户端如何与连接路由器进行协商。该路由器被动地将这个连接转发到私有内部网络中合适的 VNC 服务器。\r\n            在其早期历史中,nanoHUB 使用 iptable 进行连接路由。在最好的情况下,与用户空间路由相比,iptable 的效率要高得多,因为用户空间路由涉及到两条 通道中(通过内核从网络到路由器,再返回到其他网络)的数据包。用户空间路由还强制进行至少两次上下文切换。\r\n            与端到端的网络延迟相比,内核开销可以忽略不计。更重要的是,nanoHUB 早期是在这样的主机中使用 iptable,该主机需要动态添加和删除iptable规则,以便在内部网络中从一个特定端口路由到另一个端口。如果特定的主机中断服务,那么它与现有会话的重新同步就会变得异常困难。在对频繁更改的规则集进行遍历的过程中,对表的更新还将导致偶尔出现丢包的情况。\r\n            为端口转发进行用户空间路由则可以消除这些问题。甚至更好的是,连接路由器提供了另一个安全和监视层;具体说来,它可以很容易地准确报告何时对应用程序进行观察,以及对应用程序观察了多长时间。对于了解nanoHUB 如何使最终用户受益并为记帐提供帮助,这是非常重要的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP