iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >编程语言中任务调度的并行算法是什么
  • 346
分享到

编程语言中任务调度的并行算法是什么

2023-06-02 23:06:07 346人浏览 八月长安
摘要

编程语言中任务调度的并行算法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果给定一批任务,比如有500个任务,需要在尽可能快的时间内做完。如果串行是肯定不行的。我们

编程语言中任务调度的并行算法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

如果给定一批任务,比如有500个任务,需要在尽可能快的时间内做完。

如果串行是肯定不行的。我们可以考虑并行策略,但是开了并行,怎么能够充分利用资源比较好呢。

这个问题在多年前做数据迁移的时候,逼得没办法,当时用shell写了一个算法,可以参考这一篇。

海量数据迁移之使用shell启用多个动态并行(r2笔记81天)

但是在自动化运维平台中,我希望这个操作能够更加通用,所以在程序端实现是极好的。

我先打算用Java来实现,然后转义为python版本,已经写了大半部分,还没有调试好,就先不放出来了,我把我的思路说一下。

假设有下面的一些任务,第一位是序号,第二位是任务需要花费的时间。

假设分为4个并行,即4组执行任务,每组执行任务该如何分配呢。

(1, 10),

(2, 30),

(3, 20),

(4, 50),

(5, 60),

(6, 30),

(7, 20),

(8, 10),

(9, 20),

(10,50),

所以放眼任务调度的方向上,我们都希望并行,但是绝大多数情况下,并行的效果其实不好,一种最重建的情况就是前半段在并行,后半段基本在等待。

假设我们按照如下的思路来完成,前四个元素是每组的一个元素,然后每组查看累计值的最小值,然后依次加入后续的元素。按照这种方法,得到的任务安排如下:

1 10 60 70

2 30 20 20 70

3 20 30 50 100

4 50 10 60

明显这种方法有缺点,因为我们无法预知后续元素的大小,所以任务分配很不均匀。

所以我们需要排序,按照最大值,最小值的方式排序。

这样一来,最大的4个元素分别位列每组的第一个元素。然后依次取得每组累计值的最小值,加入后续的元素。

分配情况如下:

1 50 20 70

2 60 20 80

3 50 20 10 80

4 30 30 10 70

明显好很多。

关于编程语言中任务调度的并行算法是什么问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 编程语言中任务调度的并行算法是什么

