SMP(Symmetric Multi-Processing),对称多处理结构的简称,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构。在这种技术的支持下,一个服务器系统可以同时运行多个处理器,并共享内存和其他的主机资源。
SMP 内有许多紧耦合多处理器,这种系统的最大特点就是共享所有资源。另外与之相对立的标准是MPP (Massively Parallel Processing),意为大规模并行处理系统,这样的系统是由许多松耦合处理单元组成的,要注意的是这里指的是处理单元而不是处理器。每个单元内的CPU都有自己私有的资源,如总线、内存、硬盘等。在每个单元内都有操作系统和管理数据库的实例复本。这种结构最大的特点在于不共享资源。
MPP(Massive Parallel Processor) ,大规模并行处理计算机。由大量通用微处理器构成的多处理机系统,适合多指令流多数据流处理。计算机体系结构中,MPP指大规模并行处理机. MPP在20世纪90年代盛行。
⚫ openGauss的SMP并行技术是一种利用计算机多核CPU架 构来实现多线程并行计算,以充分利用CPU资源来提高查 询性能的技术。
⚫ 首先,SMP并行执行是在线程级别上来完成任务的并行 执行,理论上是可以使并行执行的子任务数达到物理服 务器核数的上限。
⚫ 其次,SMP并行线程是在同一个进程内,可以直接通过 内存进行数据交换,不需要占用网络连接与带宽。降低 了限制MPP系统性能提升的网络因素的影响。
⚫ 最后,由于并行子任务启动后不需要附带其他后台工作
线程,这样可以增加系统计算资源的有效利用率。

⚫ 数据库不仅需要MPP(Massively Parallel Processing)并行技术做到很好的水平scale-out(横向扩展),同时也需要支持SMP(Symmetric Multi-Processing)并行技术在单 机上实现更好的scale-up(纵向扩展)。
⚫ SMP可以从两个方面提升数据库的性能:
显著减小单个查询的执行时间。
可以提升相同时间段内系统的throughput,有效提升系统资源的利用率。
⚫ SMP并行技术通过多线程多子任务并行执行的机制实现系统计算资源的充分高效使用。
显然SMP多线程轻量执行的模式无疑能够解决MPP架构部署上的不足。




