This talk looks at the mechanics of memory and storage, and discusses a selection of opportunities for PostgreSQL to reduce stalls and improve performance. These include experimental and committed work done in the PostgreSQL and OS communities, along with some relevant ideas and observations found in academic papers. The following topics will be covered:
- avoiding I/O stalls in recovery, index scans and joins
- limiting I/O streams for parallel queries and concurrent queries
- avoiding memory stalls for hash joins, sequential scans, index searches
- avoiding branches through inlining and specialisation
- reducing TLB misses for data and code