NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

GPU 技术大会上采访 Greg Kurtzer

  • 2017-06-25
  • 本文字数:2895 字

    阅读完需:约 9 分钟

NVIDIA 在最近结束的 GPU 技术大会(GPU Technology Conference)上有不少发布,NVIDIA 的 CEO Jensen Huang 在他的主题演讲中谈到了AI 的重生、深度学习,以及下一代GPU 的代号 Volta ,和它将解决的机器学习算法中的一些痛点。

此次大会有一个主题、多场讲座、大量海报以及 GPU 领域新手所喜闻乐见的像深度学习专家一般的上手实验室。大会的话题广泛包括从虚拟现实到最近高性能计算领域所热捧的容器等方面。

InfoQ 就 GPU 技术大会、容器以及高性能计算(HPC)采访了 Gregory M. Kurtzer,他是多个开源项目的负责人和贡献者,参与了包括 Centos, Warewulf Singularity 等项目。

InfoQ:GPU 已经发展了一段时间,容器技术也是如此。在容器中使用 GPU 技术有什么新的动向么?

Gregory M. Kurtzer:容器中使用 GPU 技术并没有什么特别“新”的动向,像“nvidia-docker”等技术已经发展了有一段时间。它已经能很好地为操作本地私有资源的科学家服务,同时它也使用了如 Docker 等技术,使得协作和可移植成为可能,但是这些技术主要受限于一般目的的高性能计算及科学计算资源。

Singularity 带来了一种新的模式。它通过支持更大量的科学用例,并专注于计算的可重现及移动化,使容器可以支持高性能计算的资源。所有这些都是 GPU 原生支持的。

InfoQ:可以看到 Docker 和容器技术正进军各个领域。容器化应用对于高性能计算也是如此么?高性能计算是否更适合归属于一个特定的分类?

Gregory M. Kurtzer:为了准确回答这个问题,我想通过区分 Docker 和容器来澄清一下。Docker 是一个容器解决方案,但是除了 Docker 还有许多其他容器解决方案。

从 Docker 的角度来看,它是企业微服务虚拟化的绝佳解决方案。由于它是专为这种用例而量身设计的,因此这正是它所擅长的。它可以用于某些形式的本地、私有科学计算,研究人员可以通过专用笔记本或工作站来访问并构建工作流,再将其推送到 DockerHub 中。但是,如果这些用户希望将其研究扩展到传统的高性能计算上就可能会陷入僵局。

有一些很有声望的倡导者支持在科学计算领域使用 Docker,特别是高性能计算领域,这引起了很多用户的困惑及问题。非常不幸的是,Docker 架构和工作流与传统的高性能计算基础架构并不兼容,每个高性能计算中心都不得不处理这并不令人满意的结果。

现在,如果您像我一样考虑到的是高性能计算应用程序的紧密耦合、高度可扩展、基于 MPI 的应用,那么使用容器就可能并不那么具有吸引力了,因为用户空间的库堆栈必须进行大量调优并对底层硬件进行专门的优化,这势必是以损失可移植性为代价的。

但是,如果考虑的是科学计算应用(通常称为“科学长尾”)以外其他大部分情况,那么这样的用例就很常见而且容易实现。

还有另一种用例正迅速地获得关注。那就是计算敏捷性,也称为计算的移动性,它让用户可以打包特定的科学工作流,并在各种主机和资源上可重复地运行。

InfoQ:您能简单介绍下 Singularity 的历史么?以及它是如何结合容器和高性能计算的?

Gregory M. Kurtzer:Singularity 是一个专注于科学计算的可重现性、移动性、敏捷性和高性能计算兼容性的容器系统。

