Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >随机任务在云计算平台中能耗的优化管理方法

随机任务在云计算平台中能耗的优化管理方法

作者头像
jiewuyou
发布于 2022-09-23 13:49:41
发布于 2022-09-23 13:49:41
6370
举报
文章被收录于专栏:数据人生数据人生

本文将介绍文章“随机任务在云计算平台中能耗的优化管理方法”。

原文链接:http://pan.baidu.com/s/1jGp5mBG

参考文献:Min-Min算法和Max-Min算法

摘要

背景

针对云计算系统在运行过程中由于计算节点空闲而产生大量空闲能耗,以及由于不匹配任务调度而产生大量“奢侈”能耗的能耗浪费问题,本文提出一种通过任务调度方式的能耗优化管理方法。

  1. 高能耗是云计算系统最为严重的问题之一
  2. 云计算系统中,除了处理任务时产生的必要能耗开销,其运行过程中还存在能耗浪费的现象

解决方案

  1. 用排队模型对云计算系统进行建模,分析云计算系统的平均响应时间和平均功率,建立云计算系统的能耗模型;
  2. 提出基于大服务强度和小执行能耗的任务调度策略,分别针对空闲能耗和“奢侈”能耗进行优化控制。基于该调度策略,设计满足性能约束的最小期望执行能耗调度算法ME3PC (minimum expectation execution energy with performance constraints).

结果

大量实验表明,本文提出的能耗优化管理方法在保证其性能的前提下,大幅度降低了云计算系统的能耗

下一步工作

将研究在给定和真实的云计算系统体系结构下,如何根据任务到达率的大小和分布规律,决策系统中应该处于运行状态的计算机个数,结合关闭/休眠技术和电压动态调整技术,进一步对云计算系统的能耗进行优化控制,并且将研究的理论成果在实际云平台上进行评测,以验证其正确性

能耗

能耗分类

  1. 空闲能耗:由于计算任务达到的随机性,使得单位时间内到达的任务量时而稀疏,时而密集,而现有的云计算系统通常是长时间处于开启状态,等待计算任务的到达。但是当计算机处于空闲状态时,其空闲功率会占峰值功率的50%~60%。因此,云计算系统会产生大量的空闲能耗。
  2. 奢侈能耗:由于云计算系统中通常包含不同的计算机,实验结果表明,不同计算机对不同计算任务的执行功率和响应时间一般不同。例如,同一图像处理任务分别在CPU 和GPU 上的执行功率和响应时间不同,任务执行完成后,产生的总能耗也不同。因此,当未考虑能耗因素时,不匹配的调度方式会造成:本来用较低能耗就能解决问题,但却用了较高能耗。本文把由于任务的不合理调度而浪费的能耗称为“奢侈”能耗。
  3. 执行能耗:执行能耗可定义为:任务在计算机上运行时,指令和数据驱动计算机硬件运转所产生的能耗

传统节能的方法

  1. 关闭/休眠技术:最大限度的降低空闲能耗,缺点是当使用计算机时需要较长的启动时间,导致系统性能一定程度的下降
  2. 电压动态调整技术:为了便于研究,本文假定执行功率为任务整个执行过程的平均耗电功率。根据CMOS 电路动态功率公式Pdynamic~αCV2f 可知,动态功率与电压的平方成正比。因此,降低处理器的电压可以降低处理器的动态功率。但该方法的缺点是,随着电压的下降,处理器的性能会随之下降
  3. 虚拟化技术:可实现多个任务在一个计算机的不同虚拟机上运行,通过提高计算机资源利用率,以减少所需计算机数量的方式降低能耗。虚拟化技术实现了计算机资源从物理实体向虚拟实体的迁移,提高了计算机资源的利用率。但虚拟化,特别是深层次的虚拟化本身也要付出高昂的效能代价,因为虚拟化技术通过对底层硬件部件到高层服务应用的层层虚拟,每一级的虚拟都造成了效能的损失。

任务和系统模型

随机任务模型

  1. 根据任务对计算机资源的需求特征,可分为计算密集型、通信密集型、数据密集型和I/O密集型等。
  2. 随机到达云计算系统的任务可以用三元组(T,Λ,W)表示,第i类任务可以表示为(ti,λi,wi)。ti表示第i类任务,λi表示ti任务单位时间平均到达数量,wi表示ti任务的计算量

