首页 文章 精选 留言 我的

精选列表

搜索[效率提升],共10000篇文章
优秀的个人博客,低调大师

Zstd 显著提升 Linux 内核镜像压缩效率,5.9 有望将其合并进主线

Facebook 工程师Nick Terrell 近日向 Linux 内核提交了使用Zstd 压缩 Linux 内核镜像的补丁,这些补丁显示了使用 Zstd 对内核、ramdisk 和 initramfs 进行压缩操作具备巨大潜力。 Nick 发现,在 x86_64 硬件上,当初始 RAM 文件系统将压缩算法从 XZ 切换到 Zstd 时,解压时间从 12 秒下降到只需 3 秒,此次切换整体上还给系统的引导时间带来了两秒的改进。同样看到较大改进的场景包括从 LZMA 切换到 Zstd,Nick 在切换至Zstd 的 Facebook 服务器上发现解压时间从 12 秒下降到了 8 秒。 相关基准测试结果可查看https://lkml.org/lkml/2020/7/1/722 至于压缩率,Zstd 的压缩率要比内核使用的 Gzip 低,但比 XZ 和LZMA 高。不过 Zstd 是除了 LZ4 之外,解压速度最快的算法。 根据目前的情况来看,内核对 Zstd 的支持有望在下一个版本中(Linux Kernel 5.9)实现。一旦 Zstd 进入内核主线,Nick 的后续计划是放弃对 BZ2 和 LZMA(1)的支持。这将有助于清理更多的内核代码,因为 Bzip2 和 LZMA 目前并没有在内核树之外的其他地方使用。

优秀的个人博客,低调大师

借助 WorkBuddy 搞定航道运维工作流,提升现场项目文档处理效率

友友们,早上好。因为我日常从事智慧航道相关运维与项目实施工作,经常要面对大量现场日志、设备故障记录、差旅纪要、项目汇报材料。一般来说,整理资料、梳理故障排查流程、输出工作方案这些都需要耗费大量碎片化时间。在接触和多次使用 WorkBuddy之后,我搭建了适配航道业务的专属工作 Agent,把重复性文档整理、故障复盘、报告初稿生成交给 AI 完成,解放精力聚焦现场调试与问题定位。今天这篇文章我就分享一下工作应用过程、配置思路以及实际使用效果。

优秀的个人博客,低调大师

Arimo利用Alluxio的内存能力提升深度学习模型的结果效率(Time-to-Result)

