单机资源管理
单机资源管理
大量的任务实例在物理机器上实际运行时,需要单机上的隔离保护机制,以有效保障不同任务对物理资源的需求,确保高低优先级不要互相影响。同时还需要保护物理机器,避免进入过载状态,保障整机的可用性。资源高压力下的 SLA 保障一直以来是学术界和工业界发力的方向,诸如 Borg、Heracles、autoscaler 等开源探索,都假设在资源冲突时,无条件向在线业务倾斜,离线业务可以随时被牺牲。但是,离线内部的 AppMaster、实时、准实时等业务也有强 SLA 需求,不能随意牺牲。对此,学术界和工业界尚无深入思考和实践,我们需要摸着石头过河,创造适合我们自己的道路。
传统的基于磁盘文件的 Shuffle 方式,在机械硬盘上有明显的碎片读问题,严重影响性能与稳定性。Spark External Shuffle Service 虽然做了一些改进,但是引入了很大的 overhead,在部分作业上得不偿失。一些工业界和学术界的工作提出了通过聚合 Partition 数据的方式达到极致性能,但缺少异常状况下的处理方案,稳定性有很大缺失。