Hadoop YARN:调度性能优化实践
这里的关键问题是:系统通过配置加载线程更新了调度器某个参数的值,而调度线程也同时在按照这个参数值进行工作。在一次调度过程中可能多次查看这个参数的值,并且根据参数值来执行相应的逻辑。调度线程在一次调度过程中观察到的参数值发生变化,就会导致系统异常。 处理办法是通过复制资源的方式,避免多线程共享资源引起数据不一致的问题。调度线程在每次调度开始阶段,先将当前所有性能优化参数进行复制,确保在本次调度过程中观察到的参数不会变更。 数据自动校验策略 优化算法是为了提升性能,但要注意不能影响算法的输出结果,确保算法正确性。对于复杂的算法优化,确保算法正确性是一个很有难度的工作。 在“优化排序比较时间”的研发中,变更了队列resourceUsage的计算方法,从现场计算变更为提前计算。那么如何保证优化后算法计算出来的resourceUsage是正确的呢? 即使做了单元策略,功能测试,压力测试,但面对一个复杂系统,依然不能有100%的把握。 另外,未来系统升级也可能引起这部分功能的bug。 算法变更后,如果新的resourceUsage计算错误,那么就会导致调度策略一直错误执行下去。从而影响队列的资源分配。会对业务产生巨大的影响。例如,业务拿不到原本的资源量,导致业务延迟。 通过原先现场计算的方式得到的所有队列的resourceUsage一定是正确的,定义为oldResourceUsage。 算法优化后,通过提前计算的方式得到所有队列的resourceUsage,定义为newResourceUsage。 (编辑:通化站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 上周Steam销量排行榜:VR大作《半衰期:爱莉克斯》荣登TOP2
- 搭载高通骁龙XR1平台、Nibiru技术加持的ClassVR二代即将量产
- 数字视觉服务商及项目集成商齐聚广州,2020亚洲VR&AR博览会
- 彭博社报道:AR初创公司Magic Leap欲以超100亿美元售价寻求
- Python数据分析-看了这篇文章,数据清洗你也就完全掌握了
- 《铁甲飞龙》发布25周年!系列VR新作《Voyage Record》发布
- 打造全球智慧样板 思科智慧城要在广州番禺筑巢引凤!
- Facebook正在测试与Oculus账户之间的关联功能
- 对于5G网络安全威胁的解决方案
- 卡内基梅隆大学研究团队推出全新VR触觉解决方案“Wireality