本文链接: https://www.lsjlt.com/news/231713.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 编程语言中任务调度的并行算法是什么
    编程语言中任务调度的并行算法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如果给定一批任务,比如有500个任务,需要在尽可能快的时间内做完。如果串行是肯定不行的。我们...
    99+
    2023-06-02
  • React中的任务调度算法是什么
    这篇文章主要讲解了“React中的任务调度算法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“React中的任务调度算法是什么”吧!React中的任务池...
    99+
    2022-10-19
  • 在Go语言中如何解决并发任务的调度算法优化问题?
    在Go语言中如何解决并发任务的调度算法优化问题?Go语言作为一门旨在解决并发编程问题的语言,提供了丰富的并发特性和机制。然而,在实际应用中,我们常常遇到需要优化并发任务调度的问题。本文将介绍一种优化并发任务调度算法的方法,并给出具体的代码示...
    99+
    2023-10-22
    并发任务调度 Go语言并发优化 调度算法优化
  • 如何处理Go语言中的并发任务的任务调度和任务执行报告问题?
    如何处理Go语言中的并发任务的任务调度和任务执行报告问题?引言:并发任务的任务调度和任务执行报告是Go语言中常见的问题之一。在实际开发中,我们经常需要同时处理多个任务,但是如何高效地调度和执行这些任务,并且能够准确地知道任务的执行情况,对于...
    99+
    2023-10-22
    并发任务调度 并发任务执行报告 Go语言中的处理方法
  • 为什么 Python 是在 leetcode 上编写算法的流行语言?
    Python 是一种广泛使用的高级编程语言,拥有简单易学的语法和强大的编程能力。在 LeetCode 上编写算法,Python 成为了最流行的编程语言之一。那么,为什么 Python 在 LeetCode 上编写算法如此流行呢? 首先,Py...
    99+
    2023-07-23
    编程算法 leetcode 文件
  • C语言编程中if的用法是什么
    C语言编程中if的用法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。顺序,选择和循环是程序的三大基本结构,无论多么复杂的程序,都是用这三种结构写出来的。i...
    99+
    2023-06-03
  • Golang并发编程之调度器初始化的方法是什么
    本篇内容主要讲解“Golang并发编程之调度器初始化的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang并发编程之调度器初始化的方法是什么”吧!1. 一些全局变量在proc.g...
    99+
    2023-07-05
  • Go语言中编写算法的最佳实践是什么?
    Go语言中编写算法的最佳实践是什么? 随着人工智能和大数据技术的发展,算法已经成为了计算机科学中的核心要素。而Go语言作为一种高效、可靠的编程语言,也逐渐成为了算法实现的首选语言。那么在Go语言中编写算法的最佳实践是什么呢?本文将为大家详细...
    99+
    2023-06-19
    path 对象 编程算法
  • Go语言中并发编程的最佳实践是什么?
    Go语言是一门非常受欢迎的编程语言,其并发特性是其最大的优势之一。在Go语言中,我们可以使用goroutine来实现并发编程,但是并发编程也有其一些难点和需要注意的事项。在本篇文章中,我们将介绍一些Go语言中并发编程的最佳实践。 1. 避免...
    99+
    2023-06-21
    并发 ide npm
  • C语言中算法的时间复杂度和空间复杂度是什么
    这篇文章给大家分享的是有关C语言中算法的时间复杂度和空间复杂度是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.前言1.1 什么是数据结构?数据结构(Data Structure)是计算机存储、组织数据的方...
    99+
    2023-06-29
  • Golang并发编程之main goroutine的创建与调度的方法是什么
    今天小编给大家分享一下Golang并发编程之main goroutine的创建与调度的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2023-07-05
  • Go语言编程算法:实时处理的最佳实践是什么?
    随着互联网的发展,实时数据处理成为了越来越重要的任务。在这个领域,Go语言凭借其高效、可扩展和易于编写的特点,成为了很多人的首选。但是,要想在实时数据处理中发挥Go语言的最大优势,需要掌握一些最佳实践。 使用goroutine 在Go...
    99+
    2023-09-03
    编程算法 编程算法 实时
  • Go 语言中的数据类型选择对于编程算法的影响是什么?
    Go 语言作为一门编译型语言,其数据类型的选择对于编程算法的影响是非常重要的。在本文中,我们将深入探讨 Go 语言中数据类型选择的影响,并提供一些有用的代码演示。 首先,我们需要知道 Go 语言中有哪些数据类型可供选择。Go 语言中的数据类...
    99+
    2023-07-02
    数据类型 编程算法 容器
  • 计算机能直接执行的程序是用什么程序设计语言编写的
    这篇文章主要介绍了计算机能直接执行的程序是用什么程序设计语言编写的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。计算机能直接执行的程序是用“机器语言”编写的。机器语言是机器能...
    99+
    2023-06-14
  • 什么是最常用的自然语言处理算法,可以在ASP编程中使用?
    自然语言处理(NLP)是人工智能领域中的一个重要分支,它涉及到人工智能系统如何理解和生成自然语言。在NLP的研究中,算法是非常重要的一部分,因为它们可以帮助我们处理自然语言数据,使得我们能够从中获取有价值的信息。在ASP编程中,最常用的自然...
    99+
    2023-09-14
    编程算法 npm 自然语言处理
  • 在UNIX和Linux环境下,GO语言编程算法的最佳实践是什么?
    随着互联网的迅速发展,大数据和人工智能已成为当今世界的热门话题。这也催生了很多新的编程语言,其中GO语言因其高效性和并发性而备受青睐。 那么,如何在UNIX和Linux环境下使用GO语言编写高效的算法呢? 在进入正题之前,让我们先来了解一...
    99+
    2023-06-09
    unix linux 编程算法
  • Go语言同步编程算法:为什么是处理大数据的最佳选择?
    随着数据量的不断增大,大数据处理已经成为了很多企业和组织必须面对的问题。在如此庞大的数据量下,如何高效地进行数据处理,成为了人们关注的重点。在这个问题下,Go语言同步编程算法成为了处理大数据的最佳选择。 一、Go语言同步编程算法的简介 G...
    99+
    2023-06-19
    同步 编程算法 大数据
  • Go语言中数组在异步编程中的优化方法是什么?
    Go语言作为一门强大的编程语言,越来越受到开发者们的青睐。在异步编程中,数组的使用是非常常见的,但是如何对数组进行优化呢?本文将会介绍在Go语言中数组在异步编程中的优化方法。 一、为什么需要优化数组 在Go语言中,数组是一种非常常见的数据类...
    99+
    2023-08-08
    异步编程 数据类型 数组
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作