Wang's blog Wang's blog
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Wang Mings

跟随大神,成为大神!
首页
  • 前端文章

    • HTML教程
    • CSS
    • JavaScript
  • 前端框架

    • Vue
    • React
    • VuePress
    • Electron
  • 后端技术

    • Npm
    • Node
    • TypeScript
  • 编程规范

    • 规范
  • 我的笔记
  • Git
  • GitHub
  • VSCode
  • Mac工具
  • 数据库
  • Google
  • 服务器
  • Python爬虫
  • 前端教程
更多
收藏
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Python爬虫

  • 前端教程

    • 团队规范

    • Project

      • Axios用法与原理
      • css布局技巧
      • 深度学习平台术语
        • [#](#_1-rpc) 1. RPC
        • [#](#_2-grpc) 2. gRPC
        • [#](#_3-微服务) 3. 微服务
        • [#](#_4-服务治理) 4. 服务治理
        • [#](#_5-istio) 5. Istio
        • [#](#_5-gpu) 5. GPU
          • [#](#gup与cpu) GUP与CPU
      • 谈谈前端天花板问题
      • 一个程序员的成长之路
      • Markdown-It 解析原理
      • minipack源码解析
      • PostCSS
      • Electron工程踩坑记录
      • H5 Video踩坑记录
      • Puppeteer翻页爬虫
      • 重构你的javascript代码
      • RxJS入门实践
      • 官网脚手架思考与实践
      • Stylelint样式规范工具
      • TypeScript开发Vue应用
      • Typescript tsconfig.json全解析
      • Vue项目TypeScript指南
      • TypeScript在Vue2.x中的坑
      • Vue Dialog弹窗解决方案
      • Vue JSX插件依赖及语法实践
      • Webpack 模块打包原理
      • Webpack4 配置详解
      • Webpack4 devServer配置详解
      • Webpack3.x升级Webpack4指南
    • JS

    • NodeJS

    • Vue

    • React

    • 效率工具

    • 读书笔记

  • 教程
  • 前端教程
  • Project
wangmings
2022-07-19
目录

深度学习平台术语

# # 深度学习平台术语

以下是开源深度学习平台kubeflow需要了解的相关术语。掌握它们,会更加理解搭建一个深度学习平台所需要的概念或框架。

# # 1. RPC

提供远程调用对方的函数的框架。

远程过程调用带来的新问题:

  1. Call ID映射。
  2. 序列化和反序列化。
  3. 网络传输

https://www.zhihu.com/question/25536695

# # 2. gRPC

google出的RPC框架,基于http2。可对外提供grpc服务。

# # 3. 微服务

微服务有两个核心:

  • 微:服务的粒度要细,即服务要细化到API
  • 服务:提供好服务,要让用户感到好用(要做到这一点很不容易)

微服务特别简单(好的架构就应该简单),我们把服务再拆分成一个个API,API是一个完整的功能。然后我们把API扔到一个“云上”,然后用户就可以到“云上”获取所有API的服务,这个“云”保证能提供好的服务。

微服务的关键是服务网关,所以,上面提到的“云”就是服务网关。服务网关之下,就是内部系统之间的服务治理,这就是另外一个话题了。

实现方案:

https://blog.csdn.net/suifeng3051/article/details/53992560

Docker 和Kubernetes 技术的流行, 为Pass资源的分配管理和服务的部署提供了新的解决方案, 但是微服务领域的其他服务治理问题仍然存在.

# # 4. 服务治理

服务化(常利用RPC框架实现)。但服务化还有挑战:

  • 服务越来越多,配置管理复杂
  • 服务间依赖关系复杂
  • 服务之间的负载均衡
  • 服务的拓展
  • 服务监控
  • 服务降级
  • 服务鉴权
  • 服务上线与下线

所以服务治理是关键(dubbo就是一个带有服务治理功能的RPC框架)。服务治理理应具有:

  • 服务注册, 服务发现
  • 服务伸缩
  • 健康检查
  • 快速部署
  • 服务容错: 断路器, 限流, 隔离舱, 熔断保护, 服务降级等等
  • 认证和授权
  • 灰度发布方案
  • 服务调用可观测性, 指标收集
  • 配置管理

简单理解,大量的内部服务之间需要一个机制,去互相发现、流量管控等业务之外的问题,这个机制就是服务治理。Istio就是服务治理的框架实践(Service Mesh概念属于服务治理概念内,都在Istio中有实现)。

# # 5. Istio

简单理解,k8s负责把服务部署起来,Istio负责服务之间的管理(包括访问、限流、安全等)

# # 5. GPU

GPU是显卡的处理器,称为图形处理器(Graphics Processing Unit,即GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,它是显卡的“心脏”,与CPU类似,只不过GPU是专为执行复杂的数学和几何计算而设计的,这些计算是图形渲染所必需的。

CPU是“主(host)”而GPU是“从(device)”,GPU无论发展得多快,都只能是替CPU分担工作,而不是取代CPU。GPU是显卡上的一块芯片,就像CPU是主板上的一块芯片。

# # GUP与CPU

CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU负责逻辑性强的事物处理和串行计算,GPU则专注于执行高度线程化的并行处理任务(大规模计算任务)。

CPU需要很强的通用性来处理各种不同的数据类型,同时逻辑判断又会引入大量的分支跳转和中断的处理,这些都使得CPU的内部结构异常复杂。

GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。

CPU擅长逻辑控制,串行的运算。和通用类型数据运算不同,GPU擅长的是大规模并发计算,这也正是密码破解等所需要的。所以GPU除了图像处理,也越来越多的参与到计算当中来。

总而言之,CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别。而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了。GPU的工作大部分就是这样,计算量大,但没什么技术含量,而且要重复很多很多次。GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂,但是量特别大的任务,还是顶不住人多。当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。

编辑 (opens new window)
css布局技巧
谈谈前端天花板问题

← css布局技巧 谈谈前端天花板问题→

最近更新
01
theme-vdoing-blog博客静态编译问题
09-16
02
搜索引擎
07-19
03
友情链接
07-19
更多文章>
Theme by Vdoing | Copyright © 2019-2022 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式