深势科技基于 Serverless 容器为科研人员打造高效的开发平台

news2025/1/18 6:50:56

作者:李样兵、刘杉、木环、玖宇、鼎岳

云端的科学研究,AI for Science 新范式

以往科学家们的科研工作需要经过大量实验的重复验证、复杂数学计算,以及长年累月的不断试错和苦苦探索。云计算基础服务的发展和人工智能技术 AI 的兴起,也给科研领域带来了新转变。

2019 年,事件视界望远镜(EHT)团队公布了首张黑洞照片,这是全球 30 多个科研机构在云端协作的结果;团队成员可在全球调用各类云资源,数据处理周期从原本的数周压缩到数天。

哥伦比亚大学在云上进行气候科学研究,构建复杂的地球系统模型(ESM)模拟来理解模式并进行预测。利用卫星、无人机和传感器监测大陆、海洋和大气的不断增长的环境数据,来预测自然灾害和评估地球的状态。

北卡罗来纳大学教堂山分校和芬兰 Techila 合作将图形重建的时长从一个月缩短到 18 小时,原来本地个人电脑上需要进行一到两周的 MATLAB 40GB 的数学实验,转移到云上 100 个节点进行后只需要两三个小时。

深势科技很早就认准了 AI for Science 赛道, 开创性地提出了「多尺度建模+机器学习+高性能计算」的革命性科学研究新范式,自研的计算平台服务为药物、材料领域带来极具突破性的计算模拟及设计工具。

深势科技科学计算平台——Bohrium® 科研云平台,致力于为科研人员提供开箱即用的计算环境,同时支持基于命令行和图形界面的任务提交方式。通过提供兼具速度与效率的微观模拟工具,Bohrium® 帮助研发人员进行光学、电学、磁学、力学的物理性质计算,并细致研究材料微观结构组分与作用机理。合金、电池、半导体、催化等材料的高通量理性设计正在 Bohrium® 平台中成为现实。

图片

Bohrium® 提供开箱即用的计算环境,同时支持基于命令行和图形界面的任务提交方式。Bohrium® 实现了对多云、多超算计算资源的高效池化,兼具云上的高弹性与超算的高性能等特点。通过对任务的智能调度,平台为用户提供“多、快、省”的计算体验。

深势科技开发平台之难点与技术概览

Borhrium® 科学计算平台自 2018 年在阿里云构建,任务训练部分的技术架构方案基于 ACK Serverless 容器升级改造并平稳运行。随着业界对 AI for Science的认知与使用不断发展,深势科技希望能够对开发调试部分升级迭代,并实现一体化开发-训练流程。

图片

在技术指标上,深势科技希望开发平台可以支持成百上千科研人员同时开启在线实验研究,至少具备以下四方面重要能力:

  • 支持 2000+ 人同时启用,且秒级快速开机关机能力;
  • 如遇到实验机异常,可以继续实验而不需要重新开始;
  • 平台无需大量支持人力投入、实现零技术支持与零运维成本;
  • 同时兼顾业务安全和主机安全。

最初,开发平台容器 AI 技术架构采用的是经典的容器服务 ACK 集群纳管云服务器 ECS 方式,而非 Serverless 容器模式。旧版方案存在两大问题: 一方面,因为科研人员的开发周期较长,在过程中会数次开机关机,为了便于下次打开继续实验,需要通过容器镜像打包的方式保存环境,但是这样的关机时间过长且镜像会不断膨胀变得过大;另一方面,存在低概率的意外宕机情况,除非客户恰好在宕机前手动保存,否则信息、数据全部丢失,亟需能够帮助广大用户做到随时的自动保存。

总结而言,深势科技需求如下:

图片

对应而言,其技术难点挑战是:

  • 大规模资源高并发请求

    开发机支持快速启停和关机(秒级),最高希望支持 2000+ 位科研人员同时在线使用。开发机申请云端 CPU、GPU 资源,需要支持跨可用区、垮地域调度/重启,并且做到用户无感知。

  • 中途退出的环境保存

    用户关机时能够释放实例资源,但需要保留用户容器数据和临时数据,以便于回溯。同时,由于用户误操作导致的容器重启甚至开发机实例被释放,也要保留重启/释放前容器环境和临时数据。支持重新启动开发机,并能继续进行之前中止的实验。

  • 镜像数据膨胀

    解决传统开发机方案的数据增加问题,传统方案关机保存镜像,开机使用关机镜像恢复环境,多次开关机之后,镜像层数大小不断增加,带来额外成本。

  • 业务数据联动与自动管理

    基于 ECI 的开发机不但需要访问阿里云的 NAS 还需要支持第三方的 JuiceFS 存储,并且需要支持两个存储之间自动的数据拷贝。

  • 多租环境的强隔离与稳定性

    开发机和开发机之间要做到强数据、资源隔离;某一台开发机故障,或底层节点宕机,不影响其他开发机。

  • 运维便捷性

    开发机支持不断迭代升级,并支持自动镜像缓存制作。

基于 Serverless 容器打造高效的科研开发平台

经过多次深入沟通,阿里云与深势科技共同敲定了如下的 Serverless容器解决方案:

整体架构设计上,开发机采用了跨地域多 K8s 集群方案,在确保整体的可靠性与容灾性的同时,能更大范围调度不同地域的算力资源;在 K8s 管控侧,选用阿里云容器服务 Serverless版( ACK Serverless ),可以免除很多运维负担,如无需维护节点池、无需预先缓存镜像、无需维护 K8s 组建托管等,底层 ECI 弹性容器实例相比传统云服务 ECS 可以快速启动与关闭,并且遵循 Serverless 按需使用、按需付费的理念;在应用镜像、AI 模型文件等制品管理上,选择阿里云容器镜像仓库企业版(ACR EE)一站式解决方案,可实现全球同步加速、大规模/大镜像分发加速,且与容器服务 ACK 无缝集成。

更值得一提的是,阿里云独家提供的 ACK Fluid 方案可以无缝接入第三方存储挂载,并提供多用户数据安全共享隔离功能。 同时,ACK Fluid 还实现了数据管理的自动化,进一步提升了系统的效率和易用性。

图片

科研开发平台的 Serverless 容器方案架构图

对于重启/释放后异常点可恢复的诉求,即仍保留容器环境和临时数据以便于查看或者再继续实验,可以参考如下的 CRD 生命周期设计。在开发机的生命周期中,开机、关机和重启均可以做到 20s 内,同时,通过 ACK Fluid 支持数据挂载到 ECI 的时长缩短到 5s 以内(包括阿里云 NAS 和第三方存储)。

图片

经过两方的配合和沟通,最终基于 Serverless 容器的 AI 开发平台方案实现了如下效果:

  • 大规模 POD 弹性能力,同时开启 2000+ 台开发机
  • 资源利用率提升 30%,按需付费,提供丰富可用的资源
  • 异常后,恢复宕机时间点数据
  • 基于 ECI 实现秒级随用随开,支持环境保存
  • 相较传统的 K8s 形态,ACK Serverless 无需维护服务器与镜像缓存
  • 通过 ACK Fluid 无缝数据接入第三方存储方案,同时支持多用户数据安全共享隔离,以及定时不同存储系统间的数据同步

未来,怀梦前行

目前开发机的 Serverless 容器方案已经基本满足预期,后续运营期还需要持续关注和提高整体项目的健壮性:优化整体项目的上下游瓶颈依赖(比如 API 调用频率和流控),构建完善的异常情况兜底方案。

深势科技技术架构师李样兵说道: “感谢阿里云团队的专业的技术实力和敬业精神:针对业务痛点,共克技术难关,探索前沿技术方案,结合 Serverless 容器架构, 打造了行业领先的科研开发平台。”

此外,进一步探讨尝试云原生架构下的多地/多类型资源统一管理与效率优化,实现基于 K8s 的统一管理、调度多种集群资源,并给予 Fluid Dataset 实现统一接入云原生存储、加速和管理异构/异地的数据方案。

如今,Bohrium® 科研云平台运行平稳,已经为很多科研人员提供了良好支撑:

武汉大学与南方科技大学的研究团队,在液态金属领域取得重要进展,为新型材料高熵合金的原子级可规模化、可定制化的精准制造打下基础。

中国科学院地球化学研究所理论团队与合作者基于 Bohrium® 探索地球内核各向异性新机理,为内核复杂的各向异性和不均一结构成因提供了全新解释。

北京大学数学科学学院和材料科学与工程学院、北京科学智能研究院、深势科技联合宁德时代 21C 创新实验室采用深度势能方法研究硅基负极在脱嵌锂过程的相变和结构演化,并取得重要进展。

深势科技继续为 “AI for Science” 革命性科学研究新范式而不懈努力,运用人工智能和多尺度的模拟仿真算法,结合先进计算手段求解重要科学问题,为人类文明最基础的生物医药、能源、材料和信息科学与工程研究打造新一代微尺度工业设计和仿真平台。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1096026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动驾驶学习笔记(五)——绕行距离调试

#Apollo开发者# 学习课程的传送门如下,当您也准备学习自动驾驶时,可以和我一同前往: 《自动驾驶新人之旅》免费课程—> 传送门 《2023星火培训【感知专项营】》免费课程—>传送门 文章目录 前言 调试内容 打开在线编辑器 打开pl…

【Docker 内核详解】namespace 资源隔离(五):User namespaces

【Docker 内核详解 - namespace 资源隔离】系列包含: namespace 资源隔离(一):进行 namespace API 操作的 4 种方式namespace 资源隔离(二):UTS namespace & IPC namespacenamespace 资源隔…

