一种高效的IO处理框架设计 |
| |
引用本文: | 饶颖.一种高效的IO处理框架设计[J].深圳信息职业技术学院学报,2023(6):35-42. |
| |
作者姓名: | 饶颖 |
| |
作者单位: | 深圳信息职业技术学院软件学院 |
| |
摘 要: | 传统的多线程处理模型,并不适合处理IO密集业务。如果当前线程因为IO请求、加锁等系统调用或者被更高优先级的任务打断而阻塞时,CPU需要进行线程的上下文切换,调度新的线程重新执行,单次线程切换的开销不大,时延是微秒级别,但是如果切换频繁,带来的开销就会比较大,这会直接降低CPU的利用率;此外, IO操作中难免要进行内存分配和数据拷贝的操作,操作系统自带的内存分配对于密集IO操作,会产生大量的内存碎片,降低程序和操作系统的性能。基于以上两个问题,设计一个高效的IO调度系统,采用基于协程的任务调度模式,解决传统多线程模型处理密集IO效率不高的问题;另外再基于内存池的内存管理,解决操作系统自带的内存管理性能不高的问题。利用以上两个关键技术,大大提高了IO密集业务的处理效率。
|
关 键 词: | IO框架 无锁 协程 cpu亲和性 |
|
|