[SoC2020] PostgreSQL: add io_uring support
Created by: josephhz
项目名称/Project Title
PostgreSQL: 增加 io_uring 支持 PostgreSQL: add io_uring support
项目描述/Project Description
PostgreSQL 是一款强大的开源对象-关系数据库服务器(ORDBMS),特点是可靠,特性健壮以及高性能,且支持跨平台。PostgreSQL 的 Slogan 是“世界上最先进的开源关系型数据库”,其官网链接:https://www.postgresql.org/
本项目计划在 PostgreSQL 中增加对 io_uring 的支持,以优化异步 io 模型的性能,目前社区也有在做这方面的尝试。参考资料:https://anarazel.de/talks/2020-01-31-fosdem-aio/aio.pdf
PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. It supports running corss-platform. The slogan of PostgreSQL is "The World's Most Advanced Open Source Relational Database", as seen on the offical website is https://www.postgresql.org/.
This project wants to add io_uring support for PostgreSQL, to achieve better performance by using asynchronous io. Now community already has similar attempt, for more details please refer https://anarazel.de/talks/2020-01-31-fosdem-aio/aio.pdf
预期成果/Expected Outcomes
- 通过 PostgreSQL 自带回归测试用例
- 通过 pgTAP 测试套
- 支持 io_uring 的 PostgreSQL 版本在 Aliyun Linux 2 上能正常运行
- 预期相比原始版本性能有 10%+ 的提升
- Pass PostgreSQL related testcases
- Pass pgTAP testcases
- Make PostgreSQL with io_uring support run normally on Aliyun Linux 2
- Expect 10+ performance optimization compared to original version
需要的技能/Required Skills
- 熟悉 C 语言编程
- 熟悉 PostgreSQL 的基本原理机制
- 熟悉异步 IO(aio/io_uring)
- Familiar with C
- Familliar with PostgreSQL
- Familliar with aio/io_uring