Maison développement back-end tutoriel php 多核编程中的负载平衡难题_PHP教程

多核编程中的负载平衡难题_PHP教程

Jul 20, 2016 am 11:05 AM
cpu 保证 distribuer 多个 多核 平衡 性能 de 编程 vouloir 负载 problème

多核CPU中,要很好地发挥出多个CPU的性能的话,必须保证分配到各个CPU上的任务有一个很好的负载平衡。否则一些CPU在运行,另外一些CPU处于空闲,无法发挥出多核CPU的优势来。


  要实现一个好的负载平衡通常有两种方案,一种是静态负载平衡,另外一种是动态负载平衡。


  1、静态负载平衡


  静态负载平衡中,需要人工将程序分割成多个可并行执行的部分,并且要保证分割成的各个部分能够均衡地分布到各个CPU上运行,也就是说工作量要在多个任务间进行均匀的分配,使得达到高的加速系数。


  静态负载平衡问题从数学上来说是一个NP完全性问题,Richard M. Karp, Jeffrey D. Ullman, Christos H. Papadimitriou, M. Garey, D. Johnson等人相继在1972年到1983年间证实了静态负载问题在几种不同约束条件下的NP完全性。


  虽然NP完全性问题在数学上是难题,但是这并不是标题中所说的难题,因为NP完全性问题一般都可以找到很有效的近似算法来解决。


  2、动态负载平衡


  动态负载平衡是在程序的运行过程中来进行任务的分配达到负载平衡的目的。实际情况中存在许多不能由静态负载平衡解决的问题,比如一个大的循环中,循环的次数是由外部输入的,事先并不知道循环的次数,此时采用静态负载平衡划分策略就很难实现负载平衡。


  动态负载平衡中对任务的调度一般是由系统来实现的,程序员通常只能选择动态平衡的调度策略,不能修改调度策略,由于实际任务中存在很多的不确定因素,调度算法无法做得很优,因此动态负载平衡有时可能达不到既定的负载平衡要求。


  3、负载平衡的难题在那里?


  负载平衡的难题并不在于负载平衡的程度要达到多少,因为即使在各个CPU上分配的任务执行时间存在一些差距,但是随着CPU核数的增多总能让总的执行时间下降,从而使加速系数随CPU核数的增加而增加。


  负载平衡的困难之处在于程序中的可并行执行块很多要靠程序员来划分,当然CPU核数较少时,比如双核或4核,这种划分并不是很困难。但随着核数的增加,划分的粒度将变得越来越细,到了16核以上时,估计程序员要为如何划分任务而抓狂。比如一段顺序执行的代码,放到128核的CPU上运行,要手工划分成128个任务,其划分的难度可想而知。


  负载划分的误差会随着CPU核数的增加而放大,比如一个需要16个时间单位的程序分到4个任务上执行,平均每个任务上的负载执行时间为4个时间单位,划分误差为1个时间单位的话,那么加速系数变成 16/(4 1)=3.2,是理想情况下加速系数 4的80%。但是假如放到一个16核CPU上运行的话,假如某个任务的划分误差假如为0.5个时间单位的话,那么加速系数变成16/(1 0.5) = 10.67,只有理想的加速系数16的66.7%,假如核数再增加的话,由于误差的放大,加速系数相比于理想加速系数的比例还会下降。


  负载划分的难题还体现在CPU和软件的升级上,比如在4核CPU上的负载划分是均衡的,但到了8核、16核上,负载也许又变得不均衡了。软件升级也一样,当软件增加功能后,负载平衡又会遭到破坏,又需要重新划分负载使其达到平衡,这样一来软件设计的难度和麻烦大大增加了。


  假如使用了锁的话,一些看起来是均衡的负载也可能会由于锁竞争变得不平衡起来。


  4、负载平衡的应对策略


  对于运算量较小的软件,即使放到单核CPU上运行速度也很快,负载平衡做得差一些并没有太大影响,实际中负载平衡要考虑的是大运算量和规模很大的软件,这些软件需要在多核上进行负载平衡才能较好地利用多核来提高性能。


  对于大规模的软件,负载平衡方面采取的应对策略是发展划分并行块的宏观划分方法,从整个软件系统层面来进行划分,而不是象传统的针对某些局部的程序和算法来进行并行分解,因为局部的程序通常都很难分解成几十个以上的任务来运行。


  另外一个应对策略是在工具层面的,也就是编译工具能够协助人工进行并行块的分解,并找出良好的分解方案来,这方面Intel已经作出了一些努力,但是还需要更多的努力让工具的功能更强大一些才能应对核数较多时的情况。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/445099.htmlTechArticle多核CPU中,要很好地发挥出多个CPU的性能的话,必须保证分配到各个CPU上的任务有一个很好的负载平衡。否则一些CPU在运行,另外一些CPU处...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