云计算系统模型

  1. 现有云计算平台的硬件基础设施通常是架构在大规模廉价服务器集群之上,系统中的不同服务器或计算机通常是由不同公司生产,有不同的硬件配置。这些计算机不仅有不同的功能和性能,其耗电的功率也不同,具体可表现为:功能异构、性能异构、空闲功率和峰值功率异构、执行功率异构;
  2. 云计算系统可以定义为六元组:(C,Pbusym×n,Pidle,Ppeak,Um×n,S)

云计算系统和能耗分析

调度模型

云计算系统任务调度的过程可描述为:不同类型任务以不同的速率随机到达系统,调度器则根据任务类型、任务到达时机、系统中所有计算机当前的执行状态等信息对任务进行合理映射,最后调度执行 目的是降低系统运行过程中产生的空闲能耗和执行能耗 本文暂不考虑云计算系统中与通信相关的能耗和时间开销

问题描述

根据2.1节和2.2节的分析,并结合能耗的计算公式E=P*T,则任意一个任务从进入云计算系统到执行完成离开所产生的期望能耗可表示为

在给定任务类型、确定云计算系统体系结构的条件下,只有调度概率P ij 的值是根据调度策略的不同而动态变化的,云计算系统的期望能耗与任务和计算机之间的调度策略有关

能耗优化管理

实质

根据任务的到达时间和类型、不同计算机的功率和性能、计算机实时的负载情况,对任务进行合理调度,使系统在满足一定性能的条件下,降低云计算系统运行过程中产生的空闲和执行能耗

假设

  1. 根据任务对计算机资源的需求特征,可分为计算密集型、通信密集型、数据密集型和I/O密集型等。不同类型任务要处理的数据形式和问题规模一般不同。为了便于研究,本文假定同一类型任务的计算量相同
  2. 由于用户服务请求的自主性、地域的分布性,导致不同用户提交的任务之间通常没有优先约束关系,即任务是独立的
  3. 假设对于系统中的每个计算机,任务的到达间隔相互独立,且服从同一参数的负指数分布
  4. 每个计算机对不同任务的服务时间也相互独立,且服从同一参数的负指数分布
  5. 到达间隔时间与服务时间相互独立
  6. 不同类计算任务以不同的概率调度到不同的计算机上

性能约束的最小期望执行能耗调度算法ME3PC(minimum expectation execution energy with performance constraints)

调度器针对不同的情况,采用不同的调度策略,详情请参考第3章

  1. 根据负载情况,将节点分在三个队列:Clight、Cnormal、Chigh,
  2. 如果Clight不为空,则优先考虑集合Clight中的计算机,并采用基于大服务强度的任务调度策略,使对tCi类任务有大服务强度的计算机cCj有较大的调度概率,其中j∈Clight
  3. Clight为空,Cnormal不为空,采用基于较小执行能耗的调度策略,使对tCi类任务有较小执行能耗的计算机cCj有较大的调度概率,其中j∈Cnormal
  4. Clight、Cnormal为空,Cnormal不为空,即所有计算机都处于重载状态。这样,在任务调度时,把任务调度到负载最小的计算机上

定理满足性能约束的最小执行能耗调度算法ME3PC的最坏时间复杂度为O(3mn),其中,m为任务的类型数,n为云计算系统中计算机的个数。

实验

实验环境的设置

为了验证ME3PC算法的有效性,本文使用Matlab 的离散事件模拟工具进行模拟实验。实验环境涉及的相关参数以及取值或取值范围见下表。

        实验中任务分为4 类。第i类任务的到达间隔时间服从参数为1/λi的负指数分布。该间隔时间可通过负指数分布函数exprnd(1/λi)来生成,其中,λi的值在[10,15]区间随机生成。根据任务的到达间隔,利用函数cumsum(⋅)可得到第i 类每个随机任务到达系统的时刻。最终可确定所有6000个任务到达系统的时刻。计算机cj对ti类任务的服务时间服从参数为1/μij的负指数分布,同样,服务时间也通过函数exprnd(1/μij)来生成,参数μij的值在[1,5]区间随机生成 为了让模拟系统的运行存在平衡状态,需要满足条件

实验与结果分析

