美文网首页
第一章 理解高性能程序(6) - 多核

第一章 理解高性能程序(6) - 多核

作者: 耕田者 | 来源:发表于2022-07-09 10:35 被阅读0次

多核

        功率极限问题最终是可以克服的。冷却是一种方法。或者是降低CPU频率的同时引入可并行工作的处理器核心,增加更多的通用处理器、支持向量处理的单指令多数据(SIMD, Single instruction multiple data),或增加不需要一直供电的器件。通过这些方法,晶体管的密度不会再增加,从而避免芯片过热的问题。

        当一块芯片上有多个CPU核,被称为对称多处理器(SMP, symmetric multiprocessing)CPU,所有的核都能访问在同一块芯片上的各自的数据。相对地,在非一致内存访问(NUMA, non-uniform memory access)系统上,多个物理上独立的CPU拥有他们独有的内部缓存。这些内部缓存对其内部CPU的内存访问速度比外部CPU要快得多。另一个问题是CPU之间的缓存一致性,需要通过复杂的缓存一致性协议解决,对性能也会造成损失,在Qt应用程序的场景,我们通常遇到的是SMP处理器,我们将在本书忽略NUMA系统。

        在多核芯片上,处理资源被分为核心和非核心两种类型。核心资源需要复制一份给其他核心,非核心资源不需要复制,但必须在核心间共享。例如,顶级缓存(如L3, L2视具体处理器而定)是非核心独占的,需要在各个处理器之间共享。

        一个经常遇到的概念超线程(hyper threading)是另一个用于提高CPU并行性从而提升资源利用率的思想。支持超线程的处理器每个物理核有两个逻辑核,每个逻辑核保持其独立的内部状态。处理器的全局状态(如运行、中断、停机)会复制一份给每个逻辑核,计算资源则在逻辑核之间共享。这样设计的意图是可以借用被阻塞的逻辑核的计算资源,从而提高流水线的资源利用率,防止流水线阻塞。操作系统以物理核的方式使用逻辑核,只有以超线程的方式优化才能使整个系统的性能得以提升。

        严格地说,图形处理单元(GPU, graphical processing units)并不是一种多核系统,但处理器通常会与GPU一起集成在主板上,我们也在此提一下GPU。GPU由许多可以做大规模并行计算的非常简单的处理单元组成。通常,GPU用来做图形加速处理,但GPU也能用来做通用计算的加速,比如深度学习应用中的神经网络的训练。在Qt应用场景中,我们通常只使用GPU的图形功能。

相关文章

  • 关于iOS性能优化--提高程序的并发

    提高程序作业的并发 在多核计算机中,并发是一种可以提高性能的方式。在相同时间内可执行多个作业的程序可以在多核计算机...

  • GitHub上标星81.6k的"并发编程实践",看完是真爱了

    前言: Java近些年深受程序员们的喜爱,而线程是Java平台的基石。随着多核处理器成为标准,欲构建高性能的应用程...

  • 第七章、多线程相关

    一、谈谈对GCD的认识理解 Grand Central Dispatch(GCD),主要用于优化应用程序以支持多核...

  • GCD的dispatch_get_specific与dispat

    概述 GCD是一个多核编程的解决方案。它主要用于优化应用程序以支持多核处理器。 GCD介绍 要理解GCD的使用就必...

  • iOS 并发,锁,线程同步【一】GCD

    无并发,不编程。并发在开发中是非常重要的一个技术,运用并发技术,可以写出高性能的程序,并发能够有效地利用多核心 C...

  • cpu、java内存模型

    多核心CPU和多个CPU 多核CPU多核CPU即1个CPU有多个核心,可以理解为是多个CPU,这些CPU集成在一个...

  • node集群(cluster)

    使用例子 为了让node应用能够在多核服务器中提高性能,node提供cluster API,用于创建多个工作进程,...

  • 多进程网络服务

    1、高性能网络服务程序 Linux的一个应用优势是可用于设计各种高性能网络服务程序,高性能的一个特点就是实现并发...

  • Java SE基础巩固(二):String类

    String使用频率非常高,无论是在大型还是小型的应用程序都会大量的使用String类。所以,理解并以高性能的方式...

  • 面试题1-服务器硬件与基础命令

    在32位操作系统最大可以使用_'4'_G内存、 多核CPU和单核CPU的优点和缺点,是否所有程序在多核CPU上运行...

网友评论

      本文标题:第一章 理解高性能程序(6) - 多核

      本文链接:https://www.haomeiwen.com/subject/oyjwbrtx.html