深度学习算法通常被一些具体应用所采用,其中比较显著的应用领域包括计算机视觉、机器翻译、文本挖掘、欺诈检测等。深度学习的方法在大模型加大数据的场景下效果显著。与此同时,被设计用来处理大数据的分布式计算平台(如Spark)也日益应用广泛。因此,通过在Spark平台上开发深度学习计算框架,深度学习的应用领域可以变得更加广泛,企业完全可以在已有的Spark基础设施上使用深度学习。 1.利用Alluxio协处理器进行基于Spark的分布式深度学习 在2015 Strata + Hadoop World NYC上,我们发布了有史以来第一个可扩展的、基于Spark和Alluxio的分布式深度学习框架,我们把它称为Alluxio协处理器(Co-Processor on Alluxio(“Co-Proccessor”))。它包含了前馈神经网络,卷积神经网络(CNN)以及循环神经网络(RNN)的实现。协处理器为Alluxio增加了一定的计算功能。具体来说,其运行一个本地进程监控衍生的目录并且收集它们。该设计思路是不仅将Alluxio用作Spark的workers之间的常用存储层,还将其用作一个模型更新者以支持大模型的训练。通过Alluxio的分布式内存执行模型,该协处理器框架为单机无法处理的巨大模型提供了一种可扩展的处理方式。 图1. Alluxio架构上的协处理器 进程A(计算梯度):Spark的workers计算梯度,处理数据的并行划分进程B(更新参数):Alluxio执行(梯度)下降操作,更新主模型 每个Spark的worker都只处理一批训练数据中的一部分,计算梯度,并发送回协处理器上的参数服务器。参数服务器不仅仅收集梯度信息,同时会作为一个协处理器执行(梯度)下降操作,然后更新存储在Alluxio上的模型(进程B)。值得注意的是,进程A和B基本上是异步发生的。 这样的设计让我们避免了: 将聚合梯度发送回Spark的workers 将更新过的模型发送给wokers,因为Spark workers现在能够直接访问Alluxio上的更新过的模型了。 这种方案的结果是,通过减少Spark workers和参数服务器的通信开销,能够将模型训练过程显著地加速60%。 2.持续开发 火热的开源深度学习框架如Tensorflow自身具有一套分布式模型训练体系架构,通常使用一个GPU集群来对训练数据的不同部分同时计算梯度。然而,这些训练框架对大规模数据集做ETL的能力还非常有限。一个方法是使用Spark预处理数据为Tensorflow服务器所用。然而,这样做的缺点是会导致很低的生产率。问题1:训练数据生成过程中的瓶颈在Arimo,我们每天都跟大规模时间序列数据打交道。大规模数据和复杂的学习问题通常涉及密集的、耗时的ETL处理,而时间序列数据又尤其富于挑战性。这种类型数据的建模要求:(1)随着时间生成大量的子序列和它们关联的标签 (2)将子序列重塑为多维张量。现有的做法是运行一个长时间的Spark批处理作业将原始数据完全转化为合适的、可进行深度学习训练的形式。一个长时间的批处理作业对我们的流水线式的生产并不是最优的,因为我们需要等到所有数据划分在被发送去训练之前都处理完毕。一个更加理想的模式是立即将已经完整的数据分区流传输到训练阶段。问题2:训练数据迁移过程中的瓶颈为了将训练数据在Spark和Tensorflow之间移动,我们通常需要将整个处理后的数据集合持久化到HDFS或者其他分布式文件系统中。这就不可避免地在写数据和读数据中制造了两次磁盘IO瓶颈。以时间序列建模来说,这个问题在训练数据达原始数据的数十倍之大时是极其严重的。问题3:训练数据过程中的巨大浪费一个有趣且重要的现象是,我们实际上不需要一次性拿到100%的训练数据才能训练出更好的模型。这意味着首先生成整个训练数据然后再进行批处理的方法极为浪费。这个想法促使我们放弃批处理方法,转而采用一种更加高效的流式方法。 3.解决方案:采用协处理器并发生成小批次训练数据流并从Spark向Tensorflow进行传递 通过避免磁盘IO和利用以内存为中心的共享文件系统Alluxio的优势,我们可以将数据从Spark向Tensorflow服务器之间更快地移动。让我们看下图: 1.利用协同处理,子序列和标签的准备在数据帧创建后可以马上开始进行。所以当我们执行其它无关操作的时候,这部分训练数据就已经悄悄地被准备好并按序排好,等待后续模型训练的使用。2.Alluxio的内存级速度存储缓解了我们将训练数据持久化到HDFS的需要,从而减少了磁盘IO。这个方法性能高、优雅且非常有效。浪费得到了最小化,甚至通过协处理器可以得到消除。我们在后台悄悄地生成批数据,然后训练模型不断消耗已经排序好的批次数据,直到模型效果令人满意为止。在数据生成和导入(feed)阶段之间,数据总是排好序并且被缓冲的。计算密集型的数据准备阶段只有当模型训练停止的时候才会停止。流线型和无浪费,这种基于Alluxio的方法就是我们所认为的大规模数据准备和模型训练的“丰田标准”。 4.总结 深度学习模型在当模型很大和在大规模数据集上训练时表现良好。为了加速模型的训练过程,我们已经实现了在Spark和Tensorflow之间作为常用存储层的Alluxio。我们利用协处理器的内存级存储速度和协处理能力来避免磁盘IO瓶颈,并且为训练数据预处理和整体模型更新实现了并发。初始结果表明,这种方法能够将模型训练过程加速最多60%。我们期待着将Alluxio用于其它的用例以及产品集成。 版权申明:本文由南京大学顾荣等专家翻译整理自Alluxio公司技术博客,由Alluxio公司授权云栖社区及CSDN首发(联合),版权归Alluxio公司所有,未经版权所有者同意请勿转载。

优秀的个人博客,低调大师

IPD推行成功的核心要素(十五)项目管理提升IPD相关项目交付效率和用户体验

研发项目往往包含很多复杂的流程和具体的细节。因此,一套完整且标准的研发项目管理制度和流程对项目的推进至关重要。研发项目管理是成功推动创新和技术发展的关键因素。然而在实际管理中,研发项目管理常常面临着需求不确定、技术风险、人员素质、成本和周期控制困难等压力。如何做好研发项目管理,提高研发项目管理的效能成为每个项目经理都必须学习的内容。在企业中应整合各个部门配合协作,平衡多方利益,结合公司的实际情况,并参考其他成熟的管理案例,搭建一套科学合理的研发项目管理制度和流程规范。本文将探讨如何从多个关键方面来做好研发项目管理,提高研发项目管理的效能,通过学习和了解这些方面,企业可以更好地组织团队、管理资源、促进沟通,并最终实现项目目标。

优秀的个人博客,低调大师

【我的Android进阶之旅】推荐一款能提升数十倍效率的Android应用开发助手

