10月28日,第18届“中国Linux内核开发者大会”(以下简称CLK)在深圳举行,近 500名开发者到场参会。大会设置了主论坛,以及内存管理、云和服务器、Arch&虚拟化&I/O、调试/eBPF/调度四个分论坛。作为本次大会的受邀承办方代表,OPPO平台软件开发中心GM、软件系统优化技术专家许珉嘉在主论坛上分享了ColorOS下基于用户体验改善的Linux内核优化方案,并公布了可编程内核技术方向。据与会人士分析,可编程内核或将极大程度提升虚拟机运行效率,从底层解决安卓卡顿问题。
OPPO平台软件开发中心GM、软件系统优化技术专家许珉嘉▲
可编程内核或成安卓流畅性终极解决方案
在大会主论坛上,OPPO首次公布了其掌握的可编程内核技术,并宣布 ColorOS 于未来也将会持续在可编程内核上演进,不断聚焦可编程CPU调度器、可编程内存管理、可编程 IO 调度制等领域,进而针对每个手机场景做到极致的优化。
OPPO平台软件开发中心GM、软件系统优化技术专家许珉嘉强调:”手机与桌面和服务器系统,无论在硬件架构、软件架构和用户关切上都存在非常大的差异。这要求我们在Linux OS层面从各个维度进行针对移动设备场景的优化。”
ColorOS从用户体验改善出发,针对流畅性、稳定性等直接影像用户体验的优化方向,进行系统的问题归因,下钻拆解到内核层级,逐一寻找优化方案,对标准Linux内核进行改造,推出更适合移动设备的ColorOS可编程内核。
可编程内核是对底层技术的重大改造,这需要长期的技术积累。OPPO的这份积累来自于十年来对ColorOS性能的不断打磨和调试。未来,ColorOS将继续围绕可编程内核技术方向,深入底层进行技术改造,充分细分系统算力资源,进一步提升流畅细节表现。
从底层细节入手提升ColorOS流畅性和稳定性
大会分论坛上,OPPO多名技术专家围绕内存优化和内核调度等课题进行了主题演讲。
为进一步优化内存实用,提升高负载下游戏、相机和应用切换等场景的流畅性,OPPO推出page映射频度和lock contention的LRU回收优化方案,进一步减小内存回收负载,提升回收率,有效改善用户的性能体验。OPPO高级底层软件工程师韩传华阐述了OPPO的动态大页方案,为提升内存分配效率和安卓应用性能提供了新的思路。
据OPPO高级底层软件工程师谢柳杰介绍:移动端APP界面滑动出现卡顿感主要是由于Linux内核并发保护机制在保护共享数据的同时引入一些性能问题可针对这些问题对『任务持锁期的调度』和『任务等锁期的排队』进行了策略优化来提升手机流畅性。
针对原生内核调度器无法保证对图形绘制、音频编解码等时延敏感型任务调度延迟的问题,OPPO内核团队设计了基于任务调度延迟的balance方案,在原生内核的基础上进行定制和优化,提升关键任务的响应速度和实时性能,从而提供更流畅的用户体验。据统计,使用该方案的手机设备丢帧概率降低22.97%,音频卡音概率降低20%。