SRAM à 144 cœurs empilée en 3D : Fujitsu détaille le processeur de centre de données de nouvelle génération MONAKA SRAM à 144 cœurs empilée en 3D : Fujitsu détaille le processeur de centre de données de nouvelle génération MONAKA Jul 29, 2024 am 11:40 AM

Selon des informations publiées sur ce site Web le 28 juillet, le média étranger TechRader a rapporté que Fujitsu avait présenté en détail le processeur FUJITSU-MONAKA (ci-après dénommé MONAKA) dont la livraison était prévue pour 2027. MONAKACPU est basé sur l'architecture « cloud native 3D many-core » et adopte le jeu d'instructions Arm. Il est orienté vers les domaines des centres de données, de la périphérie et des télécommunications. Il est adapté à l'informatique IA et peut réaliser un RAS1 au niveau du mainframe. Fujitsu a déclaré que MONAKA réaliserait un bond en avant en termes d'efficacité énergétique et de performances : grâce à des technologies telles que la technologie ultra-basse tension (ULV), le processeur peut atteindre 2 fois l'efficacité énergétique des produits concurrents en 2027, et le refroidissement ne nécessite pas de refroidissement par eau. De plus, les performances applicatives du processeur peuvent également atteindre deux fois celles de votre adversaire. En termes d'instructions, MONAKA est équipé de vecteur

Une fuite révèle les spécifications clés des Intel Arrow Lake-U, -H, -HX et -S Une fuite révèle les spécifications clés des Intel Arrow Lake-U, -H, -HX et -S Jun 15, 2024 pm 09:49 PM

Intel Arrow Lake devrait être basé sur la même architecture de processeur que Lunar Lake, ce qui signifie que les tout nouveaux cœurs de performance Lion Cove d'Intel seront combinés avec les cœurs d'efficacité économiques Skymont.

Solutions aux problèmes de stabilité des processeurs Intel de 13e et 14e générations Solutions aux problèmes de stabilité des processeurs Intel de 13e et 14e générations Jun 18, 2024 pm 06:01 PM

Les processeurs de 13e et 14e générations ont connu des plantages de jeu, des écrans bleus de mort, des redémarrages automatiques de l'ordinateur et d'autres défauts. On soupçonnait auparavant que cela était dû à la carte graphique nvidia. Après une enquête de nvidia, c'était la faute du processeur Intel. a imputé les problèmes de stabilité des processeurs de 13e/14e génération aux fabricants de cartes mères et de systèmes BIOS. Maintenant, Intel a également proposé une solution. Jetons un coup d'œil avec l'éditeur ci-dessous. Il est possible que les options de configuration du BIOS des cartes mères des séries 600 et 700 concernant la tension, la fréquence, la consommation électrique et la stabilité des processeurs Core de 13e et 14e génération soient mal définies, ou que les valeurs de configuration soient officiellement en dehors de la plage. autorisé par Intel. Cela entraînera ou augmentera le risque de fonctionnement instable du processeur. Les paramètres recommandés par Intel sont les suivants (voir la figure ci-dessous) : [C.

Intel confirme que la plate-forme LGA9324 Oak Stream-AP prend en charge les processeurs Diamond Rapids Xeon Intel confirme que la plate-forme LGA9324 Oak Stream-AP prend en charge les processeurs Diamond Rapids Xeon Aug 22, 2024 am 11:16 AM

Selon les informations de ce site du 22 août, l'utilisateur de la plate-forme X 포시포시 (@harukaze5719) a remarqué qu'Intel avait répertorié deux cartes d'adaptateur adaptées aux tests d'alimentation de la plate-forme LGA9324-OKS-AP sur son site officiel DESIGN-iNTOOLSstore. ▲ Carte adaptateur version BLU, en plus de la version RED Intel a écrit dans la description de ces deux produits que la plate-forme LGA9324-OKS-APOakStream prend en charge DiamondRapids, ce qui confirme positivement le cœur de performance Xeon de nouvelle génération après Xeon 6 "GraniteRapids" L'existence de processeurs et plates-formes correspondantes. Informations actuelles sur les processeurs DiamondRapids et les plateformes OakStream