为了进一步说明ME3PC算法的有效性,本文又设计了最小执行功率调度算法(minimum execution power,简称MEP),并将ME3PC与MEP、经典MIN-MIN 算法进行比较。其中,MEP的算法思想是:在任务调度时,将任务调度到执行功率最小的机器上,而不考虑该计算机当前的负载情况以及执行该任务的服务时间。MIN-MIN是针对独立任务的动态调度算法,广泛应用于同构或异构分布式并行计算环境,有良好的调度性能。本文分别从系统执行任务的平均能耗、任务的平均响应时间、系统的平均功率、负载平衡和可扩展性这5个方面对3种算法进行对比分析

        从图2可以看出,采用MEP算法时系统的平均功率最小,ME3PC略大于MEP,MIN-MIN的功率最大,且远大于ME3PC和MEP。分析原因是,MEP算法专注于系统执行功率的优化,任务调度时只将任务调度到执行功率最小的机器上,因此系统平均功率最小,但没有考虑调度的机器性能,因此总体性能最差。MIN-MIN算法则相反,只专注于任务的完成时间,而不考虑能耗、负载平衡等其他因素,因此响应时间最小,但是系统平均功率最大。ME3PC算法则同时考虑了功率和性能因素,虽然系统功率较MEP算法平均增加了6.4%,响应时间比MIN-MIN算法平均增加了5.7%,但是任务在系统中的所产生的能耗却最小,如图4所示。究其原因是:(1)由于ME3PC算法针对空闲或轻载计算机采用了大服务强度优先的调度策略,大大降低了系统中计算机出现空闲的概率,使系统的利用率高于MEP和MIN-MIN。其中,采用ME3PC算法时,系统产生的空闲能耗平均是MEP和MIN-MIN算法的81%和73%,如图5所示。(2)由于优先对空闲和轻载计算机进行调度,最大限度地避免了负载不平衡的发生。因此,ME3PC算法保证了系统的负载平衡,如图6(a)、图6(b)所示。可见,只有同时考虑功率和性能因素才能真正降低云计算系统的能耗。

         从实验结果中,我们发现了一个有趣的现象:当计算机个数为1时,3种算法下的系统平均功率、任务平均响应时间和任务平均能耗自然都相等。但是随着计算机个数的增加,系统执行任务的平均能耗却呈线性下降。当计算机个数为8时,系统执行任务的平均能耗最小。随着计算机个数的继续增加,系统执行任务的平均能耗开始增大,且呈指数级增长。究其原因是:(1)当计算机个数从1增加到8的过程中,任务平均响应时间呈指数级减少(如图3所示),但是系统的平均功率的增势却基本趋于平稳(如图2所示),这导致系统执行任务的平均能耗在该过程中是逐渐降低的,并且由于此时系统平均功率的绝对值较小,因此降低的趋势呈线性。(2)当计算机个数从8增加到128的过程中,任务平均响应时间下降的趋势趋于平缓(如图3所示),但是系统的平均功率的增势却呈指数级增加(如图2所示),这导致系统执行任务的平均能耗在该过程中是逐渐增加的,并且由于此时系统平均功率的绝对值较大,因此增长的趋势呈指数级。由此可见,在等能耗的条件下,计算机个数为8时系统有最好的扩展性。对于实际的云计算系统,如何根据系统的体系结构、任务到达的规律确定系统中应该开启或关闭的机器个数,以及开启或关闭哪些机器进行能耗的优化控制,将作为下一步的研究内容。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《大模型背后的隐形战场:异构计算调度全解析》
