Volcano:带你体验容器与批量计算的碰撞的火花
摘要: 今年(2020)7月初,Volcano 发布了1.0版本。1.0做为里程碑版本,在Volcano整个规划中起到了承上启下的作用。此次发布的1.0版本支持了GPU共享,作业动态扩缩容,批任务抢占等功能,并主要加强了稳定性;同时,在1.0发布后 Volcano也在线下讨论了分布式调度系统的未来发展的趋势等。 历史 在分析趋势之前,我们先看一下分布式调度系统的历史。早期分布式调度系统以批处理系统为主,例如九几年的LSF/SGE/PBS等,这些批处理系统大规划的使用在HPC领域,而且对作业级的调度进行大量的研究工作;后续由批处理系统延伸出多集群、多组织资源共享的需求,便成了网络计算。 网络计算与云计算最大的不同是:网络计算强调多组织的资源共享,而云计算强调云厂商的集中式支持;这也是云计算成为主流的主要原因:多组织之间共享需要完备的协议和足够的安全支持,而云服务仅需要对用户提供相应服务和安全,并不需要在多个云厂商之间进行共享;随着开源社区的发展,再将应用接口逐步统一,e.g. Kubernetes。Hadoop出现后,不仅推动了分布式调度系统中对数据的处理,同时也推动了开源软件的生态。2012和2014是两个重要的节点,Hadoop将资源管理层与领域框架层分开,随后的领域框架也有机会构建自己的生态,e.g. Spark;同时,将资源管理层与领域框架分开也被广泛认可。