narak靶机

信息搜集 主机发现 端口扫描 靶机开放了22/ssh , 80/http端口服务 UDP协议扫描端口 没有啥发现 综合扫描 web渗透 web页面 登陆80web页面,进行信息收集,在源代码和页面中似乎都没发现什么信息 web目录扫描 其中webdav很有意思,我们看看…

AutoSar CP学习概要

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

每个后端都应该了解的OpenResty入门以及网关安全实战

简介 在官网上对 OpenResty 是这样介绍的(http://openresty.org): “OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩…

CV计算机视觉每日开源代码Paper with code速览-2023.10.13

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【基础网络架构】CHIP: Contrastive Hierarchical Image …

计算机系统概述(机组第一章)

补充: 1.1.1 计算机软硬件概念&&计算机系统的层次结构 思维导图 除了思维导图中的三个层级以外还包括两个层级 在实际机器下还可以延伸一级微程序机器,即将实际机器执行的指令翻译成一组微指令构成一个微程序。为程序机器执行完一个微程序在进…

Android MediaCodec 框架 基于codec2

系列文章的目的是什么? 粗略: 解码需要哪些基础的服务?标准解码的调用流程?各个流程的作用是什么?解码框架的层次?各个层次的作用? 细化: 解码参数的配置?解码输入数…

【iOS】——用单例类封装网络请求

文章目录 一、JSONModel1.JSONModel的简单介绍2.JSONModel的使用 二、单例类和Block传值 一、JSONModel 1.JSONModel的简单介绍 JSONModel一个第三方库,这个库用来将网络请求到的JSON格式的数据转化成Foundation框架下的Model类的属性,这样我们就可以直…

冠军方案!2023第二届广州·琶洲算法大赛

Datawhale干货 作者:唐楚柳,算法工程师,冠军选手 1.简介 大家好我是‍Alex‍,31岁,现为一名图像算法工程师,主要研究方向是计算机视觉图像识别。工作之余的研究兴趣包括ocr,aigc,ll…

[自学记录06|*Animation]四元数、死锁与方位插值

一、前言 还记得在很久以前不知道什么时候,看到过一个TA的面经,里面提到了四元数和万向锁,当时自己也查了一些资料,但是看的也是云里雾里,恰巧这两天学校的动画原理课讲到了这,打算整理一下做个小结。 二、…

【Linux学习笔记】 - 项目自动化工具make/Makefile的使用

一、背景知识 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中。makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需…

芯片学习记录SN74AHC1G14DBV

SN74AHC1G14DBV 芯片介绍 SN74AHC1G14器件是单个逆变器门。该器件执行布尔函数Y /A.The器件作为独立的逆变器门发挥作用,但由于施密特作用,门可能对正(VT)和负(VT−)信号具有不同的输入阈值电平。 引脚信…

07测试Maven中依赖的范围,依赖的传递原则,依赖排除的配置

依赖的特性 scope标签在dependencies/dependency标签内,可选值有compile(默认值),test,provided,system,runtime,import compile:在项目实际运行时真正要用到的jar包都是以compile的范围进行依赖 ,比如第三方框架SSM所需的jar包test:测试过程中使用的j…

大数据基础技能入门指南

本文介绍了数据工作中数据基础和复杂数据查询两个基础技能。 背景 当下,不管是业务升级迭代项目,还是体验优化项目,对于数据的需求都越来越大。数据需求主要集中在以下几个方面: 项目数据看板搭建:特别是一些AB实验的看…

【算法练习Day20】修剪二叉搜索树将有序数组转换为二叉搜索树把二叉搜索树转换为累加树

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 修剪二叉搜索树将有序数组转…

Grade 5 Math

数形结合 5 2 3 https://download.csdn.net/download/spencer_tseng/88431286

深入理解 Java 中的 synchronized 关键字

引入多线程的重要性和挑战 可以参考另一篇文章 https://blog.csdn.net/qq_41956309/article/details/133717408 JMM(Java Memory Model,Java 内存模型) 什么是JMM JMM(Java Memory Model,Java 内存模型&#xff09…

怎么在抖音上引流?分享五个抖音引流推广必备的几个方法

大家好,我是 小刘今天为大家分享的是抖音引流知识分享,今天咱们聊一些干货知识,绝对会让你们有一个重新的认知。抖音的流量大,是毋庸置疑的,抖音也是最早一批短视频平台。抖音于2017年上线,一开始主要是通过…

Golang学习记录:基础知识篇(一)

Golang学习:基础知识篇(一) 前言什么是Golang?Go语言的基础语法语言结构基础语法数据类型基础使用 前言 很久之前就想学Go语言了,但是一直有其他东西要学,因为我学的是Java嘛,所以后面学的东西…