写点什么

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:001882
用户头像

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

关注

评论

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

美团二面特点:喜欢写一个 SQL 语句,然后问你加了哪些锁!

Java你猿哥

Java 数据库 sql ssm InnoDB存储引擎

建木缓存—提升构建速度,让你不加班!

Jianmu

maven 缓存 持续集成 CI/CD 流水线

中小企业运维安全审计用什么软件好?有推荐吗?

行云管家

信息安全 堡垒机 运维审计

阿里巴巴灵魂一问:说说触发HashMap死循环根因

Java你猿哥

Java jdk 后端 ssm

给跪了!阿里P7技术专家进阶必备,架构进阶宝典

做梦都在改BUG

Java 进阶 架构师

线上sql执行慢,分享3个优化案例

采菊东篱下

MySQL

轻松搞定面试拿offer的Java面试宝典(全彩图文版)24个Java技术栈

Java你猿哥

Java 面试 ssm 面经 java技术栈

TechBits | TCP 使用 WireShark 进行抓包

Java你猿哥

Java 后端 ssm

如何基于 Apache Doris 与 Apache Flink 快速构建极速易用的实时数仓

SelectDB

flink 数据湖 实时数仓 Doris 数据库、

见技术大佬,领惊喜好礼!快来领取数据库峰会邀请函!

InfoQ写作社区官方

数据库 云原生 阿里 热门活动 阿里云瑶池数据库峰会

【IT小知识】扩容是什么意思?扩容的近义词有哪些?

行云管家

扩容 IT运维

爱了!阿里P8纯手码出489页SQL优化手册,附笔记源码

做梦都在改BUG

Java 数据库 sql 面试

想稳中求进?字节大佬的硬核学习神器《图解Java并发编程》看了吗

Java你猿哥

Java 面试 Java并发 ssm 面经

EMQ&南洋万邦云边一体化方案:激活数据潜力,打造智慧工业园区

EMQ映云科技

物联网 IoT 工业互联网 智能制造 企业号 3 月 PK 榜

StyleGAN 生成 AI 虚拟人脸,再也不怕侵犯肖像权

极客飞兔

人工智能 AI 图像处理 StyleGAN 人脸生成

2023金三银四最新Java面试题大全(整理版)1000+面试题附答案详解

架构师之道

程序员 java面试

硬核!腾讯大佬最新手打的Spring Boot笔记,从原理到实战再到源码

Java你猿哥

Java Spring Boot 后端 面经

3月27日“文心一言云服务”系列产品将发布 已有21家企业签约

Geek_2d6073

分析 | NFTScan NFT API 在加密钱包开发中的应用

NFT Research

API NFT

建木v2.7.0发布

Jianmu

node.js maven 缓存 CI/CD 流水线

瓴羊Quick BI作为自定义数据门户,在企业的有效管理中发挥巨大作用

流量猫猫头

GPT-4:不open的OpenAI,终于不再编造事实

鼎道智联

openai ChatGPT4

终于扒完国内算法第一人10年经验总结的数据结构与算法详解文档

程序知音

Java 算法 编程语言 数据结构与算法 后端技术

Apache Doris 1.2.3 Release 版本正式发布

SelectDB

数据仓库 数据湖 Doris 数据湖Catalog catalog

Java体系最强干货分享—挑战40天准备Java面试,最快拿到offer!

Java你猿哥

Java 后端 ssm 面经 春招

Go Slice 扩容的这些坑你踩过吗?

王中阳Go

Go golang 高效工作 学习方法 面试题

GO语言集成开发: GoLand 2022 中文激活版

真大的脸盆

Mac 代码开发 Mac 软件 代码编辑 代码编辑工具

币安欧意交易所合约跟单平台软件开发详情(api对接)

开发微hkkf5566

不要再问我 In,Exists 走不走索引了

做梦都在改BUG

京东三面:说说synchronized和volatile的区别

Java你猿哥

Java 面试 ssm 面经 Java多线程

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