写点什么

Meson,用于协调和调度 Netflix 推荐工作流的架构

  • 2016-07-11
  • 本文字数:1273 字

    阅读完需:约 4 分钟

Netflix 力图在人们未观看视频之前就预测他们想看的。为此 Netflix 每日运行多个机器学习(ML) 工作流,这些流水线用于构建、训练并验证有助于视频推荐的个性化推荐算法。Meson 是一个工作流的协调和调度架构,它管理这些所有机器学习流水线的生命周期。

近期 Netflix 开发团队公开了Meson 架构,并描述了它是如何作用于机器学习流水线的。Meson 的目标之一是当允许工程师用自选的技术构造流水线的每一步时,增进整体算法实验的速度、可行性和可重复性。

部分在Netflix 的机器学习流水线中发挥了重要作用的技术包括: Spark MLlib Python R Docker

一个典型的用于驱动视频推荐的机器学习流水线包括如下步骤:

  • 用户选取;
  • 特征生成;
  • 模型训练;
  • 模型验证;
  • 模型发布。

在 Netflix,用户选取步骤通过 Hive 查询实现了对用于分析的用户队列的选择。数据清洗和准备功能由 Python 脚本实现,该脚本创建了两套用户,用于并行的两条执行路线。其中的一条执行路线实现对全局模型的构建和分析,其中使用了 Apache Spark 作为运算架构,以及 HDFS 作为临时存储。另一条执行路线使用 R 语言构建地区(国家)特定的模型,其中地区的数量依据为分析所选取的队列而动态变化。

模型验证步骤用 Scala 代码实现,。该步骤用于测试当两条执行路径汇聚时模型的稳定性。整个过程重复直至模型达到稳定。最终,新模型使用 Docker 容器技术发布,这样的发布可由其它系统进行调用。

为满足机器学习工作流中的资源需求,Netflix 团队在 Meson 中使用了诸如 Apache Mesos 这样的资源管理工具。Mesos 提供了对 CPU、内存、存储及其它计算资源的任务隔离和抽象,并使用这些特性实现了 Mesos 任务的扩展和容错。

Meson 中还包括调度器和执行器组件。

Meson 调度器: 该组件管理各个工作流的启动、流控制和运行时间。Meson 将内存和 CPU 需求发送给 Mesos,实现对 Mesos 实际的资源调度的代理。一旦某个执行步骤已就绪可被调度,Meson 调度器选取由 Mesos 提供的适用资源,并将任务发送给 Mesos 主节点。

Meson 执行器: 它是对 Mesos 执行器的定制,允许开发团队去维护与 Meson 的通信通道。这样架构消息可被发送到 Meson 调度器,对于长时间运行的任务是十分有用的。Meson 执行器也允许用户数据的传递。

Mesos 在调度 Meson 任务时,它在下载了该任务所有的依赖后,在客户节点上启动一个 Meson 执行器。当核心任务被执行时,执行器还关注诸如心跳信息发送、任务完成比例、状态消息等其它任务的情况。

Meson 还提供了基于 Scala 的 DSL,这允许创建用户定制的工作流。Meson 中还具有对原生 Spark 的支持,这允许在 Meson 中去监控 Spark 任务的进程进度。Meson 还具备功能去重做失败的 Spark 过程,或杀掉执行异常的 Spark 任务。

Netflix 团队计划在未来几个月内开源 Meson,并构建 Meson 相关的社区。

查看英文原文: Meson Workflow Orchestration and Scheduling Framework for Netflix Recommendations


感谢张龙对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-07-11 19:001870
用户头像

发布了 227 篇内容, 共 73.9 次阅读, 收获喜欢 28 次。

关注

评论

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

抓到Dubbo异步调用的小BUG,再送你一个贡献开源代码的机会

捉虫大师

开源 dubbo 问题排查 7月月更

Python|字符串操作

AXYZdong

7月月更

科普达人丨一文看懂阿里云的秘密武器“神龙架构”

阿里云弹性计算

云计算 虚拟化 资源管理 神龙架构

基于STM32+华为云IOT设计的酒驾监控系统

DS小龙哥

7月月更

实战:fabric 用户证书吊销操作流程

BSN研习社

fabric

一个数据人对领域模型理解与深入

松子(李博源)

大数据 领域模型 模型设计

程序员转方向

沃德

程序员 7月月更

分布式BASE理论

源字节1号

软件开发 后端开发

浅识k8s中的准入控制器

火线安全

云安全 云安全技术 云安全攻防 云安全研究

都在说DevOps,你真正了解它吗?

龙智—DevSecOps解决方案

DevOps 运维 开发

华为云数据库DDS产品深度赋能

程思扬

数据库 华为云 DDS

结合案例:Flink框架中的最底层API(ProcessFunction)用法

百思不得小赵

大数据 flink 7月月更

SpringSecurity会话管理

急需上岸的小谢

7月月更

回顾V神 Rollups 神作,详解以太坊为何需要二层扩展方案

TinTinLand

区块链 科技

2022年中国移动阅读市场年度综合分析

易观分析

移动阅读

产品好不好,谁说了算?Sonar提出分析的性能指标,帮助您轻松判断产品性能及表现

龙智—DevSecOps解决方案

Lombok使用引发的血案

技术小生

7月月更

深入JS中几种数据类型的解构赋值细节

猪痞恶霸

前端 js ES6 7月月更

程序员的焦虑

沃德

程序员 7月月更

【Docker 那些事儿】容器为什么傲娇?全靠镜像撑腰

Albert Edison

7月月更

小程序直播 + 电商,想做新零售电商就用它吧!

CRMEB

洞见科技解决方案总监薛婧:联邦学习助力数据要素安全流通

洞见科技

数据安全 隐私计算 数据隐私计算

室外LED屏幕防水吗?

Dylan

LED显示屏 室外显示屏

实时云交互如何助力教育行业发展

3DCAT实时渲染

实时云渲染 云交互

Helix Swarm中文包发布,Perforce进一步提升中国用户体验

龙智—DevSecOps解决方案

perforce Helix Core Helix Swarm

易周金融 | Q1保险行业活跃人数8688.67万人 19家支付机构牌照被注销

易观分析

金融 银行

Node の MongoDB安装

空城机

mongodb Node 7月月更

教你学c++算法题中最头疼的动态规划

KEY.L

7月月更

对话龙智高级咨询顾问、Atlassian认证专家叶燕秀:Atlassian产品进入后Server时代,中国用户应当何去何从?

龙智—DevSecOps解决方案

Server Atlassian Jira DC版

【一库】vueuse:我不许身为vuer,你的工具集只有lodash!

摸鱼的春哥

Vue 前端 Vue3 7月月更

31年前的Beyond演唱会,是如何超清修复的?

字节跳动视频云技术团队

Meson,用于协调和调度Netflix推荐工作流的架构_Python_Srini Penchikala_InfoQ精选文章