![]() |
||||||
|
|
||||||
![]() |
![]() |
![]() |
![]() |
![]() |
||
|
Cache 优化
理论上讲,1Ghz的CPU每秒可以处理10亿条指令。然而,内存访问的延迟使速度下降了10倍以上。CPU使用cache来解决这个问题。为了更好的改进性能Cache又分为L1 cache和L2 cache等。在实际中1Ghz的CPU使用L2 cache可以将整个性能提高两倍。因此,cache的使用可以最大限度的减少内存延迟造成的性能下降。 所以,可以说带有cache的CPU的性能取决于cache有多大,cache是如何被优化的。不同的CPU有不同大小的cache和不同的cache优化机制。当设计一个软件时,如果考虑到cache的存在(cache优化)可以显著的改善软件的性能。因为Altibase DBMS在设计时就考虑到了它的cache架构,所以Altibase是一个高性能的DBMS解决方案。 Cache优化
按照报告“Where Does Time Go?”,1999,VLDB,50%以上的CPU时间浪费在访问内存的延迟上。如果程序的设计考虑到cache的存在,整个性能可以提高20%到30%。但是,就像上面解释的,不同的CPU有不同的cache架构,所以cache优化不是一件很容易完成的工作。此外,不恰当的cache优化可能会导致频繁的上下文转换,甚至使整个处理速度降低。 Cache优化最终的目的是增加cache的命中率。使用cache模拟器可以找出内存访问的瓶颈,帮助程序员更好地进行cache优化。 有多种情况会导致cache miss的发生 cache优化并发控制 传统的B+-tree使用在索引节点加锁进行并发控制。这种方法增加了cache
miss,避免在索引节点上加锁可以显著的减少cache miss。 |
||||||
| |