一功能介绍 a调试相关 1布局边界 2布局更新 3强制GPU渲染 4GPU渲染 5指针位置 6严格模式 7不保留应用 8不锁定屏幕 9开发者选项 10系统设置 11语言设置 12USB调试 b UI相关 13屏幕信息 14标准尺寸 c 信息 15系统 16硬件 17虚拟机 18网络相关 18那些ID 18CPU 19我的应用 二应用下载 是否曾经需要频繁切换“严格模式”? 是否需要多次启停“显示布局边界”? 是否需要测试被系统回收来回切换“不保留活动”? 是否需要多次打开“指针位置”? 是否需要查看屏幕分辨率、CPU 核数、IP 及 Mac 地址、系统版本? 现在你可以通过“开发助手”快速完成上面的切换和查看。不需要十几秒的等待和操作,不需要多个软件配合,所有操作均在一次点击后完成。 一、功能介绍 “开发助手”是最近将一个以前自用的工具完善整理后的 App,功能包括: a、调试相关 包括快速切换显示布局边界、显示布局更新、强制 GPU 渲染、显示 GPU 视图更新、显示指针位置、严格模式、不保留活动、不锁定屏幕、打开开发者选项、打开系统设置、打开语言设置、USB调试等功能。 1、布局边界 点击【布局边界】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示布局边】开关打开, 效果如下: 再次点击【布局边界】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示布局边】开关关闭,效果如下: 2、布局更新 点击【布局更新】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示Surface更新】开关打开 再次点击【布局更新】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示Surface更新】开关关闭 3、强制GPU渲染 点击【强制GPU渲染】按钮,则会一步进入【设置】然后进入【开发者选项】,将【强制进行GPU渲染】开关打开 再次点击【强制GPU渲染】按钮,则会一步进入【设置】然后进入【开发者选项】,将【强制进行GPU渲染】开关关闭 4、GPU渲染 点击【GPU渲染】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示GPU视图更新】开关打开 再次点击【GPU渲染】按钮,则会一步进入【设置】然后进入【开发者选项】,将【显示GPU视图更新】开关关闭 5、指针位置 点击【指针位置】按钮,则会一步进入【设置】然后进入【开发者选项】,将【指针位置】开关打开 效果如下: 再次点击【指针位置】按钮,则会一步进入【设置】然后进入【开发者选项】,将【指针位置】开关关闭 6、严格模式 点击【严格模式】按钮,则会一步进入【设置】然后进入【开发者选项】,将【启用严格模式】开关打开 再次点击【严格模式】按钮,则会一步进入【设置】然后进入【开发者选项】,将【启用严格模式】开关关闭 7、不保留应用 点击【不保留应用】按钮,则会一步进入【设置】然后进入【开发者选项】,将【不保留活动】开关打开 再次点击【不保留应用】按钮,则会一步进入【设置】然后进入【开发者选项】,将【不保留活动】开关关闭 8、不锁定屏幕 点击【不锁定屏幕】按钮,则会一步进入【设置】然后进入【开发者选项】,将【不锁定屏幕】开关打开 再次点击【不锁定屏幕】按钮,则会一步进入【设置】然后进入【开发者选项】,将【不锁定屏幕】开关关闭 9、开发者选项 点击【开发者选项】按钮,则会一步进入【设置】然后进入【开发者选项】,如上图所示。 10、系统设置 点击【系统设置】按钮,则会一步进入【设置】如下图所示。 11、语言设置 点击【语言设置】按钮,则会一步进入【设置】–>【更多设置】–【语言和输入法】–【语言】的界面,如下图所示。 切换语言为英文之后的效果如下图所示: 12、USB调试 点击【USB调试】按钮,则会一步进入【设置】–>【开发者选项】的界面并将【USB调试】开关打开,如下图所示。 再次点击【USB调试】按钮,则会一步进入【设置】–>【开发者选项】的界面并将【USB调试】开关关闭。 b、 UI相关 13、屏幕信息 点击【屏幕信息】按钮,则会弹出对话框展示屏幕有关的信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 14、标准尺寸 点击【标准尺寸】按钮,则会展示标准尺寸有关的信息,如下图所示: c、 信息 15、系统 点击【系统】按钮,则会弹出对话框展示系统有关的信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 16、硬件 点击【硬件】按钮,则会弹出对话框展示硬件有关的信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 17、虚拟机 点击【虚拟机】按钮,则会弹出对话框展示虚拟机有关的信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 18、网络相关 点击【虚拟机】按钮,则会弹出对话框展示网络相关的信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 18、那些ID 点击【那些ID】按钮,则会弹出对话框展示IMEI、SV、手机号、序列号、Mac地址等相关信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 18、CPU 点击【CPU】按钮,则会弹出对话框展示CPU相关信息,你也可以点击分享或者复制按钮,来对信息进行处理。如下图所示: 19、我的应用 点击【我的应用】按钮,则将手机上装的应用都列出来,如下图所示: 你也可以点击【所有应用】之后,点击弹出的菜单项进行相关的过滤,如下图所示: 二、应用下载 看完功能介绍之后,是不是有种想要下载下来试一试的冲动呢? 你可从 Google Play、应用宝搜索“开发助手”下载,或者直接访问下面的链接进行下载。 http://trinea.cn/app/dev-tools.apk 该APK的作者是Trinea, Trinea 的 Github:https://github.com/trinea 主页:http://www,trinea.cn 作者:欧阳鹏 欢迎转载,与人分享是进步的源泉! 转载请保留原文地址: http://blog.csdn.net/ouyang_peng/article/details/54112304

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册