美文网首页
计算高性能, 2023-08-12

计算高性能, 2023-08-12

作者: Mc杰夫 | 来源:发表于2023-08-11 13:34 被阅读0次

(2023.08.12 Sat @KLN)
以架构师的角度来看,高性能架构设计集中在两个方面:

  • 提升单服务器的性能,将其性能发挥到极致
  • 设计服务器集群方案,以应对单服务器已经发挥到性能极限的情况

单服务器高性能

根据以往经验,单服务器高性能的关键之一是服务器采取的网络编程模型,即

  • 服务器如何管理连接
  • 服务器如何处理请求

而这两点都和操作系统的IO同埋进程模型相关

  • I/O模型:阻塞、非阻塞、同步、异步
  • 进程模型:单进程、多进程、多线程

Process per Connection, PPC

PPC指每次有新的连接就新建一个进程专门处理这个连接的请求,是传统UNIX网络服务器所采用的模型。

PPC的基本流程是

  1. 父进程建立socket(socket)
  2. 父进程接受连接(accept)
  3. 父进程fork子进程(fork)
  4. 子进程处理连接的读写请求(子进程read、work、write)
  5. 子进程关闭连接(close)

placeholder - diagram

PPC模式实现简单,针对服务器的连接数不多的情况。如数据库服务器。互联网兴起后,服务器的并发和访问量呈指数增长,PPC的弊端凸显:

  • fork代价高:创建进程的过程,需要分配很多内核资源,需要将内存映像从父进程复制到子进程,代价颇高。
  • 父、子进程通信复杂:父进程fork子进程时,文件描述符通过内存映像复制从父到子进程,而fork完成后,则需要采用IPC (Interprocess communication)的通信方案,如子进程需要再close之前告诉父进程已经处理了多少个请求以支撑父进程进行全局统计
  • 进程数量增大后给OS带来压力:如果每个链接存活时间较长,新连接又不断进入,进程数增多,系统进程调度和切换的频率会越来越高。一般情况,PPC能处理的并发连接数量在百这个量级。

prefork

Reference

1 从零开始学架构-照着做,你也能成为架构师,李运华著,电子工业出版社
2 excalidraw·

相关文章

  • 关于阿里云高性能计算(HPC)初步认识

    关于阿里云高性能计算(HPC)的详细了解:阿里云高性能计算(HPC)使用教程 (高性能计算 (Alibaba Cl...

  • 阿里云高性能计算(HPC)使用教程

    关于阿里云高性能计算(HPC)的详细了解:阿里云高性能计算(HPC)使用教程 (高性能计算 (Alibaba Cl...

  • 高性能计算

    http://colobu.com/2014/12/22/why-is-disruptor-faster-than...

  • 高性能计算

    我们平时在做业务的时候很少会有性能上的瓶颈,偶尔产生的UI层的卡顿也是我们对程序结构设计的不合理产生的。但是性能优...

  • 如何将FPGA资源平民化?阿里工程师有了新突破

    阿里云ECS的异构计算团队和高性能计算团队一直致力于将计算资源"平民化";高性能计算团队在做的E-HPC就是要让所...

  • mpi4py 简介

    前言 计算机编程语言很多,但是适合高性能数值计算的语言却并不多,在高性能计算的项目中通常会使用到的语言有 Fort...

  • 2019-06-06

    高性能计算应用解决方案培训通知 2019年“高性能计算(CPU\GPU)应用解决方案”培训高阶班由北京并行科技股份...

  • 2019-05-23

    高性能计算应用解决方案培训通知 2019年“高性能计算(CPU\GPU)应用解决方案”培训高阶班由北京并行科技股份...

  • 2023-08-12

    2023.8.11周五 第一节课其实我很喜欢就第一节课,上完课就可以做自己的事了,全天既能快点实现自己的价值,又能...

  • 闲话高性能计算

    闲话高性能计算 第三个千年开始之际,人类醒来,伸展手脚……来瞧瞧今天有什么重要的事吧 ...

网友评论

      本文标题:计算高性能, 2023-08-12

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