CPU作为计算机领域的元老,有着强大的通用性与出色的逻辑控制能力。它就像一位经验丰富的多面手,能够灵活处理各种复杂的控制流和逻辑判断任务,在大模型训练中承担着管理系统资源、协调任务流程等重要职责,为整个训练过程提供稳定可靠的基础支持。
程序员阿伟
2025/06/01
520
《大模型背后的隐形战场:异构计算调度全解析》
「科技·TEG」沉吟至今,生而为云 - 异构FPGA在云端一次算力的升华
1 背景 随着以数据中心为核心的云计算的兴起,传统计算领域不断被蚕食。各大公司纷纷出手,构成形如战国七雄的乱战格局:Amazon、Google、Facebook、Microsoft、阿里、腾讯、百度。 在吃瓜群众眼中,云计算体大量足,实力强劲,于是,以机器学习、物联网、视频、科学计算、金融分析等大数据制造者为首的大量任务在云端构成了长长的计算队列。思科云指数报告指出,预计到2020 年,全球 92% 的数据流量将来自云计算,将从2015 年的每年 3.9 ZB 增长 3.7 倍,到 2020 年达到 14
TEG云端专业号
2023/03/30
3400
「科技·TEG」沉吟至今,生而为云 - 异构FPGA在云端一次算力的升华
并发编程任务调度指南:从算法到优化,打造高性能系统
任务调度是并发编程中的核心问题,合理的调度策略能够显著提升系统性能。本文将深入探讨常见的任务调度算法,如FIFO、优先级调度等,分析其适用场景和优缺点。同时,我们将提供任务调度的实现方案和性能优化建议,并通过可运行的示例代码帮助读者更好地理解这些概念。
连连LL
2025/02/17
1690
并发编程任务调度指南:从算法到优化,打造高性能系统
任务调度与负载均衡在并发编程中的应用!
在现代计算机系统中,尤其是在多核处理器和分布式系统的普及下,任务调度和负载均衡已经成为至关重要的技术。随着计算任务的增多,如何高效地分配资源,避免资源竞争和瓶颈,直接关系到系统的性能和稳定性。无论是在单机环境还是云计算平台,合理的任务调度策略和负载均衡算法都能大大提高系统的吞吐量和响应速度。
bug菌
2025/02/20
1670
任务调度与负载均衡在并发编程中的应用!
探索CPU的调度原理
软件工程师们总习惯把OS(Operating System,操作系统)当成是一个非常值得信赖的管家,我们只管把程序托管到OS上运行,却很少深入了解操作系统的运行原理。确实,OS作为一个通用的软件系统,在大多数的场景下都表现得足够的优秀。但仍会有一些特殊的场景,需要我们对OS进行各项调优,才能让业务系统更高效地完成任务。这就要求我们必须深入了解OS的原理,不仅仅只会使唤这个管家,还能懂得如何让管家做得更好。
元闰子
2022/02/27
9300
操作系统的演变及在云计算的应用
随着现代信息越来越丰富,更多的信息需要被处理及计算,仅仅的单台计算机已经满足不了计算,需要将更多的计算机进行同时计算,对操作系统的要求则越来越高,各种各样云计算的的操作系统也应运而生。
jackwlchen
2020/08/10
1.4K0
操作系统的演变及在云计算的应用
云计算:节能之路
有人把云计算技术视为个人电脑、互联网之后的第三次革新浪潮,认为它即将甚至已经从根本上改变整个信息产业的格局,改变人类使用计算机的习惯和方式,因此云计算技术得到了迅猛发展。但是,它改变世界的同时,自己也需要被改变:由于云计算规模越来越大,它对能源与环境的影响已越来越突出,能效问题是云计算发展道路上必须要跨过的障碍。 在云计算出现之前,想要大量储存和处理数据只能自己搭建服务器系统。这不仅需要很多IT知识,还需要很高的成本,云计算技术的出现改变了这一切。所谓“云服务”,是指通过互联网,让很多用户共享软硬件资源,按
静一
2018/03/23
2.3K0
大厂都是如何对高并发系统做性能优化的?
业务价值->承载高并发->性能优化。 一切的前提是业务价值需要。如果没有足够价值,那可读性才是第一,性能在需要的地方是no.1,但不需要的地方可能就是倒数第一。当下技术框架出来的软件差不到哪去,没有这种及时响应诉求的地方,削峰下慢慢跑就是了。(但工作中常需要在缺少价值的地方着手性能优化。异步,并发编程,逻辑缓存,算法真的会加剧系统的复杂度,得不偿失。如果没那个价值,简单才是王道)。
JavaEdge
2021/10/18
2.3K0
边缘计算中任务卸载研究综述
基金项目:国家自然科学基金青年项目(61802245);上海市“科技创新行动计划”青年科技英才扬帆计划(18YF1408200)
边缘计算
2021/07/01
5K0
边缘计算中任务卸载研究综述
FADU:SSD主控高效能耗管理
文章主要探讨如何通过采用新型节能固态硬盘(SSD)控制器来大幅提高数据中心的整体拥有成本(TCO)。
数据存储前沿技术
2025/02/11
1840
FADU:SSD主控高效能耗管理
Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度
现代互联网数据中心的规模随着应用服务需求的快速增长而不断扩大,但服务器资源利用率却一直很低,导致企业基础设施成本不断上涨。随着云原生技术的发展,混合部署成为了降低成本的一大手段。本文结合华为云云原生团队在混合部署方面的研究和实战,介绍了混合部署的背景、概念、混部技术的设计方案和实际落地情况,以及对未来的计划和展望。
崔秀龙
2022/04/15
1.5K0
Volcano:在离线作业混部管理平台,实现智能资源管理和作业调度
边缘计算资源分配与任务调度优化综述
摘 要 随着物联网和移动终端的迅速发展,边缘计算技术应运而生,通过将计算和存储配置在互联网边缘,处理物联网终端产生的大量数据,应对时延敏感型应用请求。为提高计算资源使用效率,优化性能指标,边缘计算资源分配与任务调度优化问题受到了广泛关注。边缘计算资源的地理分散性、异构性以及对性能、能耗、费用、稳定性等的需求,增加了优化调度的复杂性。通过介绍边缘计算和物联网、云计算协同的系统模型,给出优化的指标、调度模型及其求解算法,包括精确算法、启发式方法及智能优化方法等,归纳典型应用案例,指出有待进一步研究的内容和方向,有助于促进边缘计算的发展。
边缘计算
2021/12/02
3.4K0
边缘计算资源分配与任务调度优化综述
处理器调度一、CPU调度的相关概念三、批处理系统中常用的调度算法四、交互式系统的调度算法五、多级反馈队列调度算法(重点)七、多处理器调度算法设计
一、CPU调度的相关概念 1.1 cpu调度 其任务是控制、协调进程对cpu的竞争,即按一定的调度算法从就绪队列中选择一个进程,把cpu的使用权交给被选中的进程。如果没有就绪进程,系统会安排一个系统空闲进程或idle进程进入cpu运行。 1.2 系统场景 * N个进程就绪、等待上cpu运行 * M个cpu, M>=1 * 需要决策:给哪个进程分配哪一个cpu? 1.3 cpu调度要解决的三个问题 1、按什么原则选择下一个要执行的进程:调度算法 2、何时进行选择:调度时机 3、如何让被选中的进程上cpu中运行
JavaEdge
2018/05/16
2.7K0
操作系统精髓与设计原理--单处理器调度
        在多道程序设计系统里,内存有多个进程,且或者在处理器上运行,或者在等待某种事件的发生(如I/O完成)。当处理器(或组)通过执行某个进程而保持忙状态,则其他的进程处于等待状态。
学徒漠筱歌
2022/07/17
5190
中国如何赢得新一轮超算竞赛?关键在向数据密集型超算转变
各国摩拳擦掌准备多年的“E级超算”(每秒超过一百亿亿次浮点运算),都将集中在2021-2022年计划完成部署。
量子位
2021/11/05
5570
【玩转 GPU】GPU硬件技术:解析显卡、显存、算力等核心要点、实战案例与应用场景、优化空间
随着人工智能、大数据和高性能计算的发展,GPU技术在现代计算领域发挥着举足轻重的作用。本文将从创新性、实用性、可借鉴性、代码规范度以及与云计算能力的结合等角度,深入解析GPU硬件技术的核心要点。
Java廖志伟
2023/06/01
1.8K0
产品|智能仓储AGV调度仿真优化平台
随着我国社会主义市场经济的不断发展,以及互联网技术的普及,我国电子商务等产业迎来了新的发展高峰。为减少订单履行成本,满足客户多样化需求,增强核心竞争力,主流电商企业纷纷加大对仓储物流的投资力度,这为仓储业的发展带来了广阔的发展空间。
用户1621951
2020/05/20
2.7K1
一篇文章带你「重新认识」线程上下文切换怎么玩儿
当一个计算机是多道程序设计系统时,会频繁的有很多进程或者线程来同时竞争 CPU 时间片。当两个或两个以上的进程/线程处于就绪状态时,就会发生这种情况。如果只有一个 CPU 可用,那么必须选择接下来哪个进程/线程可以运行。操作系统中有一个叫做 调度程序(scheduler) 的角色存在,它就是做这件事儿的,该程序使用的算法叫做 调度算法(scheduling algorithm) 。
cxuan
2020/02/26
6430
一篇文章带你「重新认识」线程上下文切换怎么玩儿
【Reinforcement Learning】强化学习下的多级反馈队列(MFQ)算法
在强化学习(Reinforcement Learning, RL)相关背景下,多级反馈队列(Multilevel Feedback Queue, MFQ)算法可以作为调度问题的求解框架,用于优化资源分配和任务调度策略。在这种情况下,MFQ的概念和机制可以被调整为一种面向学习的形式,其中调度策略通过强化学习算法来动态优化。
不去幼儿园
2024/12/03
2440
【Reinforcement Learning】强化学习下的多级反馈队列(MFQ)算法
操作系统学习笔记-单处理器调度
短程调度准则(Short-Tem Scheduling Criteria)从两个维度来划分:
花猪
2022/02/16
9400
操作系统学习笔记-单处理器调度
推荐阅读
相关推荐
《大模型背后的隐形战场:异构计算调度全解析》
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档