H3C AIOS人工智能平台
先进的前后台分离架构在以前传统的网站开发中,前端一般扮演的只是切图的工作,只是简单地将UI设计师提供的原型图实现成静态的HTML页面,而具体的页面交互逻辑,比如与后台的数据交互工作等,可能都是由后台的开发人员来实现的,或者是前端是紧紧的耦合后台。导致后台的开发压力大大增加,前后端工作分配不均。不仅仅开发效率慢,而且代码难以维护。
AIOS采用先进的前后端分离架构,很好的解决前后端分工不均,开发过程相互依赖,bug难以定位等诸多问题。将更多的用户交互逻辑由前端专职处理,而后端则可以专注于数据处理,业务权限控制等,前后端通过标准的restful接口实现数据交互。
后端专注于:服务层&数据访问层&权限控制;
前端专注于:页面展现(视图层)&交互逻辑;
卓越的微服务架构AIOS采用kubernetes+docker+rabbitmq的微服务架构模式,利用kubernetes实现高可用的集群环境,以及统一的资源调度,配合docker容器技术实现多租户资源隔离,由rabbitmq实现分布式消息处理。为平台展现层提供强大的内核支撑,平台采用的微服务架构模式有以下特点:
·服务高度自治,集中管理;
·复杂业务得到拆分,易于维护;
·高度灵活易于拓展;
灵活的多层级资源分配机制平台使用NFS(NetworkFileSystem)实现统一的网络文件存储系统,极大简化了平台部署的复杂性,提高了公共文件资源的利用率。再结合linux多用户多任务的系统特性,实现文件存储资源的多租户资源隔离。
平台为了解决不同用户群体在资源使用上的多样性和特殊性,首先在集群的节点管理上提供分区管理功能,即将集群中的所有服务器节划分为若干个区域;其次针对不同的用户组织,由管理员进行服务器资源的统一分配,管理员可以根据实际的业务需求,针对不同的用户群体进行灵活配置。
此外,为了有效提高计算资源使用的利用率,以及保障用户使用资源的公平性,平台针对计算资源以及各类业务运行时实例,提供了多层级资源分配限额机制。
多租户存储资源隔离平台基于GlusterFS(GlusterFileSystem)实现统一的分布式网络文件存储系统,为用户提供多租户隔离的文件存储服务,并利用GlusterFS的分布式特性,有效保障用户数据的安全性。
平台基于DockerRegistry为用户提供多租户镜像仓库服务,即向用户提供平台常规业务所需要的各种内置运行时镜像,又向用户提供私有的镜像仓库服务,用户可以上传自己的镜像,并在实际的开发、训练以及推理中使用自己的镜像。
平台利用Kubernetes强大的作业编排能力,为用户提供统一的计算资源调度,所有计算资源集群内共享,在用户需要时,平台根据用户的资源需求动态创建运行时环境,运行结束即收回。这样即保障了用户资源的合理使用,又大大提高了集群资源的利用率。此外,利用了容器的隔离特性,有效保障用户数据的安全。
强大的作业调度机制AIOS平台的核心是模型训练,对CPU、内存、GPU等资源的合理使用要求非常高,通常这些计算设备造价不菲,计算资源的最大化合理使用是体现一个计算平台最重要的指标。平台采用的kubernetes先天支持多种策略的作业调度,可以有效保证各类训练任务的及时有效执行。再结合平台提供的用户资源申请分配机制,以及资源使用率告警机制,可以灵活有效的管理多租户场景下,集群计算资源的统一合理调度。
完善的资源监控体系Heapster是容器集群监控和性能分析工具,可以定时采集集群环境中所有节点的CPU、内存、网络以及磁盘情况,平台通过Heapster实现上述资源的统一采集及管理;而平台自主研发的cMonitor则可以对GPU资源进行定时的采集及管理;结合平台提供的计算资源告警机制,最终可以在平台展现层实时监控集群环境下的所有资源,并及时向管理员发送告警信息,有效管理集群硬件资源,提高资源利用率。
AIStack人工智能管理平台
AlStack人工智能管理平台是基于容器集群技术的人工智能模型管理平台,为用户提供机器学习的管理能力。平台支持多种模型训练框架,可基于算法、已有模型进行模型的训练、跟踪以及最终完成模型输出并使用模型进行预测。快速实现人工智能科研开发场景的基础环境搭建,让用户专注于人工智能算法模型开发和研究。整个过程中的资源调度以及管理,由平台自行管理。
平台覆盖了人工智能在开发及生产中的各种应用环境,在进一步降低AI开发门槛的同时,亦让用户挖掘AI需求和应用集成时更为简单高效,大大降低用户在AIAIStack主要包括模型训练、模型管理、模型托管、配置管理、算法管理等模块,覆盖了人工智能在开发及生产中的各种应用环境,进一步降低AI开发门槛,让用户挖掘AI需求和应用集成时更为简单高效,大大降低用户在AI应用建设领域的复杂度和成本。