Problèmes de taille du processeur Intel et de planification du cœur, taille du processeur et paramètres d'optimisation du cœur au-dessus de 12 générations Problèmes de taille du processeur Intel et de planification du cœur, taille du processeur et paramètres d'optimisation du cœur au-dessus de 12 générations Jun 19, 2024 am 01:42 AM

Les processeurs Inteli5-12600 et supérieurs, les processeurs i5-13400 et supérieurs ont des cœurs de performance P-Core (gros cœurs) et des cœurs d'efficacité énergétique E-Core (petits cœurs). En raison du problème de planification des « grands et petits cœurs », certains jeux. peut perdre des images, un décalage, pas aussi bon que l'ancien processeur avant. En fait, le système pense que pour faire face à la scène actuelle, le plus jeune peut la gérer, et il n'est pas nécessaire d'envoyer l'ancien, donc le le noyau plus ancien se repose et ne fonctionne pas. L'éditeur ci-dessous vous apprendra comment résoudre ce problème. Créez un nouveau document texte sur le bureau, copiez le contenu suivant, enregistrez-le sous 1.reg, puis cliquez avec le bouton droit pour fusionner. WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SY

MagicX XU Mini M : Teardown révèle le processeur RK3326 au lieu du RK3562 annoncé, MagicX rompt les liens avec les développeurs tiers MagicX XU Mini M : Teardown révèle le processeur RK3326 au lieu du RK3562 annoncé, MagicX rompt les liens avec les développeurs tiers Sep 01, 2024 am 06:30 AM

Si vous avez acheté le MagicX XU Mini M récemment, cette nouvelle pourrait être une surprise. Un démontage matériel et logiciel de la nouvelle console portable a révélé que le processeur RK3562 annoncé est, en fait, un processeur RK3326 plus ancien et moins performant.

Des sources indiquent que le processeur AMD Krackan Point fait partie de la série Ryzen AI 300 et sera lancé l'année prochaine. Des sources indiquent que le processeur AMD Krackan Point fait partie de la série Ryzen AI 300 et sera lancé l'année prochaine. Jul 11, 2024 pm 01:36 PM

Selon les informations de ce site du 3 juillet, le blogueur Jinzhu Upgrade Package a récemment déclaré dans une réponse sous la mise à jour Weibo que le processeur AMD KrackanPoint fait partie de la gamme de produits Ryzen AI300 et sera lancé l'année prochaine. AMD a lancé le processeur RyzenAI300 au Salon international de l'informatique de Taipei 2024. Les deux produits actuellement lancés sont basés sur la série StrixPoint. Les spécifications de base sont les suivantes : AMD RyzenAI9HX370 : processeur à 12 cœurs (4 × Zen5 + 8 × Zen5c), 16CU. Architecture RDNA3.5 à grande échelle Écran de base Radeon890M ; AMD RyzenAI9365 : processeur à 10 cœurs (4 × Zen5 + 6 × Zen5c), échelle 12CU

Raison du retard de sortie des processeurs de bureau AMD Ryzen série 9000 révélée : erreur de sérigraphie du capot supérieur Raison du retard de sortie des processeurs de bureau AMD Ryzen série 9000 révélée : erreur de sérigraphie du capot supérieur Jul 29, 2024 pm 02:42 PM

Selon les informations de ce site du 29 juillet, basées sur l'actualité de la source de la plateforme X HXL (@9950pro) et de l'article du média étranger Tom'sHardware, l'erreur de sérigraphie du capot supérieur est l'une des raisons pour lesquelles AMD a retardé la sortie de Ryzen. Processeur de bureau 9000. Il n'est pas encore confirmé si le report de cette vente est également lié à d'autres problèmes. AMD avait précédemment déclaré dans son annonce qu'au cours du processus d'inspection finale, il avait été constaté que le premier lot d'unités de production envoyé aux partenaires de distribution ne répondait pas pleinement aux attentes de qualité d'AMD et que la fourniture au détail des processeurs de bureau Ryzen de la série 9000 serait brièvement retardée. Parmi eux, les processeurs Ryzen 79700X et Ryzen 59600X seront disponibles le 8 août, et les processeurs Ryzen 99950X et Ryzen 99900X seront disponibles le 15 août. XL

See all articles