相较于其他系统,Singularity 为了实现移动性、可重现性和敏捷性,使用单个文件作为容器镜像。将整个操作系统、环境、应用程序和将给定工作流复制的整个软件堆栈的工作流封装在这个镜像中。这样只需简单地复制单个镜像文件,就可以将容器环境从一个系统复制到另一个系统。如果需要为镜像建立分支,同样只需复制文件,如果需要共享镜像,只要设置该文件的 POSIX 权限或通过电子邮件进行发送就可以了。相反,如果在容器中有受控的数据、库或应用程序,则可以以当前限制访问的方式限制对该容器的访问。容器和其他的数据一样,只是一个文件!此外,使用单个文件可以高度优化并发及并行,特别是在高性能并行文件系统上。由于使用了 Singularity 镜像中特定类型的任务,我们在速度上获得了显著的提升。

现在,Singularity 想通过获得对传统共享高性能计算资源的支持,来区别于其他企业所关注的容器系统。高性能计算系统通常已经同时有可信任和不受信任的用户,他们通过命令行 shell 登录到系统,同样是这些用户,我们不单单只想提供容器的访问,同时还要允许他们使用自己的不受信任的容器。Singularity 允许不受信任的用户以可信任的方式运行不受信任的容器,方法是保持父进程和容器化的子进程之间的连接,这些子进程为容器中用户的 shell 限制了权限。Singularity 还可以确保容器内的用户始终与调用的用户相同。一旦这样做,我们就可以阻止任何用户在容器内增加他们的权限。

这是一个与其他企业不同的使用模式,它还能让主机直接共享资源到容器中,从而模糊了容器与主机之间的界限。同时还允许容器内的应用程序与资源管理器和现有高性能计算资源(文件系统、GPU、高性能互连等)轻松集成。

Singularity 的大量使用率直接反映了我们这些功能的必要性。在这一点上,我们正在寻找志愿者或雇佣相关人员来参与到项目中!

InfoQ:NVIDIA 提供了一个 Docker 插件以及一个利用 GPU 的可选命令行。这和 Singularity 有什么区别?

Gregory M. Kurtzer:Nvidia 的 Docker 解决方案利用了 Docker 的设计假设,即取消设备间的隔离,重新映射驱动、库及必要的数据到运行的 Docker 实例中来实现隔离。在独立系统中,该方式可以让容器与主机的 GPU 进行交互,但这并不能解决 Docker 与传统高性能计算系统不兼容的众多其他问题。

Singularity 是专门为传统的高性能计算用例而设计的,并且支持受控的软件、库和数据(例如导出控制、HIPAA、政府或商业机密)。此外,Singularity 可以轻松地模糊主机和容器之间的界限,并方便地使容器化应用原生地与主机 GPU 进行交互。

InfoQ:可以谈论下在高性能计算领域其他与 Singularity 竞争的容器平台么?当前 Singularity 社区的参与度和路线图是什么?尤其在关于 Docker 生态系统方面,比如 Kubernetes、Docker Swarm 等。

Gregory M. Kurtzer:Singularity 的竞争者不多,还没有其他的容器系统专注于使用单个镜像文件来为非 root 用户的计算提供可重现性和移动性。Singularity 抓住了这个机会。

目前,我们希望让 Kubernetes 和 Mesos 支持 Singularity。但不幸的是,这一切都还在研究层面,这些项目的主要维护者对这并不感兴趣(至少我目前看来是这样的)。所以,我们准备了一些资金,希望聘请相关开发者来进行这个工作。

就我们的路线图而言,Singularity 的独特定位是支持“可信计算”和其他需要高度信任,受控制的工作流的范例。这是我们路线图上的一大努力方向,同时还有对后台守护进程容器化的支持,以及 Singularity 处于领先地位的新概念——数据容器。

InfoQ:您在 GPU 技术大会上最大的感想是什么?您认为将来 GPU 将如何发展?

Gregory M. Kurtzer:不敢相信这次大会获得了如此多的关注!在午餐休息时我都被人群弄得晕头转向了,想象一下,在一个飞机机库大小的会场挤满了人。机器学习发展迅速,它代领 GPU 技术提升到了新水准!很欣喜看到 GPU 技术大会的壮大!

