CN106302628B - Arm架构网络集群中计算资源的统一管理调度方法 - Google Patents

Arm架构网络集群中计算资源的统一管理调度方法 Download PDF

Info

Publication number
CN106302628B
CN106302628B CN201511000707.3A CN201511000707A CN106302628B CN 106302628 B CN106302628 B CN 106302628B CN 201511000707 A CN201511000707 A CN 201511000707A CN 106302628 B CN106302628 B CN 106302628B
Authority
CN
China
Prior art keywords
global
local
scheduling
layer
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201511000707.3A
Other languages
English (en)
Other versions
CN106302628A (zh
Inventor
张京梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dian Zan Science And Technology Ltd
Original Assignee
Beijing Dian Zan Science And Technology Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Dian Zan Science And Technology Ltd filed Critical Beijing Dian Zan Science And Technology Ltd
Priority to CN201511000707.3A priority Critical patent/CN106302628B/zh
Publication of CN106302628A publication Critical patent/CN106302628A/zh
Application granted granted Critical
Publication of CN106302628B publication Critical patent/CN106302628B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种ARM架构网络集群中计算资源的统一管理调度方法,包括以下步骤:在虚拟层和物理层之间设置有一个全局容器层,所述全局容器层用于拦截虚拟层与物理层之间的系统事件,并重定向到本地或者远程节点的物理层;通过一个可配置的全局调度器,在集群层面把应用对应的进程加入到某个节点上的操作系统内核调度队列中,或者从队列中删除该进程,所述可配置的全局调度器不改变操作系统内核中已有的对本地的资源调度。利用单一系统镜像的方法,使得现有应用无需修改,就可以通过现有Linux操作系统对SMP架构的支持,充分利用多个ARM服务器上的计算资源,提高应用在ARM服务器网络集群上的运行性能,可用性和可扩展性。

Description

ARM架构网络集群中计算资源的统一管理调度方法
技术领域
本发明属于计算资源的统一管理与调度方法,具体地涉及一种基于ARM架构的网络集群中计算资源的统一管理与动态调度方法。
背景技术
业界一直在寻找基于ARM的系统级新品(SoC)作为英特尔x86架构芯片数据中心中的替代品。英国的ARM公司只是负责设计低功耗芯片,然后授权像三星、高通这样的设计制造商。如今,ARM芯片已经入驻了移动设备市场,启动大部分芯片被应用到智能手机和平板电脑中。现在,ARM公司正在开发64位架构的芯片并且正在寻找制造商将这种高效的SoC芯片设计到数据中心中,这种数据中心更有利于横向扩展,如HPC、网格计算和数据分析所使用的服务器,刺激已经吸引了很多的芯片制造商加入,如高通、超微、Broadcom和Cavium等。
随着云计算、大数据等行业的发展,越来越多的数据中心被建立起来,他们需要更有效的方式来为数据中心节省成本,像Facebook、谷歌和亚马逊公司的数据中心都快速的征兆,他们也在寻找技术,帮助他们降低运营和子产品成本。通过与ARM架构的合作,提升每美元在数据中心的价值。
相对于英特尔主导的X86架构,ARM架构的最大优势在于两点:低功耗与低成本。也就是说ARM架构在价格和性能之比与能耗和性能之比这两方面非常出众,而且价格和能耗也是构建一个云计算中心非常重要的两个因素,因为在一个云计算中心中会有海量的服务器,由于其巨大的规模,使其不论在服务器的购置成本,还是在能耗方面,都开支很大。
由于数据中心里有1/3的支出都用于电费开支,企业对低功耗服务器的需求比较迫切,这也使得近年来英特尔和AMD开始关注低功耗服务器芯片的研发,甚至与一些企业用户联合研制基于移动芯片如Atom的服务器。ARM在这方面的优势极为明显,一般是x86芯片的五分之一。
在过去的十几年内,无论是高端科学计算、还是信息服务,集群系统已经成为主流计算平台。在集群之上产生了许多通用型分布式计算框架(比如Hadoop)和专用的科学计算分布式计算框架(比如BONIC)。
X86架构和ARM架构最根本的区别在于处理器指令集的不同,X86架构基于所谓的复杂指令集(CISC)系统,而ARM架构基于精简指令集(RISC)系统。在同样的指令执行密度下,结合缓存和总线设计优化,X86架构下实际指令执行能力可以达到ARM架构的3~5倍。因此,简单采用1对1 的方式用ARM处理器代替X86处理器(比如同样都是4核,主频均为2.4GHz),在减少功耗的同时也带来了性能的下降。
现有的集群计算框架包括了通用型分布式计算框架(比如Hadoop)和专用的科学计算分布式计算框架(比如BONIC),这些框架需要重新开发计算模式(比如Hadoop的MapReduce),或者重新使用MPI等底层技术开发专用集群分布式计算系统(比如BONIC)。现有的单节点应用无法直接利用这些分布式计算框架带来的便利,比如高可用性(HighAvailability)和可扩展性(Scalability)。
发明内容
针对上述技术问题,本发明旨在提供一种基于ARM架构的网络集群中计算资源的统一管理与动态调度方法,利用单一系统镜像的方法,使得现有应用无需修改,就可以通过现有Linux操作系统对SMP架构的支持,充分利用多个ARM服务器上的计算资源,提高应用在ARM服务器网络集群上的运行性能,可用性和可扩展性。
为达到上述目的,本发明的技术方案是:
一种ARM架构网络集群中计算资源的统一管理调度方法,其特征在于,包括以下步骤:
S01:在虚拟层和物理层之间设置有一个全局容器层,所述全局容器层用于拦截虚拟层与物理层之间的系统事件,并重定向到本地或者远程节点的物理层;
S02:通过一个可配置的全局调度器,在集群层面把应用对应的进程加入到某个节点上的操作系统内核调度队列中,或者从队列中删除该进程,所述可配置的全局调度器不改变操作系统内核中已有的对本地的资源调度。
优选的,所述步骤S01包括将每个节点上的全局容器层关联到一个映射接口链接器和一个输入/输出链接器,虚拟层通过映射接口链接器把相应的系统调用请求发送到全局容器层,全局容器层根据相应的调度管理把请求重定向到本地或者远程的输入/输出链接器,每个节点上的输入/输出链接器把请求发送到相应的物理驱动。
优选的,所述物理驱动包括磁盘、物理内存和网络设备。
优选的,所述全局调度器包括本地探测模块、本地分析模块和全局调度管理器;所述本地探测模块:负责调用操作系统内核API收集系统信息;
所述本地分析模块:负责收集来自本地探测模块的数据,对本地资源使用情况进行分析,并评估当前本地系统资源使用情况,将异常资源状态汇报到全局调度管理器;
所述全局调度管理器:运行在集群的所有节点上,拥有集群资源状态的全局视图,与节点之间交换状态信息,同时负责节点之间进程的分配和集群层面的资源负载均衡,当本地分析模块报告资源使用情况超出阈值时,全局调度管理器根据调度策略和集群全局资源使用情况,决定新的计算任务的分配和计算任务的迁移,同时设置检查点。
优选的,所述全局调度管理器通信方式为P2P ,用json格式交换节点间的状态信息。
与现有技术相比,本发明的有益效果是:
1、基于ARM计算服务器的网络集群提供了一个替代X86服务器的更高能耗比的方案,本发明可以让已有应用在不需要重新开发的情况下,充分利用操作系统对SMP架构的优化支持,在ARM集群上提高应用的运行性能,并且提供了高可靠性和可扩展性。
2、该方法基于全局容器的ARM网络集群单一系统镜像模块化架构,可配置的全局资源动态调度方法和架构,对所有计算资源(处理器,内存,磁盘)实行全局统一管理并进行高效的动态调度,从而提供一个相当于对称多处理器(SMP)架构上的单机Linux操作系统的开发和运行环境,具有低成本、高性能、低耗电的特性。
附图说明
图1为本发明ARM架构网络集群中计算资源的统一管理调度方法的跨操作系统的全局容器;
图2为本发明ARM架构网络集群中计算资源的统一管理调度方法的全局调度分层架构图;
图3为本发明ARM架构网络集群中计算资源的统一管理调度方法的全局调度调用序列图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式以及附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
本发明的技术方案主要包括两个方面:
1)对Linux操作系统内核的修改
如图1所示,现代操作系统(以Linux为例)从逻辑上可以分为两层:虚拟层和物理层。虚拟层提供了应用开发接口的实现和资源的虚拟化。物理层提供了设备的访问(比如磁盘,网卡,物理内存等)。
对操作系统内核的修改体现在增加了一个全局容器层,它位于虚拟层和物理层之间。所有虚拟层和物理层之间的系统事件将被拦截并被重定向到本地或者远程节点的物理层,从而实现了资源的分布式访问。
在每个节点上的全局容器被关联到两个链接器:一个映射接口链接器和一个输入/输出链接器。
操作系统的虚拟层,包括文件系统/虚拟内存管理/进程管理等通过映射接口链接器把相应的系统调用请求发送到全局容器,全局容器根据相应的调度管理把请求重定向到本地或者远程的输入/输出链接器,每个节点上的输入/输出链接器把请求发送到相应的物理驱动,包括了磁盘管理/物理内存管理和其他设备驱动等,从而实现了对本地或远程的计算资源的透明访问,这些资源包括了磁盘,物理内存和网络设备等。
2)一个可配置的全局调度器。
可配置的全局调度器不改变Linux内核当中已有的对本地的资源调度,它在集群层面把应用对应的进程加入到某个节点上的Linux内核调度队列中,或者从队列中删除该进程。
如图2、3所示,全局调度器分为三个逻辑模块,分别是本地探测模块,本地分析模块和全局调度管理器。
本地探测模块:负责调用操作系统内核API收集系统信息,一个节点上可能运行有多个探查模块,分别对应不同的计算资源,比如CPU,内存,网络,磁盘等。
本地分析模块:负责收集来自探测模块的数据,对本地资源使用情况进行分析,并评估当前本地系统资源使用情况以发现异常资源状态并汇报到全局调度管理器。一个节点上可以运行多个分析模块,每个分析模块关联到一组探测模块,比如一个磁盘分析器可以关联到两个磁盘探测模块,分别探测磁盘的使用容量情况和当前磁盘读写速度。
全局调度管理器:拥有集群资源状态的全局视图,运行在集群的所有节点上,以P2P的方式进行通信,用json格式交换节点之间的状态信息。同时负责节点之间进程的分配和集群层面的资源负载均衡。每个全局调度器关联到多个本地的分析模块,当分析模块报告资源使用情况超出阈值时,全局调度器根据调度策略和集群全局资源使用情况,决定新的计算任务的分配和计算任务的迁移,同时根据需要设置检查点。
集群内部资源调度节点之间交换信息基于标准JSON格式,示例如下:
{
"schedulers": {
"scheduler": {
"nodes":"node1,node2",
"name":"cluster_global_scheduler1",
"profile":"default_scheduling_manager",
"analyzers":[
{" analyzer":{
"profile":"disk_local_analyzer",
"name":"disk_analyzer1",
"monitors":[
{"profile":"disk_usage_probe", "name":"probe1", "timer":"5"},
{"profile":"disk_iospeed_probe", "name":"probe2", "timer":"1"},
]
},
{" analyzer":{
"profile":"memory_local_analyzer",
"name":"mem_analyzer1",
"monitors":[
{"profile":"phy_mem_usage_probe", "name":"probe3", "timer":"5"},
{"profile":"vir_mem_usage_probe", "name":"probe4", "timer":"1"},
]
}
]
}
}
}
}
本发明基于ARM计算服务器的网络集群提供了一个替代X86服务器的更高能耗比的方案,本发明可以让已有应用在不需要重新开发的情况下,充分利用操作系统对SMP架构的优化支持,在ARM集群上提高应用的运行性能,并且提供了高可靠性和可扩展性。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (3)

1.一种ARM架构网络集群中计算资源的统一管理调度方法,其特征在于,包括以下步骤:
S01:在虚拟层和物理层之间设置有一个全局容器层,所述全局容器层用于拦截虚拟层与物理层之间的系统事件,并重定向到本地或者远程节点的物理层;
S02:通过一个可配置的全局调度器,在集群层面把应用对应的进程加入到某个节点上的操作系统内核调度队列中,或者从队列中删除该进程,所述可配置的全局调度器不改变操作系统内核中已有的对本地的资源调度;
所述步骤S01包括将每个节点上的全局容器层关联到一个映射接口链接器和一个输入/输出链接器,虚拟层通过映射接口链接器把相应的系统调用请求发送到全局容器层,全局容器层根据相应的调度管理把请求重定向到本地或者远程的输入/输出链接器,每个节点上的输入/输出链接器把请求发送到相应的物理驱动;
所述物理驱动包括磁盘、物理内存和网络设备。
2.根据权利要求1所述的ARM架构网络集群中计算资源的统一管理调度方法,其特征在于,所述全局调度器包括本地探测模块、本地分析模块和全局调度管理器;所述本地探测模块:负责调用操作系统内核API收集系统信息;
所述本地分析模块:负责收集来自本地探测模块的数据,对本地资源使用情况进行分析,并评估当前本地系统资源使用情况,将异常资源状态汇报到全局调度管理器;
所述全局调度管理器:运行在集群的所有节点上,拥有集群资源状态的全局视图,与节点之间交换状态信息,同时负责节点之间进程的分配和集群层面的资源负载均衡,当本地分析模块报告资源使用情况超出阈值时,全局调度管理器根据调度策略和集群全局资源使用情况,决定新的计算任务的分配和计算任务的迁移,同时设置检查点。
3.根据权利要求2所述的ARM架构网络集群中计算资源的统一管理调度方法,其特征在于,所述全局调度管理器通信方式为P2P ,用json格式交换节点间的状态信息。
CN201511000707.3A 2015-12-29 2015-12-29 Arm架构网络集群中计算资源的统一管理调度方法 Active CN106302628B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511000707.3A CN106302628B (zh) 2015-12-29 2015-12-29 Arm架构网络集群中计算资源的统一管理调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511000707.3A CN106302628B (zh) 2015-12-29 2015-12-29 Arm架构网络集群中计算资源的统一管理调度方法

Publications (2)

Publication Number Publication Date
CN106302628A CN106302628A (zh) 2017-01-04
CN106302628B true CN106302628B (zh) 2019-12-27

Family

ID=57650538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511000707.3A Active CN106302628B (zh) 2015-12-29 2015-12-29 Arm架构网络集群中计算资源的统一管理调度方法

Country Status (1)

Country Link
CN (1) CN106302628B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11861405B2 (en) 2020-04-29 2024-01-02 Kyndryl, Inc. Multi-cluster container orchestration
CN112039963B (zh) * 2020-08-21 2023-04-07 广州虎牙科技有限公司 一种处理器的绑定方法、装置、计算机设备和存储介质
CN113075994B (zh) * 2021-04-26 2023-05-30 华南理工大学 面向x86和arm混合云计算的节能调度系统、方法和存储介质
CN113867941A (zh) * 2021-09-09 2021-12-31 苏州浪潮智能科技有限公司 一种应用于服务器集群的任务管理系统
CN115002189A (zh) * 2022-04-21 2022-09-02 上海蓝箭鸿擎科技有限公司 一种面向航天器的高分离度分布式系统软件架构

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751284A (zh) * 2009-12-25 2010-06-23 北京航空航天大学 一种分布式虚拟机监控器的i/o资源调度方法
CN103188345A (zh) * 2013-03-01 2013-07-03 北京邮电大学 分布式动态负载管理系统和方法
CN104461740A (zh) * 2014-12-12 2015-03-25 国家电网公司 一种跨域集群计算资源聚合和分配的方法
US9170928B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation I/O scheduling and load balancing across the multiple nodes of a clustered environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101751284A (zh) * 2009-12-25 2010-06-23 北京航空航天大学 一种分布式虚拟机监控器的i/o资源调度方法
CN103188345A (zh) * 2013-03-01 2013-07-03 北京邮电大学 分布式动态负载管理系统和方法
US9170928B1 (en) * 2013-12-31 2015-10-27 Symantec Corporation I/O scheduling and load balancing across the multiple nodes of a clustered environment
CN104461740A (zh) * 2014-12-12 2015-03-25 国家电网公司 一种跨域集群计算资源聚合和分配的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Cluster的单系统映象分布式并行操作系统的研究与实现;周海芳等;《计算机应用研究》;19990728(第07期);第22-24页 *

Also Published As

Publication number Publication date
CN106302628A (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
CN107430528B (zh) 机会性资源迁移以优化资源放置
US10325343B1 (en) Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
CN106302628B (zh) Arm架构网络集群中计算资源的统一管理调度方法
CN106489251B (zh) 应用拓扑关系发现的方法、装置和系统
US8949847B2 (en) Apparatus and method for managing resources in cluster computing environment
US10057187B1 (en) Dynamic resource creation to connect client resources in a distributed system
US20130290957A1 (en) Efficient execution of jobs in a shared pool of resources
Di et al. Characterizing and modeling cloud applications/jobs on a Google data center
CN104407910A (zh) 一种虚拟化服务器性能的监测方法及系统
US9229777B2 (en) Dynamically relocating workloads in a networked computing environment
KR20100092850A (ko) 클라우드 컴퓨팅 환경에서의 리소스 분배 장치 및 그 방법
US10616134B1 (en) Prioritizing resource hosts for resource placement
US10154091B1 (en) Deploying infrastructure units according to resource hosting constraints
Dai et al. Energy-efficient virtual machine placement in data centers with heterogeneous requirements
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
US10812408B1 (en) Preventing concentrated selection of resource hosts for placing resources
Yang et al. High-performance docker integration scheme based on OpenStack
Ekane et al. FlexVF: Adaptive network device services in a virtualized environment
US11336519B1 (en) Evaluating placement configurations for distributed resource placement
CN110908783A (zh) 一种云数据中心虚拟机的管控方法、系统及设备
US20220383219A1 (en) Access processing method, device, storage medium and program product
Usman et al. A conceptual framework for realizing energy efficient resource allocation in cloud data centre
WO2023281503A1 (en) System and method of multilateral computer resource reallocation and asset transaction migration and management
Rao et al. Scheduling microservice containers on large core machines through placement and coalescing
Lim et al. An intelligent residual resource monitoring scheme in cloud computing environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant