【论文阅读】Energy Efficient Real-time Task Scheduling on CPU-GPU Hybrid Clusters

本文主要是介绍【论文阅读】Energy Efficient Real-time Task Scheduling on CPU-GPU Hybrid Clusters,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Energy Efficient Real-time Task Scheduling on CPU-GPU Hybrid Clusters
  • 出处:2017IEEE Xplore 基于CPU-GPU混合集群的高效实时任务调度

  • 主要工作:通过动态电压和频率缩放研究了新兴CPU-GPU混合集群的节能问题。

    • 首次分析GPU特定的DVFS模型。

    • 设计了一种新的调度算法:1)利用GPU DVFS来节省能源而不违反任务期限;2)有效将一组任务打包到多个服务器上,以减少动态能耗;3)智能调节DVFS设定,更有效地节省能源。

    • 仿真测试,可以节省多达36%的能耗。

  • 做出的假设:集群中只有一种GPU/CPU,但不同服务器可能有不同数量的GPU-CPU对,且每个任务只能分配给一个CPU-GPU对,每个CPU-GPU对一次只能执行一个任务。

  • 目标:最小化在截止日期限制下处理一系列实时任务的总能耗。考虑了对任务执行时间和功耗有显著影响的三个缩放变量:GPU核心电压、CPU核心频率、GPU内存频率。

  • 方法:通过数学优化计算每个任务的合适电压/频率设置,并使用启发式调度算法将多个任务分配给集群。

  • 数据中心常用的两种节能技术:

    • DVFS:dynamic voltage and frequency scaling(动态电压和频率缩放)
    • DRS:dynamic resource sleep(动态资源休眠)

这篇关于【论文阅读】Energy Efficient Real-time Task Scheduling on CPU-GPU Hybrid Clusters的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816343

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Java进程CPU使用率过高排查步骤详细讲解

《Java进程CPU使用率过高排查步骤详细讲解》:本文主要介绍Java进程CPU使用率过高排查的相关资料,针对Java进程CPU使用率高的问题,我们可以遵循以下步骤进行排查和优化,文中通过代码介绍... 目录前言一、初步定位问题1.1 确认进程状态1.2 确定Java进程ID1.3 快速生成线程堆栈二、分析

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Go使用pprof进行CPU,内存和阻塞情况分析

《Go使用pprof进行CPU,内存和阻塞情况分析》Go语言提供了强大的pprof工具,用于分析CPU、内存、Goroutine阻塞等性能问题,帮助开发者优化程序,提高运行效率,下面我们就来深入了解下... 目录1. pprof 介绍2. 快速上手:启用 pprof3. CPU Profiling:分析 C