祝全天下的开发者朋友,新年职业发展虎啸风生,新年工资增速如虎添翼,新年爱情运势虎跃龙骧,新年代码事故下虎口逃生,虎!虎!虎! 软件工程圣经《人月神话》一书中曾提到软件开发没有银弹,事实也正是如此,复杂的软件工程问题无法靠简单的答案来解决。在字节跳动,海量数据、复杂业务场景、快速发展的业务规模,都对业界成熟的开源技术方案带来了或多或少的挑战。字节跳动各技术团队在充分调研了业界成熟方案后,从业务实际出发,自研了多套取得了卓越成效的方案与工具,其中部分已开源,部分已集成到火山引擎服务中,更多方案在内部打磨成熟后也将开放给业界使用。 以下内容为过去一年中,字节跳动技术团队公众号所发布的自研技术方案集合,以飨读者。字节工程师自研基于IntelliJ的终极文档套件 众所周知,程序员最讨厌的四件事:写注释、写文档、别人不写注释、别人不写文档。因此,想办法降低文档的编写和维护成本是很有必要的。为解决写文档原始模式的诸多痛点,字节工程师自研的基于IntelliJ的终极文档套件方案可以做到完全脱离浏览器文档编辑器,线上页面的同步完全交给定时触发的自动化部署。 字节工程师自研基于IntelliJ的终极文档套件 字节自研Android虚拟机内存管理优化黑科技mSponge 字节自研的Android虚拟机内存管理工具mSponge,从应用侧视角对Android虚拟机内存管理进行改造,优化了虚拟机对LargeObjectSpace的内存管理策略,间接增加其它内存空间使用上限。改造后的方案,32位运行环境LargeObjectSpace的内存使用上限可达到2G甚至更多(64位环境使用上限理论上会趋于无限大)。通过本方案可以最大程度上从系统侧解决诸多应用都会遇到的内存瓶颈和OOM问题,一键接入,安全可靠。 拯救OOM!字节自研Android虚拟机内存管理优化黑科技mSponge 自研推荐系统大规模TrainingServing方案Monolith Monolith是字节跳动火山引擎智能推荐平台中的大规模Training和Serving方案,包括了TrainingServingParameterSync等,是一套完整的系统方案。与业界其它系统相比,Monolith成功应对了多方面的挑战,具备以下特色:解决了TensorFlowPS通信瓶颈、全方位容错、分布式Serving、性能优化等,目前,Monolith已通过推荐平台,成功应用在电商、社区、视频等多个行业的场景上,效果、稳定性、性能均得到了充足的验证。未来,我们也将继续保持高速迭代,不断优化用户体验和平台功能。 为君作磐石人人都能搭建大规模推荐系统 字节优化版性能检测工具atop atop是一款开源的单机性能监测工具,支持实时观测的同时、也支持读取历史文件排查问题。另外一个优点是除提供CPU、MEM、DISK等全局指标外,还提供进程、线程级别的各项指标监控数据。字节跳动基于社区的atop进行优化,目前已迭代3个版本,稳定运行接近三年,新增包括NUMA聚合、JSON格式输出、交互界面改进、日志相关改进及其他特性优化。 深入字节版atop:线上系统的性能监控实践 自研OpenBMC方案 OpenBMC是LinuxFoundation组织里的一个项目,也是目前开源BMC里方案最成熟、社区最活跃的项目。字节跳动系统部STE团队自研的OpenBMC,已在内部成功上线,并稳定运行了四个多月。这也是字节跳动首次正式上线并初步产品化的OpenBMC方案。同时,STE团队的工程师们,也在OpenBMC开源社区里提交了涉及新feature及bugfix的诸多commits,目前已经成为了OpenBMCTechnicalOversightForum(TOF)的一员。 字节跳动自研OpenBMC方案成功上线,STE团队工程师都做了哪些事? 自研同传系统火山同传 2021北京智源大会上,火山翻译推出的产品火山同传为会议现场和线上直播提供低延时、高质量的同传字幕,助力大会顺利召开。字节跳动AILAB智能语音团队对RNNT模型做了较多尝试和探索,通过数据的不断积累、算法的持续优化,基于RNNT模型的自研端到端语音识别系统获得了显著优于CTC模型的性能,被应用到了会议转录、同传等多个业务中,都取得了较好的反馈。 亮相智源大会,字节跳动自研同传系统的技术实现 自研智能化测试系统Fastbot Fastbot是由字节自研的客户端智能测试工具,主要适用客户端稳定性兼容性压力测试。目前Fastbot已支持多平台:Android,iOS,Web,PC等。目前,Fastbot已广泛应用于字节客户端类产品的稳定性测试与兼容性测试。每日启动任务数超过1万次,每月平均发现5万个以上的崩溃。借助Fastbot的能力,我们在发版前就可以修复大部分的crash,确保线上用户的使用体验。同时,Fastbot在整个DevOps流程扮演重要的基础服务角色。其中iOS、Android版本均以开源。 Fastbot:行进中的智能Monkey 自研端智能一体化方案Pitaya Pitaya是字节跳动移动平台团队与MLX团队深度合作共建的一套从端(云端)到端(终端)的全链路动态部署方案。Pitaya是专门为移动端打造的端智能一体化方案,与传统方案相比,具备以下优势:降低了端智能使用成本,方便业务快速集成,拿到业务收益;;完善的动态化能力,支持模型的快速迭代与效果验证;提升多方协作的效率,让算法工程师深入参与客户端场景中;算法、模型高度复用,可以快速推广已经验证的方案。目前,字节跳动内已经有抖音、头条、西瓜等众多产品线基于Pitaya开始了端智能的实践和探索,后续还将规划特征工程、模型自衍化、通用AI能力建设等新功能。 轻松玩转移动AI,一键集成的端智能框架Pitaya 下期字节技术年货预告:实践篇