- 博客(36)
- 收藏
- 关注
原创 Tensorflow分布式训练的调度方案
TensorFlow 本身支持分布式训练,但是构建分布式 TensorFlow 框架并非易事,也不是所有数据科学家和相关的工程师都具备所需的专业知识,或想要这样做——尤其是因为这项工作必须手动完成,缺少一个【调度框架】,调度Tensorflow进行分布式训练。工业界的大厂相继开源了很多方案。总的来说有两种方案【Tensorflow on Yarn】和【Tensorflow on K8S】和 【Te...
2020-03-10 23:08:14 1968
转载 NUMA介绍
传统的多核方案采用的是SMP(Symmetric Multi-Processing)技术,即对称多处理器结构,如图1所示。在对称多处理器架构下,每个处理器的地位都是平等的,对内存的使用权限也相同。任何一个程序或进程、线程都可以分配到任何一个处理器上运行,在操作系统的支持下,可以达到非常好的负载均衡,让整个系统的性能、吞吐量有较大提升。但是,由于多个核使用相同的总线访问内存,随着核数的增长,总线将成为瓶颈,制约系统的扩展性和性能。图1对称多处理器SMP架构鲲鹏处理器支持NUMA(Non...
2021-11-17 20:18:22 1403
原创 Hadoop动态调整日志级别
Hadoop 动态调整日志级别hadoop 线上基础服务 ResourceManager,运行中排查问题,不能直接重启调整日志级别,hadoop给我们提供了动态修改类日志级别的方式。通过Yarn命令行调整日志级别拿ResourceManager类举例子yarn daemonlog -setlevel <host:httpport> org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler INF
2021-04-06 21:51:43 1297
转载 dolphinscheduler架构设计
在对调度系统架构说明之前,我们先来认识一下调度系统常用的名词1.名词解释DAG:全称Directed Acyclic Graph,简称DAG。工作流中的Task任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。举例如下图:dag示例流程定义:通过拖拽任务节点并建立任务节点的关联所形成的可视化DAG流程实例:流程实例是流程定义的实例化,可以通过手动启动或定时调度生成,流程定义每运行一次,产生一个流程实例任务实例:任务实例是流程定义中任务节点的..
2021-02-07 20:18:24 1599
转载 2019-8-29 日,易观开源的分布式任务调度引擎 DolphinScheduler,以全票通过的优秀表现正式成为 Apache 孵化器项目
根据 Apache 基金会邮件列表显示,在包含 11 个约束性投票(binding votes)和 2 个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过。“Welcome to Apache incubator,DolphinScheduler!”易观贡献的 DolphinScheduler 进入 Apache 孵化器,是易观开源项目的重要里程碑, DolphinScheduler 社区将遵循「The Apache Way」..
2021-02-07 20:10:33 552
转载 记一次计算密集型服务的性能优化
记一次计算密集型服务的性能优化性能优化是一个庞杂的话题,不同的场景,不同的视角都会得到不同的理解。比如:有的为了提高吞吐,有的为了降低延迟,有的为了节省资源。他们并不是同一个问题,有时可以牺牲一定的延迟来换取更高的吞吐,比如批量处理;有时可以用更多的存储空间来换取更低的延迟,比如哈希表……本文讲述的是对计算密集型服务提高吞吐和降低延迟的优化经验和理解。一、背景这是微服务框...
2020-03-10 15:06:41 2229 2
转载 广告CTR预估场景下的DNN调优实战
广告CTR预估场景下的DNN调优实战特征DNN需要组合特征LR模型的时候,我们需要构造许多组合特征,比如UserID与ItemID的组合,许多做DNN的都宣称简化了特征工程,由隐层学习特征交叉,但是隐层进行特征组合的方式并没有明确的理论解释,并且通过隐层参数学习的方式进行隐式的特征组合并不能保证收敛到最优解,通过显示的构造组合特征能给DNN提供一些先验信息,从实战来看,DNN加上显示的...
2020-03-09 18:48:19 703
原创 频繁分配释放内存导致的性能问题的分析
https://blog.csdn.net/baiduforum/article/details/6126337https://blog.csdn.net/adaptiver/article/details/38546035
2019-11-14 15:45:07 252
转载 主流深度学习CTR模型
随着微软的Deep Crossing,Google的Wide&Deep,以及FNN,PNN等一大批优秀的深度学习CTR预估模型在2016年被提出,计算广告和推荐系统领域全面进入了深度学习时代,时至今日,深度学习CTR模型已经成为广告和推荐领域毫无疑问的主流。在之前的专栏文章《前深度学习时代CTR预估模型的演化之路》中,我们与大家一起探讨了传统CTR模型的结构特点以及演化关系。在进入深度学习...
2019-10-11 09:36:29 872
转载 什么是Linux的五种IO模型
原创:漫话编程漫话编程2018-08-27周日午后,刚刚放下手里的电话,正在给刚刚的面试者写评价。刚刚写到『对Linux的基本IO模型理解不深』这句的时候,女朋友突然出现。哈,这个面试者咋不知道IO模型呢,我都知道呢。你怎么知道呢,你给我说说。上次你给我讲过呀。在Java中,主要有三种IO模型,分别是阻塞IO(...
2019-09-26 21:05:03 270
转载 基于TensorFlow Serving的深度学习在线预估
一、前言随着深度学习在图像、语言、广告点击率预估等各个领域不断发展,很多团队开始探索深度学习技术在业务层面的实践与应用。而在广告CTR预估方面,新模型也是层出不穷: Wide and Deep[^1]、DeepCross Network[^2]、DeepFM[^3]、xDeepFM[^4],美团很多篇深度学习博客也做了详细的介绍。但是,当离线模型需要上线时,就会遇见各种新的问题: 离线模型性能...
2019-07-28 12:31:30 350
转载 使用TensorFlow训练WDL模型性能问题定位与调优
简介TensorFlow是Google研发的第二代人工智能学习系统,能够处理多种深度学习算法模型,以功能强大和高可扩展性而著称。TensorFlow完全开源,所以很多公司都在使用,但是美团点评在使用分布式TensorFlow训练WDL模型时,发现训练速度很慢,难以满足业务需求。经过对TensorFlow框架和Hadoop的分析定位,发现在数据输入、集群网络和计算内存分配等层面出现性能瓶颈。...
2019-07-28 12:29:12 538
原创 使用pudb调试TensorFlow Python源码
简介 TensorFlow是C++和Python实现的,构建Graph和一些op的调用都是在Python实现,可以使用pudb来单步调试TensorFlow的Python源码。pudb 项目地址:https://github.com/inducer/pudbpudb 文档地址:https://documen.tician.de/pudb/Python的调试工具pdb:...
2019-07-15 08:50:06 372
转载 【转载】网易新闻推荐:深度学习排序系统及模型
DataFun社区大家好,今天分享的主题是:网易新闻客户端信息流的个性化推荐中,深度学习排序系统及模型,这也是我们团队在研发实践中的一些经验总结。首先看一下在信息流场景中,个性化推荐的产品形态。左边是网易新闻的头条频道,右边是短视频频道,在经过召回、排序、重排之后信息流的最终呈现。作为流量较大的两个频道,我们在对它构建排序系统和排序模型的时候,通常会根据文章、视频、图像相关的内容特征,用户...
2019-07-12 11:53:46 530
转载 【转载】基于 Kubeflow 的机器学习调度平台落地实战
作者:范德良 周佳煊 张振华机器学习,特别是深度学习,在蘑菇街这样的电商平台有大量实际业务的落地场景,比如搜索推荐、图像算法、交易风控反作弊等等。随着业务的快速发展,之前已有的基于 Yarn 的调度平台已经无法满足大规模机器学习的计算需求,因此我们在 2018 年和算法工程团队一起建设了基于 Kubeflow 和 Kubernetes 的分布式机器学习平台,并深入到业务层面进行分布式改...
2019-07-12 11:49:52 1257
转载 【转载】搜狗信息流推荐算法实践(推荐工作流理解-召回、排序)
本文根据搜狗王东老师在 6 月 9 日,DataFunTalk 算法技术沙龙中分享的“搜狗信息流推荐算法交流”编辑整理而成,在未改变原意的基础上稍做修改。本次分享将从上面四个方面介绍,挑选了在信息流分享领域最重要的三个方面,从这三个方面就能基本完成一个信息流产品。首先是推荐系统的架构,如下图所示,是一个经典的推荐系统架构。首先是数据源,数据源可能是抓取的,或者是合作的,或者是自媒体产生的。...
2019-06-30 11:55:01 3210
转载 Kubernetes Informer 详解
Informer 简介Informer 基础功能Informer 是 Client-go 中的一个核心工具包。在 Kubernetes 源码中,如果 Kubernetes 的某个组件,需要 List/Get Kubernetes 中的 Object,在绝大多 数情况下,会直接使用 Informer 实例中的 Lister()方法(该方法包含 了 Get 和 List 方法),而很少直...
2018-11-07 20:51:27 538
原创 calico 架构及跨节点通信原理介绍
背景及calico简介为了搞定 AI on k8s的网络环境,即夸节点容器通信的问题,在k8s多个网路解决方案中选择了延迟表现最好的-calico方案,本文主要介绍calico 架构、组件及网络通信原理,更多的细节在之后的文章中分享。Calico是一个纯3层的数据中心网络方案,而且无缝集成像OpenStack这种IaaS云架构,能够提供可控的VM、容器、裸机之间的IP通信。Calico的原理...
2018-11-03 20:13:31 7166 1
原创 docker系列文章-基于centos7的docker ce 安装教程
目录一、背景二、centos7 上docker 安装及配置说明1.添加docker yum 源 2.选择docker版本3.docker安装4.docker配置三、docker 常用操作 1. docker 启动、停止及配置reload 2. 检查docker 是否安装正常四、Reference一、背景Docker 从 17.03版本之后分为 CE...
2018-10-31 23:45:05 567
原创 docker 系列文章-docker 介绍
目录 一、docker 是什么二、docker中的基本概念三、reference一、docker 是什么Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进...
2018-10-20 11:10:20 1026
原创 mr 问题
Maptask 超时问题(1)1.Maptask超时问题情况描述某个maptask重试四次后导致job失败,失败原因就是task超时,如下: ` AttemptID:attempt_1470311300058_6506513_m_000010_0 Timed out after 600 secs`mapred.task.timeout 参数说明The number of milli...
2018-09-15 16:48:21 504
原创 SPARK task执行与资源分配的关系
SPARK task执行与资源分配的关系问题背景执行spark某个sparkjob申请的资源是150个Executor,但是直至job执行结束(大约30多分钟),分配给该job的Executor个数是49个; 该job正常试行时间大约是14分钟,但由于此次分配该job的Executor个数少于150导致job执行过长大约30多分钟; 问题:为什么没有获得足够的资源,job就开始执行了?问题分析
2016-11-14 14:52:29 5070
原创 maptask 超时问题 Timed out after 600 secs
Maptask 超时问题(1)1.Maptask超时问题情况描述某个maptask重试四次后导致job失败,失败原因就是task超时,如下: ` AttemptID:attempt_1470311300058_6506513_m_000010_0 Timed out after 600 secs`mapred.task.timeout 参数说明The number of mi...
2016-11-09 21:55:21 13473
原创 spark sql error mark
java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:658) at java.nio.DirectByteBuffer.(DirectByteBuffer.java:123) at java.nio.ByteBuffer.allocateDirect(ByteBuf
2016-11-08 11:33:26 906
原创 Spark-sql Join优化=>(cache+BroadCast)
Spark-sql Join优化背景 spark-sql或者hive-sql 很多业务场景都会有表关联的的操作,在hive中有map side join优化,对应的在spark-sql中也有map side join。spark中如果在参与join的表中存在小表,可以采用cache broadcast的方式进行优化,避免数据的shuffle,从而一定程度上可以避免数据倾斜,增加spark作业
2016-10-29 14:23:05 8316 4
原创 Yarn shuffle OOM错误分析及解决
Reference: 最近再补mapreduce相关的知识,该片文章引用同事前辈大宇神的博客文章! http://dj1211.com/?p=358 大家也可以没事看看他别文章,都写得不错!!!--------------------------------------------------------...
2016-10-26 13:40:18 1547
原创 Yarn的架构及原理基础
1.1 YARN 基本架构YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager和每个应用程序特有的ApplicationMaster。其中ResourceManager负责整个系统的资源管理和分配,而ApplicationMaster负责单个应用程序的管理。 ...
2016-10-26 09:56:04 497
原创 yarn LocalResourcesTrackerImpl remove resource Error
1. NM异常日志 (/data0/hadoop/log/yarn/yarn-mapred-nodemanager-yz5202.hadoop.data.sina.com.cn.log) ERROR org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.L
2016-10-25 11:42:05 1732
原创 Spark-2.x 编译构建及配置安装
Spark-2.x 编译构建及配置安装0. Spark-2.x 编译环境准备 编译服务器:ip 编译目录:/data10/spark/1. Spark-2.x编译a. note:提高Maven编译时的堆内存大小,防止编译过程中产生OOM异常,相关命令如下: export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX
2016-10-24 14:08:36 4475
原创 基于common-fileupload实现文件上传
同事项目中可能用到基于servlet的上传,给他写了个Demo1.依赖的jar包 commons-fileupload-1.2.2.jar commons-io-2.2.jar servlet-api-2.4.jar2.项目源码 servlet的实现类FileUpload import java.io.File;import ja
2016-05-12 13:47:23 428
原创 elasticsearch-ThreadPool源码
1.ES的线程池类型 ThreadPool的内部类Names定义了ES线程池的所有类型,如下所示。利用静态类定义线程名称,类似于枚举 public static class Names { public static final String SAME = "same"; public static final String GENERIC = "gen
2016-05-10 16:46:59 1151
原创 查看jar包文件、更新jar包文件
1.查看jar包文件jar vtf hdfstoes.jar | grep xxx2.更新jar包文件替换或增加jar包根目录下文件 java uvf hdfstoes.jar field.properties 替换或增加jar包深层目录下文件 jar uvf myjar.jar com/blackwing/Cl
2016-05-10 15:41:35 1617 2
原创 MapReduce job Shuffle 过程的ERROR
1.错误描述error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#43at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)at org.apache.had
2016-04-13 19:25:37 1506
原创 依赖注入及Guice简述
1.研究Guice的缘由 上学期间一直搞javaweb,Spring的用了不少,一直使用Spring的依赖注入,没有接触guice,工作之后研究elasticsearch,它采用的guice作为依赖注入的框架,因此有必要研究一下Guice,重温一下IOC和DI。MARK!2.Guice简介 ●Guice是一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(I...
2016-04-13 13:51:30 2236
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人