Cache Fusion Making Shared Storage Perform for Vanilla

  • Slides: 12
Download presentation
Cache Fusion Making Shared Storage Perform for Vanilla Systems David. Brower@oracle. com RAC Architecture

Cache Fusion Making Shared Storage Perform for Vanilla Systems David. Brower@oracle. com RAC Architecture

Shared Nothing Storage Ÿ Hard data partitions Ÿ Reroute query fragments Ÿ 2 pc

Shared Nothing Storage Ÿ Hard data partitions Ÿ Reroute query fragments Ÿ 2 pc Ÿ Different QP than SMP Ÿ Move query to data Shared Ÿ No required partitions Ÿ Query processed one site Ÿ DLM Ÿ Disk ‘ping’ Ÿ Move data to query A marketing slide follows

Oracle 9 i Real Application Clusters -Scalability and High Availability Shared Cache Architecture using

Oracle 9 i Real Application Clusters -Scalability and High Availability Shared Cache Architecture using Cache Fusion ipc Cache Fusion e h c a C d e r a Sh san • Change nodes online • Change disks w/o re-partitioning • Scales all applications out of the box • Shared storage without the disk ping cost • Standard h/w – SAN and fast IPC

What is Cache Fusion? Ÿ Coherency strategy for cluster database cache Ÿ Current block

What is Cache Fusion? Ÿ Coherency strategy for cluster database cache Ÿ Current block sent across interconnect Ÿ Integrates DLM & cache “GCM” Ÿ Less I/O (compared to disk ping) Ÿ Less latency to get block

Fusion on contended block – initial state Dirty Log record GCM master GCM shadow

Fusion on contended block – initial state Dirty Log record GCM master GCM shadow 2: x-? D: ? x-? Req X 100 Cache hole Node 1 99 Dirty current Node 2

Fusion on contended block - request Function call 2: x-? D: ? x-? Req

Fusion on contended block - request Function call 2: x-? D: ? x-? Req X 100 99

Fusion on contended block - ping Ping (“bast”) message 2: x-? D: ? x-?

Fusion on contended block - ping Ping (“bast”) message 2: x-? D: ? x-? Req X 100 99

Fusion on contended block – log wait Group committed log write, usually already done

Fusion on contended block – log wait Group committed log write, usually already done before ping 2: x-? D: ? x-? Req X 100 99

Fusion on contended block – ship block “consign” message in the block shipped by

Fusion on contended block – ship block “consign” message in the block shipped by remote DMA 2: x-? pi-100 X-100 100 99 “Past Image”

Fusion on contended block – adoption “adopt” terminates request, sets master state. 2: pi-100

Fusion on contended block – adoption “adopt” terminates request, sets master state. 2: pi-100 1: x-100 D: ? pi-100 X-100 101 Modification to version 101 while adopt is in flight. 101 100 99

Conveniently, there is no time to discuss Ÿ How we write blocks and get

Conveniently, there is no time to discuss Ÿ How we write blocks and get rid of the PIs Ÿ All the failure scenarios

Does it work? 3648 4000 # of users 3500 3000 2500 1900 2000 1500

Does it work? 3648 4000 # of users 3500 3000 2500 1900 2000 1500 1026 1000 500 0 Single Node Two Nodes Four Nodes