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相关的社区。

====================================分割线================================

本文转自d1net(转载)

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

  1. 考虑不同充电需求的电动汽车协调充电调度方法 提出了一种电动汽车(EV)的协调充电调度方法

    考虑不同充电需求的电动汽车协调充电调度方法 代码复现,详细注释9 1.提出了一种电动汽车(EV)的协调充电调度方法. 2.在所提出的方法中估计了电动汽车用户充电需求的紧迫性. 3.根据充电需求的紧迫性 ...

  2. Zeebe:用于微服务编排的开源工作流引擎--Camunda出品

    Zeebe是一个用于微服务编排的开源工作流引擎 Zeebe使用可视化工作流满足工作人员对微服务进行编排.Zeebe是水平可伸缩和容错的,因此您可以可靠地处理发生的所有事务. 详细介绍:  What i ...

  3. 全面解析 Netflix 的微服务架构设计

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入新技术 1简介 多年来,Netflix 一直是全球最出色的在线订阅制视频流 ...

  4. 全面解析Netflix的微服务架构设计

    作者 | Cao Duc Nguyen 策划 | 万佳 本文描绘了 Netflix 流媒体服务的整体云架构图景,并从可用性.延迟.可扩展性和对网络系统或系统中断的适应性方面分析了系统的设计. 1 简介 ...

  5. 倪江利:魅族推荐平台的架构演进之路

    摘要:魅族拥有超大规模的用户量及海量数据,魅族推荐平台实现了在海量的数据中对算法模型进行在线及离线训练,在高并发的场景下实时进行预测为用户推荐更感兴趣的信息.同时支撑多算法组合A/B测试,以供算法进行 ...

  6. 深入剖析阿里云推荐引擎——新架构,新体验

    摘要:本文的整理自2017云栖大会-上海峰会上阿里云算法专家郑重(卢梭)的分享讲义,从2016年2月V2.0公开使用到现在,阿里云推荐引擎有了更大的进步.有着获取排序的在线计算,修正匹配的近线计算及匹 ...

  7. 推荐算法--推荐系统架构(06)

    外围架构 一般来说,每个网站都有一个 UI 系统,UI 系统负责给用户展示网页并和用户交互.网站会通过日志系统将用户在 UI 上的各种各样的行为记录到用户行为日志中. 从上面的结构可以看到,除了推荐系 ...

  8. 推荐系统-推荐引擎的架构

    内容来源:<推荐系统实践> 前面介绍了各种各样的数据和基于这些数据的推荐算法.在实际系统中,前面几章提到 的数据大都存在,因此如何设计一个真实的推荐系统处理不同的数据,根据不同的数据设计算 ...

  9. 【云周刊】第171期:重磅推荐,神龙架构首次开箱直播评测

    原文链接:点击打开链接 摘要: 神龙架构首次开箱直播评测,神经引导演绎搜索:两全其美的程序合成方法 ,Oracle迁移上云实战北京专场(云数据库PPAS + ADAM) ...更多精彩内容,尽在云周刊 ...

最新文章

  1. ArrayList集合为什么不能使用foreach增删改
  2. VS2013+OpenCV3.1.0配置方法
  3. 可观察性驱动开发,探索未知之地
  4. 对异步脉冲信号的处理——不归0翻转电路
  5. 在Vim中有没有一种方法可以在不将文本放入寄存器的情况下删除?
  6. python代码案例详解-Python之入门基础字典案例详解,新手必学
  7. 一文盘点数据行业的动态演变
  8. strtol函数参数详解
  9. 【Python】Python四大内置高阶函数(map、reduce、filter、sorted)
  10. 多用户企业文件管理系统源码_固定资产管理系统的细节分析
  11. access_token is invalid or not latest hint
  12. WebSphere MQ通道的建立
  13. Oracle操作(转)
  14. spring boot高性能实现二维码扫码登录(下)——订阅与发布机制版
  15. yuicompressor java_使用YUICompressor自动压缩JavaWeb项目中的JS与CSS文件
  16. java分页工具集合
  17. python中object是什么_python object是什么类型
  18. 计算机颜色更换,如何给证件照换底色;怎么快速更换证件照底色
  19. 双非计算机硕士在郑州,双非院校的研究生有必要读吗?答案非常现实!
  20. 合肥工业大学计算机与信息学院胡敏,合肥工业大学计算机与信息学院博士生导师:薛峰教授...

热门文章

  1. linux恢复出厂设置_怎么恢复tp-link路由器出厂设置 恢复tp-link出厂设置方法【详解】...
  2. 使用Lucene开发自己的搜索引擎
  3. 步步为营:Asp.Net 淘宝通用应用接口攻略
  4. 在Makefile中的 .PHONY 是做什么的?
  5. 55篇世界上著名博客的经验之谈
  6. [导入]ASP.Net环境下使用Jmail组件发送邮件
  7. mysql的数据现实在小程序_使用phpstudy将本地mysql数据显示在微信小程序前端
  8. git 移动分支指针_图解4种git合并分支方法
  9. 8 Django 模型层(2)
  10. 阿里云助力合作伙伴帮助政府、企业体验云计算大数据魅力!