NASA 通过开源软件实现火星探测车的数据目标

尚无读者喜欢这篇文章。
open source button on keyboard

Opensource.com

自从 NASA 的“好奇号”火星探测车于 2012 年 8 月 6 日(世界标准时间)在火星着陆(太平洋时间 8 月 5 日晚上)以来,我一直在关注源源不断传回的令人难以置信的大量图像。 我对这些图像的广度和美丽感到震惊。  

在我看来,“好奇号”传回海量数据的技术挑战尚未得到充分认识。 从NASA 的报告中,我们了解到“好奇号”最初传回的是“低分辨率”数据(1,200 x 1,200 像素),直到它经历了软件“大脑移植”,现在提供更加详细和可修改的数据。  

这是如何高效完成并有效分发的呢?

最近的一篇文章强调了“好奇号”探索的“随时随地”可用性,它可以处理“每秒数百千兆比特的流量,供数十万并发查看者使用”。 事实上,正如云提供商 Amazon Web Services (AWS) 的博客文章 指出:“最终架构由 NASA/JPL 和 Amazon Web Services 共同开发和审查,让 NASA 确信部署模型可以经济高效地扩展、执行,并提供令人难以置信的登陆另一个星球的体验。 为了实现将数据发布给公众的坚定目标,NASA/JPL 准备为每秒数百千兆比特的流量提供服务,供数十万并发查看者使用。”

这无疑证明了云在实时、可靠可用性方面发挥着越来越重要的作用。

但是,深入了解这个故事的内幕——以及包含的图表——你就会看到另一个故事。 一个指出开源软件在使这项非凡的任务成功运行并将结果如此快速地提供给如此多的人的关键作用的故事。

这是我提到的图表

Curiosity Diagram

 

如果你查看技术堆栈,你会看到在每个层面上,开源都是实现 NASA 任务目标的关键。 让我们逐一 살펴一下

Nginx

Nginx发音为 engine-x)是一个免费、开源、高性能的 HTTP 服务器和反向代理,以及 IMAP/POP3 代理服务器。 作为一个项目,它已经存在大约十年了。 根据其网站,Nginx 现在托管了所有域名中 近 12.18% (2220 万) 的活跃站点。 Nginx 通常被认为是快速交付内容的首要 Web 服务器,因为它“具有高性能、稳定性、丰富的功能集、简单的配置和低资源消耗”。 与传统服务器不同,Nginx 不依赖线程来处理请求。 相反,它使用更具可扩展性的事件驱动(异步)架构。 这种架构在负载下使用少量但更重要的是可预测的内存量。

根据 Nginx 网站,由 Nginx 提供支持的知名高可见性站点包括:NetflixHuluPinterestCloudFlareAirbnbWordPress.comGitHubSoundCloudZyngaEventbriteZapposMedia TempleHerokuRightScaleEngine YardNetDNA。 

基于 Railo 的 CMS

Railo 是一个开源开发者框架,它实现了通用的 CFML 服务器端 脚本语言,该语言由 ColdFusion 首创。 如果你熟悉 Zend (PHP)、Django (Python) 或 Ruby on Rails,那么 Railo 就是它们的等价物,只是使用了 CFML。 它最近已被 Jboss.org 接受为一部分,并在 Java 虚拟机 (JVM) 上运行。 它通常用于创建动态网站Web 应用程序内联网 系统。(在此感谢社区指出,我们在撰写这篇文章时所依赖的图表在使用术语“Railo CMS”时有点令人困惑。 这似乎是一种简写,因为 NASA 已经利用基于 Railo 的 CMS 来满足其内容服务需求。)

GlusterFS

