| 摘要: |
| 微内核系统将系统服务迁移到用户态运行, 因其架构隔离性而具有高可靠性的优势, 这一优势与航天领域的需求相契合. SPARC架构的处理器被广泛应用于航天飞船、卫星载荷以及星球车的控制设备上, 而该架构的寄存器窗口机制会影响微内核进程间通信(inter-process communication, IPC)的性能, 其核间中断(inter-processor interrupt, IPI)也会严重影响跨核IPC的效率. IPC作为微内核系统的关键机制, 对微内核上应用程序的整体性能十分重要. 基于对SPARC寄存器窗口机制的观察, 重新设计实现寄存器组机制, 由系统内核对寄存器窗口进行分配和管理, 并藉此实现SPARC架构上的BankedIPC. 同时, 在多核场景下, 针对SPARC上IPI性能较差的问题, 设计实现FlexIPC以优化跨核IPC的性能. 使用这些方法对自研微内核ChCore上已经实现的通用的同步IPC进行优化. 测试表明, 优化后SPARC上微内核的IPC平均性能提升至原来的2倍, 应用性能提升最高可达15%. |
| 关键词: 进程间通信 微内核 SPARC架构 性能调优 |
| DOI:10.13328/j.cnki.jos.007192 |
| 分类号:TP316 |
| 基金项目:国家自然科学基金青年基金(62202292); 上海市科技创新行动计划(22511101102) |
|
| Low-latency Microkernel IPC Design for SPARC Architecture |
|
SU Hao-Ran, LI Wen-Tai, GU Jin-Yu, ZANG Bin-Yu, CHEN Hai-Bo, GUAN Hai-Bing
|
|
School of Software, Shanghai Jiao Tong University, Shanghai 200240, China
|
| Abstract: |
| Microkernels migrate system services to user mode. Thanks to the isolated framework, microkernels are superior in high reliability, which meets the needs of the aerospace field. SPARC processors are widely applied on the control equipment of spacecraft, satellite payloads, and planetary vehicles. The register window mechanism of SPARC will affect the performance of inter-process communication (IPC) on microkernels. Besides, its inter-processor interrupt (IPI) also seriously affects the efficiency of cross-core IPC. As a key mechanism, IPC is vital to the overall performance of applications on microkernels. Through observing the register window mechanism, this study redesigns and implements the register bank mechanism, where the register window is allocated and managed by the kernel. Thus BankedIPC on SPARC is implemented. At the same time, as IPI underperforms on SPARC, FlexIPC is designed to optimize the performance of cross-core IPC. These approaches are employed to optimize the general synchronous IPC implemented on a self-developed microkernel ChCore. According to the test, the average IPC performance of microkernels on the optimized SPARC is about two times better with the application performance up to 15%. |
| Key words: inter-process communication (IPC) microkernel SPARC performance optimization |