在过去一年的时间里,B站离线平台资源调度侧的主要挑战有两个方面: 1) 随着业务的不断增长,离线集群规模快速膨胀,用户对资源的需求在持续增大,主集群长期处于Pending较高的状态,资源需求超过交付量 2) 出于降本增效的考虑,消解Pending的方法不能仅靠物理机的增加了,而是需要在物理机整体数量不变的基础上通过超卖来提升集群整体的资源利用率。 为了应对上述挑战,调度侧在向内与向外两个方向上进行了积极的探索。“向内”聚焦于单台物理机,通过超配的方式不断提高单台物理机的利用率,使得单台节点能够处理更多的任务;“向外”与云平台部门合作,共同探索混部技术的落地,到目前为止,已经完成了离线超配,离在线混部、在离线混部等集群建设以及潮汐混部的技术实现,使得不同集群间的资源能够被更充分地调动。 为此我们自研了组件Amiya,旨在解决大数据集群资源缺口问题,自上线后较好的完成了Yarn离线集群以及在离线混部集群资源超配的工作。以离线主集群为例,目前5000多台NodeManager所在的节点已完成了Amiya的部署。在Amiya开启后,为Yarn额外提供了约683TB的可申请Memory
哈骑士是哈啰的一款终端安全应用,本文主要介绍我们在做新版哈骑士桌面端时的一些技术架构思考和实践,分享我们沉淀的一些桌面端应用的解决方案和经验。
毕业超过十年了,感慨岁月无情。做了若干年后台开发(之前做电信领域),大致说一下常见的开发心得和调试手段。使用互联网这么多年,收获的很多,总结的很少。本着互联网精神,希望可以帮到互联网另一端的你。由于本人是做 C 语言的开发,陈述的经验也是 C 常用的调试手段。 调试很麻烦,困扰着无数程序员们。很难有人保证自己写的代码一行错误都没有,有问题你就要查。怎么查?高手者,反汇编,看 2 进制;low 一点的就 gdb、看统计;再 low 就加打印。还可以再 low 吗?可以,自己写 bug,别人查。方法林林总总,长期掌握总可以找到适合自己的。 而调试的目的是什么,找到 BUG。想当年一个高手比喻的好:你找 BUG 其实你就是福尔摩斯,为啥是福尔莫斯呢?想想你看到 BUG 案发现场--合格的程序都有日志、dump 内存、计数等基本案发现场吧。嗯,什么都没有,找写代码的人自己查。找问题就是在众多信息中,抽丝剥茧,找到疑点、反复推演程序运行的代码,最终找到作案的那一行或者几行代码。 这个过程很折磨人,没有任何眉目时,令人茶不思饭不想。找到问题问题后,如打鸡血般兴奋,自己也会陶醉般飘飘然。
本文作者是蚂蚁集团前端工程师亦池,VSCode 作为一款高性能、扩展性良好的 code IDE,应该是大型复杂应用的典型代表了,又是开源的十分适合学习,本是想翻翻源码熏陶一下编程修养,细读了比较有特色的一些功能:依赖注入、自带生命周期管理的事件体系、框架层和 contrib 扩展层、端差异代码的处理,了解了进程的设计、令人惊艳的 LSP 设计,也顺手记录了一些翻到的比较巧妙的功能代码片段。但除了编程上的熏陶,更能让人受启发的是其设计思想,无论是技术上面向社区开发者提供的扩展能力,还是在产品上的克制取舍和前瞻性。
统计学和机器学习为数据分析提供理论基础,入门时我看过很多统计学相关书籍,复杂的公式和推导过程让我一度陷入迷茫。对于数据科学/分析师来说,如何使用统计学知识并应用到我们的分析场景中更为重要。本文主要基于数据分析工作中的实际应用场景,分享一些魔法统计学/机器学习指数,对一些基础指数、原理及公式推导不过多阐述。
ChatGPT在当下已经风靡一时,作为自然语言处理模型的佼佼者,ChatGPT的优势在于其能够生成流畅、连贯的对话,同时还能够理解上下文并根据上下文进行回答。针对不同的应用场景可以进行快速定制,例如,在客服、教育、娱乐等领域中,ChatGPT可以作为智能助手为用户提供便捷的服务和娱乐体验。 从GPT-3到GPT-4,我们可以看到在高级推理,输入设置,微调行为和理解更长的上下文信息等方面,ChatGPT在不断的优化训练中已经取得了显著的进展。 但是针对于这种交互式的GPT模型,我们更希望看到能像电影里的人工智能,拥有自我意识,可以进行自我学习和进化。不需要通过频繁的引导和交互,我们只需要简单提出一个目标,AI就能自主的完成所有的执行规划和逻辑处理,并不断进行自我论证和优化,最后完成我们提出的目标。 那么今天它来了,它就是ChatGPT的进化版本:AutoGPT。
组件,是前端最常打交道的东西,对于 React、Vue 等应用来说,万物皆组件毫不为过。 有些工作经验的同学都知道,组件其实也分等级的,有的组件可以被上万开发者复用,有些组件就只能在项目中运行,甚至挪动到自己的另外一个项目都不行。 如何考察一个前端的水平,首先可以看看他有没有对团队提供过可复用的组件,一个前端如果一直只能用自己写的东西,或者从没有对外提供过可复用的技术,那么他对于一个团队的贡献一定是有限的。