论文部分内容阅读
固态盘的低访问延迟、抗震性、内部并行性等诸多优良特性使得其在实际生产环境当中被广泛使用。固态盘的I/O性能与请求粒度、队列深度、访问模式和读写混合之间存在密切的联系,通过认识、利用固态盘I/O性能与这些影响因素之间存在的规律,可以更好地设计、实现算法发挥固态盘的优势,提升算法性能。本文的贡献如下: 1.通过一系列基准测试全面考察了几款主流品牌和型号的固态盘的 I/O性能与请求粒度、队列深度、访问模式和读写混合之间的联系,得到了一些有效的、具备通用性的结论。 2.利用队列深度、I/O粒度和固态盘性能之间的联系,提出了一种队列深度和I/O粒度的调节机制。该调节机制能够在不影响固态盘I/O性能的情况下,根据一定的I/O粒度给出合适的队列深度值,避免对固态盘I/O队列资源的滥用。这种调节机制能够配合并行散列连接的最优缓存计算公式使得并行散列连接的缓存分配具备更大的灵活性。 3.针对异构多固态盘环境下,提出了一种只读数据分离技术RODI来优化异构多固态盘整体的吞吐量。 一系列实验结果表明,通过合理利用固态盘性能与I/O粒度、队列深度之间的关系可以优化散列连接的性能;针对异构多固态盘的使用场景,通过正确利用固态盘的特性则可以更好地组织只读数据从而提升总体的吞吐量。