主题演讲和其他录音可以在 NVIDIA 的 on demand GTC 网站查看。

查看英文原文 Q&A with Greg Kurtzer from the GPU Technology Conference

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2017-06-25 19:001167
用户头像

发布了 41 篇内容, 共 12.9 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

软件测试/测试开发/全日制 | 从HTML到React:Python全栈开发中的前端框架应用

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制 | Python全栈开发:利用Docker实现应用容器化

测吧(北京)科技有限公司

测试

程序员真是越来越懒了,Api 文档都懒得写?程序员:Api工具惯的!

不在线第一只蜗牛

软件测试/测试开发/全日制 | 前后端数据交互与Fetch API应用

测吧(北京)科技有限公司

测试

软件测试/测试开发/全日制 | Python全栈开发实战:构建完整的Web应用

测吧(北京)科技有限公司

测试

购买体育赛事直播系统源码,如何避免知识产权侵权和其它法律风险

软件开发-梦幻运营部

6本报告,助你2024招聘「才」源滚滚!

用友BIP

智能招聘

软件测试/测试开发/全日制 | Python全栈开发中的前端工具与构建流程

测吧(北京)科技有限公司

测试

如何将支持标准可观测性协议的中间件快速接入观测

观测云

可观测性 HBase

专业开发者的软件开发神器——低代码

高端章鱼哥

软件开发 低代码

软件测试/测试开发/全日制 | Python全栈开发中的消息队列应用

测吧(北京)科技有限公司

测试

天翼云亮相操作系统大会&openEuler Summit 2023,斩获多项大奖!

天翼云开发者社区

云计算 大数据

K8S学习指南(1)-docker的安装

俞兆鹏

React Native 打包 App 发布 iOS 及加固混淆过程

效果图渲染角度哪什么小技巧?10个效果图渲染技巧

Renderbus瑞云渲染农场

云渲染 渲染农场 瑞云渲染 Renderbus云渲染农场 效果图渲染

软件测试/测试开发/全日制 | 从MySQL到MongoDB:Python全栈开发中的数据库选择

测吧(北京)科技有限公司

测试

一文详解动态 Schema

Zilliz

数据库 Milvus shema

感恩有你|一起见证 OpenTiny 这5个锦鲤时刻

OpenTiny社区

开源 前端 低代码 组件库

物联网与低代码: 连接人与数字世界的无限可能

不在线第一只蜗牛

低代码 物联网

多策略深度智能分货拣货,助力快消品企业提升核心竞争力

用友BIP

中国电信天翼云全国产化大数据平台落地广西!

天翼云开发者社区

云计算 大数据 云平台

加入openEuler训练营,一起探索开源世界的无限可能!

科技热闻

CloudXR在农业领域的用例表现

3DCAT实时渲染

CLOUDXR 云化XR

软件测试/人工智能/全日制 | Python全栈开发:理解HTTPS加密机制与安全传输

测吧(北京)科技有限公司

测试

龙蜥操作系统上玩转铜锁密码库

OpenAnolis小助手

阿里云 操作系统 国密 龙蜥社区 铜锁

数据驱动运营?试试这款开源工具做可视化分析!

ClkLog

征程万里,行则将至|博睿数据2023年度盘点

博睿数据

软件测试/测试开发/全日制 | 实现实时通信:Python全栈开发中的WebSocket实践

测吧(北京)科技有限公司

测试

你的数智化底座物尽其用了吗?

用友BIP

数智底座

软件测试/测试开发/全日制 | 前后端协同工作:Python全栈开发的团队合作实践

测吧(北京)科技有限公司

测试

演讲实录|博睿数据副总裁杨雪松:可观测性建设之路(上)

博睿数据

GPU技术大会上采访Greg Kurtzer_语言 & 开发_Rags Srinivas_InfoQ精选文章