也许是这种高需求配置中最重要的部分,GlusterFS 是一个开源的分布式文件系统,能够扩展到数 PB 级(实际上是 72 泽字节!),并处理数千个客户端。 GlusterFS 通过 InfiniBand RDMA 或 TCP/IP 互连将存储构建块集群在一起,聚合磁盘和内存资源,并在单个全局命名空间中管理数据。 GlusterFS 基于可堆叠的用户空间设计,可以为不同的工作负载提供卓越的性能。 它尤其擅长跨多个平台复制大数据,允许用户通过自己的分析工具分析数据。 这项技术用于支持个性化电台服务 Pandora 和云内容服务公司 Brightcove,以及 NTTPC 的云存储业务。(2011 年,Red Hat 收购了开源软件公司 Gluster,该公司支持 GlusterFS 上游社区;该产品现在被称为 Red Hat Storage Server。)

我怀疑,和我自己一样,这次独特探索带来的视觉图像瀑布般涌来,再次激发了又一代人对我们星球之外的生命奥秘和巨大挑战的兴趣。 这与 43 年前这个夏天(至少对于那些有幸记得它的人来说!)首次登月时颗粒状的电视传输相比,真是天壤之别! 即使在 20 年前,可以分析的数据的延迟、质量低下和带宽狭窄,也与现在和未来几年从这项任务中交付的数据形成了鲜明对比。

总而言之,云计算和开源的结合使“好奇号”任务能够实时提供这些结果,而不是延迟数月; 质量高,而不是“足够好”的质量。 考虑到部署时间短和不断变化的需求,传统的专有方法不可能如此成功,因为这些需求需要最终的敏捷性和灵活性。 NASA/JPL 值得称赞。 尽管涉及到一个云产品,但正如本文开头引用的故事所指出的那样,“它实际上可以使用任何数量的其他解决方案来推出。”

随着政策制定者和技术战略家继续关注“大数据”,好奇号的任务将提供一些重要的教训。 一个关键的收获是:开源是这项任务取得成功的关键,并使其成果在如此短的时间内尽可能广泛地传播。

非常感谢 Red Hat 的 Gluster 社区负责人 John Mark Walker 在准备这篇文章时提供的帮助和见解。

User profile image.
Mark Bohannon | Mark Bohannon 是 Red Hat 全球公共政策和政府事务副总裁。 此前,他曾在软件与信息产业协会 (SIIA) 担任高级副总裁、公共政策和总法律顾问,SIIA 是美国主要的软件和数字内容行业贸易协会。

10 条评论

仅作说明。 Railo -不是- CMS 系统。 它是一个应用服务器,旨在作为 Adobe Coldfusion 应用服务器的开源替代品。 你可以用它构建一个不错的 CMS 系统,但你几乎可以用 CFML 构建任何东西。

值得注意的是,Railo 不是 CMS。 它是 CFML 服务器端脚本引擎的通用实现。 有几个用 CFML(ColdFusion 标记语言)编写的 CMS 应用程序可以在 Railo 引擎上运行。

抱歉 - 刚看到 JayB 已经发布了!

实际上,“好奇号”于 2012 年 8 月 6 日着陆...
http://en.wikipedia.org/wiki/Mars_Science_Laboratory

感谢提醒! 澄清了 Railo ... 并修正了日期。

“这与 43 年前这个夏天首次登月时颗粒状的电视传输相比,真是天壤之别”

我相信这些照片是从月球以高清形式传输并记录在磁带上的。 由于公共电视无法直接播放这些图像,NASA 使用普通的电视摄像机对准他们的高分辨率显示器之一,以生成向公众播放的图像。 可悲的是,原始的高分辨率磁带已经丢失。

为什么没有提到 MySQL?

感谢你的慧眼! 是的,MySQL 似乎确实包含在图中。 但不清楚它是在内部实现还是外部实现。 尽管如此,这是一个很好的观点,感谢你提出来。

戈达德太空飞行中心首席信息官 Adrian Gardner 最近在世界一流 IT 论坛播客系列节目中亮相,并谈到了开源对于促进创新的重要性等主题。 播客可以在 http://www.metisstrategy.com/interview/adrian-gardner/ 上收听。 认为这可能与关注此话题的人们相关且感兴趣。

哇,它也使用了 MySQL,非常好,遗憾的是没有关于它的讨论。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 3.0 Unported License 许可。
© . All rights reserved.