SlideShare une entreprise Scribd logo
1  sur  19
MySQL with FaCE
안미진
7/4/2016 1
Contents
7/4/2016 2
• Introduction
• Flash as Cache Extension (FaCE)
– Design Choices
– Two Optimizations
• MySQL Buffer Management
• MySQL with FaCE
• Performance Evaluation
• Current Issue & Future Work
Introduction
7/4/2016 3
• IOPS/$: SSDs >> HDDs
• GB/$: HDDs >> SSDs
• Therefore, it is more sensible to use SSDs to supplement HDDs,
rather than to replace them
– SSD as cache between RAM and HDDs
– To provide both the performance of SSDs and the capacity of HDDs as
little cost as possible
Flash as Cache Extension (FaCE)
7/4/2016 4
Storage (HDD)
FaCE (SSD)
RAM Buffer (LRU)
Random
Read
Random Read
 Low cost
Sequential Write
 High throughput
Random
Write
 Faster recovery
FaCE: Design Choices
7/4/2016 5
1. When to cache pages in SSD?
: on entry vs. on exit
2. What pages to cache in SSD?
: clean vs. dirty vs. both
3. Sync policy between SSD and HDD
: write-thru vs. write-back
4. SSD Cache Replacement Policy
: LRU vs. FIFO
Design Choices: SSD Cache Replacement Policy
7/4/2016 6
• LRU vs. FIFO (First-In-First-Out)
– Write miss: LRU‐based victim selection, write‐back if dirty victim, and
overwrite the old victim page with the new page being evicted
– Write hit: overwrite the old copy in flash cache with the updated
page being evicted
RAM Buffer (LRU) Flash as Cache Extension
Storage (HDD)
Evict
SSD cache is full!
Random writes
against SSD
Design Choices: SSD Cache Replacement Policy
7/4/2016 7
• LRU vs. FIFO (First-In-First-Out)
– Victims are chosen from the rear end of flash cache
 “Sequential writes” against SSD
– Write hit : no additional action is taken in order not to incur random
writes
– Multi-Version FIFO (mvFIFO)
SSD cache is full!
RAM Buffer (LRU)
A
Flash as Cache Extension
Storage (HDD)
B
Evict
A
Old version
Latest version
A
Design Choices: SSD Cache Replacement Policy
7/4/2016 8
• LRU vs. FIFO (First-In-First-Out)
– Write reduction in mvFIFO
– Reduce three writes to HDD to one
RAM Buffer (LRU) Flash as Cache Extension
Storage (HDD)
A
Evict
A A
V3 V1 V2
Old version
Latest version
mvFIFO: Two Optimizations
7/4/2016 9
• Group Replacement (GR)
– Multiple pages are replaced in a group in order to exploit the internal
parallelism in modern SSDs
– GR can improve SSD I/O throughput
• Group Second Chance (GSC)
– GR + Second chance
– if a victim candidate page is valid and referenced, will re-enque the
victim to SSD cache
– GSC can achieve higher hit ratio and more write reductions
Group Replacement (GR)
7/4/2016 10
1. Single group read from SSD (64/128 pages)
2. Batch random writes to HDD
3. Single group write to SSD
RAM Buffer (LRU) Flash as Cache Extension
Storage (HDD)
Evict
Fetch on miss
RAM
Check valid
and dirty flag
SSD cache
is full!
Group Second Chance (GSC)
7/4/2016 11
• GR + Second Chance
RAM Buffer (LRU) Flash as Cache Extension
Storage (HDD)
Evict
RAM
Check reference bit,
If true, give them 2nd chance
SSD cache
is full!
Reference bit is ON
Fetch on miss
DB Files
MySQL Buffer Management
7/4/2016 12
RAM Buffer (LRU)
Evict & Stage out dirty pages
Fetch on miss
Doublewrite Buffer
pp
Storage (HDD/SSD)
MySQL with FaCE
7/4/2016 13
• FaCE turns small random writes to large sequential ones
– Maximize the I/O throughput of a flash caching device
• FaCE can be used to recover the system more quickly
• We don’t need to use double write buffer for recovery
• Reduce two writes to HDD to one
Dirty Page in FaCE
7/4/2016 14
DB Files
RAM Buffer (LRU) Flash as Cache Extension
Evict
Fetch on miss
Stage out
dirty pages
Doublewrite Buffer
SSD cache is full!
Storage (HDD/SSD)
p
Clean Page in FaCE (1)
7/4/2016 15
DB Files
RAM Buffer (LRU) Flash as Cache Extension
Evict
Fetch on miss
Stage out
dirty pages
Doublewrite Buffer
p
SSD cache is full!
Storage (HDD/SSD)
p p
Clean Page in FaCE (2)
7/4/2016 16
DB Files
RAM Buffer (LRU) Flash as Cache Extension
Evict
Fetch on miss
Stage out
dirty pages
Doublewrite Buffer
SSD cache is full!
Storage (HDD/SSD)
p
Performance Evaluation
7/4/2016 17
Database Size Flash cache size
Transaction per minute Count (TpmC)
Original FaCE Dirty-Only
100G 20G 5637 8168
50G 10G 5758 8347
10G 2G 5812 8708
• MySQL with FaCE Dirty-Only shows about 40~50% higher
TpmC than original MySQL
• No GR, No GSC
Current Issue & Future work
7/4/2016 18
• Current Issue
– Implementation of Group Second Chance (GSC)
• Future Work
– Implementation of FaCE on Multi-stream SSD
– Copy-back victims when evictions occur in RAM buffer and flush
them using background flusher (for mixed version of FaCE)
Future Work (1)
7/4/2016 19
DB Files
RAM Buffer (LRU) Flash as Cache Extension
Evict
Fetch on miss
Stage out
dirty pages
Doublewrite Buffer
Storage (HDD/SSD)
Temporary Buffer
Background Flusher
Memory
p

Contenu connexe

Tendances

Sql saturday powerpoint dc_san
Sql saturday powerpoint dc_sanSql saturday powerpoint dc_san
Sql saturday powerpoint dc_san
Joseph D'Antoni
 
Understanding hard drive performance
Understanding hard drive performanceUnderstanding hard drive performance
Understanding hard drive performance
Trường Tiền
 
Virtualization Changes Storage
Virtualization Changes StorageVirtualization Changes Storage
Virtualization Changes Storage
Stephen Foskett
 

Tendances (20)

RocksDB detail
RocksDB detailRocksDB detail
RocksDB detail
 
RocksDB compaction
RocksDB compactionRocksDB compaction
RocksDB compaction
 
The Hive Think Tank: Rocking the Database World with RocksDB
The Hive Think Tank:  Rocking the Database World with RocksDBThe Hive Think Tank:  Rocking the Database World with RocksDB
The Hive Think Tank: Rocking the Database World with RocksDB
 
WiredTiger Overview
WiredTiger OverviewWiredTiger Overview
WiredTiger Overview
 
Efficient data maintaince in GlusterFS using Databases
Efficient data maintaince in GlusterFS using DatabasesEfficient data maintaince in GlusterFS using Databases
Efficient data maintaince in GlusterFS using Databases
 
M.2 SSDs: Aligned for Speed – Infographic
M.2 SSDs: Aligned for Speed – InfographicM.2 SSDs: Aligned for Speed – Infographic
M.2 SSDs: Aligned for Speed – Infographic
 
MySQL Space Management
MySQL Space ManagementMySQL Space Management
MySQL Space Management
 
Ggggggggg
GggggggggGgggggggg
Ggggggggg
 
Ceph Day San Jose - Red Hat Storage Acceleration Utlizing Flash Technology
Ceph Day San Jose - Red Hat Storage Acceleration Utlizing Flash TechnologyCeph Day San Jose - Red Hat Storage Acceleration Utlizing Flash Technology
Ceph Day San Jose - Red Hat Storage Acceleration Utlizing Flash Technology
 
Sql saturday powerpoint dc_san
Sql saturday powerpoint dc_sanSql saturday powerpoint dc_san
Sql saturday powerpoint dc_san
 
Understanding hard drive performance
Understanding hard drive performanceUnderstanding hard drive performance
Understanding hard drive performance
 
Tegile Systems Flash Storage Introduction
Tegile Systems Flash Storage IntroductionTegile Systems Flash Storage Introduction
Tegile Systems Flash Storage Introduction
 
Tegile Enterprise Flash Storage
Tegile Enterprise Flash StorageTegile Enterprise Flash Storage
Tegile Enterprise Flash Storage
 
IMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory Easy
IMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory EasyIMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory Easy
IMCSummit 2016 Keynote - Benzi Galili - More Memory for In-Memory Easy
 
Enterprise-class Solid State Drives
Enterprise-class Solid State DrivesEnterprise-class Solid State Drives
Enterprise-class Solid State Drives
 
RocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDBRocksDB storage engine for MySQL and MongoDB
RocksDB storage engine for MySQL and MongoDB
 
Virtualization Changes Storage
Virtualization Changes StorageVirtualization Changes Storage
Virtualization Changes Storage
 
Gluster compliance
Gluster compliance Gluster compliance
Gluster compliance
 
Managed disk-Azure Storage Evolution
Managed disk-Azure Storage EvolutionManaged disk-Azure Storage Evolution
Managed disk-Azure Storage Evolution
 
cPanelCon 2014: InnoDB Anatomy
cPanelCon 2014: InnoDB AnatomycPanelCon 2014: InnoDB Anatomy
cPanelCon 2014: InnoDB Anatomy
 

Similaire à MySQL with FaCE

[G2]fa ce deview_2012
[G2]fa ce deview_2012[G2]fa ce deview_2012
[G2]fa ce deview_2012
NAVER D2
 
CS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage ManagementCS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage Management
J Singh
 
02.28.13 WANdisco ApacheCon 2013
02.28.13 WANdisco ApacheCon 201302.28.13 WANdisco ApacheCon 2013
02.28.13 WANdisco ApacheCon 2013
WANdisco Plc
 
Storage, San And Business Continuity Overview
Storage, San And Business Continuity OverviewStorage, San And Business Continuity Overview
Storage, San And Business Continuity Overview
Alan McSweeney
 
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red_Hat_Storage
 

Similaire à MySQL with FaCE (20)

[G2]fa ce deview_2012
[G2]fa ce deview_2012[G2]fa ce deview_2012
[G2]fa ce deview_2012
 
Getting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDsGetting The Most Out Of Your Flash/SSDs
Getting The Most Out Of Your Flash/SSDs
 
Hadoop compression strata conference
Hadoop compression strata conferenceHadoop compression strata conference
Hadoop compression strata conference
 
CS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage ManagementCS 542 Putting it all together -- Storage Management
CS 542 Putting it all together -- Storage Management
 
How Data Instant Replay and Data Progression Work Together
How Data Instant Replay and Data Progression Work TogetherHow Data Instant Replay and Data Progression Work Together
How Data Instant Replay and Data Progression Work Together
 
02.28.13 WANdisco ApacheCon 2013
02.28.13 WANdisco ApacheCon 201302.28.13 WANdisco ApacheCon 2013
02.28.13 WANdisco ApacheCon 2013
 
Storage, San And Business Continuity Overview
Storage, San And Business Continuity OverviewStorage, San And Business Continuity Overview
Storage, San And Business Continuity Overview
 
Varrow datacenter storage today and tomorrow
Varrow   datacenter storage today and tomorrowVarrow   datacenter storage today and tomorrow
Varrow datacenter storage today and tomorrow
 
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
Red Hat Storage Day Dallas - Red Hat Ceph Storage Acceleration Utilizing Flas...
 
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
 
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
Cluster Fudge: Recipes for WordPress in the Cloud (WordCamp Austin 2014 Speaker)
 
Redis persistence in practice
Redis persistence in practiceRedis persistence in practice
Redis persistence in practice
 
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology Red Hat Ceph Storage Acceleration Utilizing Flash Technology
Red Hat Ceph Storage Acceleration Utilizing Flash Technology
 
Demystifying Storage - Building large SANs
Demystifying  Storage - Building large SANsDemystifying  Storage - Building large SANs
Demystifying Storage - Building large SANs
 
Optimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDsOptimizing RocksDB for Open-Channel SSDs
Optimizing RocksDB for Open-Channel SSDs
 
Design Tradeoffs for SSD Performance
Design Tradeoffs for SSD PerformanceDesign Tradeoffs for SSD Performance
Design Tradeoffs for SSD Performance
 
Nachos 2
Nachos 2Nachos 2
Nachos 2
 
Nachos 2
Nachos 2Nachos 2
Nachos 2
 
Tuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy WorkloadTuning Linux Windows and Firebird for Heavy Workload
Tuning Linux Windows and Firebird for Heavy Workload
 
Lecture storage-buffer
Lecture storage-bufferLecture storage-buffer
Lecture storage-buffer
 

Dernier

Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Dernier (20)

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of TransformationWSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
WSO2CON 2024 - Designing Event-Driven Enterprises: Stories of Transformation
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 

MySQL with FaCE

  • 2. Contents 7/4/2016 2 • Introduction • Flash as Cache Extension (FaCE) – Design Choices – Two Optimizations • MySQL Buffer Management • MySQL with FaCE • Performance Evaluation • Current Issue & Future Work
  • 3. Introduction 7/4/2016 3 • IOPS/$: SSDs >> HDDs • GB/$: HDDs >> SSDs • Therefore, it is more sensible to use SSDs to supplement HDDs, rather than to replace them – SSD as cache between RAM and HDDs – To provide both the performance of SSDs and the capacity of HDDs as little cost as possible
  • 4. Flash as Cache Extension (FaCE) 7/4/2016 4 Storage (HDD) FaCE (SSD) RAM Buffer (LRU) Random Read Random Read  Low cost Sequential Write  High throughput Random Write  Faster recovery
  • 5. FaCE: Design Choices 7/4/2016 5 1. When to cache pages in SSD? : on entry vs. on exit 2. What pages to cache in SSD? : clean vs. dirty vs. both 3. Sync policy between SSD and HDD : write-thru vs. write-back 4. SSD Cache Replacement Policy : LRU vs. FIFO
  • 6. Design Choices: SSD Cache Replacement Policy 7/4/2016 6 • LRU vs. FIFO (First-In-First-Out) – Write miss: LRU‐based victim selection, write‐back if dirty victim, and overwrite the old victim page with the new page being evicted – Write hit: overwrite the old copy in flash cache with the updated page being evicted RAM Buffer (LRU) Flash as Cache Extension Storage (HDD) Evict SSD cache is full! Random writes against SSD
  • 7. Design Choices: SSD Cache Replacement Policy 7/4/2016 7 • LRU vs. FIFO (First-In-First-Out) – Victims are chosen from the rear end of flash cache  “Sequential writes” against SSD – Write hit : no additional action is taken in order not to incur random writes – Multi-Version FIFO (mvFIFO) SSD cache is full! RAM Buffer (LRU) A Flash as Cache Extension Storage (HDD) B Evict A Old version Latest version A
  • 8. Design Choices: SSD Cache Replacement Policy 7/4/2016 8 • LRU vs. FIFO (First-In-First-Out) – Write reduction in mvFIFO – Reduce three writes to HDD to one RAM Buffer (LRU) Flash as Cache Extension Storage (HDD) A Evict A A V3 V1 V2 Old version Latest version
  • 9. mvFIFO: Two Optimizations 7/4/2016 9 • Group Replacement (GR) – Multiple pages are replaced in a group in order to exploit the internal parallelism in modern SSDs – GR can improve SSD I/O throughput • Group Second Chance (GSC) – GR + Second chance – if a victim candidate page is valid and referenced, will re-enque the victim to SSD cache – GSC can achieve higher hit ratio and more write reductions
  • 10. Group Replacement (GR) 7/4/2016 10 1. Single group read from SSD (64/128 pages) 2. Batch random writes to HDD 3. Single group write to SSD RAM Buffer (LRU) Flash as Cache Extension Storage (HDD) Evict Fetch on miss RAM Check valid and dirty flag SSD cache is full!
  • 11. Group Second Chance (GSC) 7/4/2016 11 • GR + Second Chance RAM Buffer (LRU) Flash as Cache Extension Storage (HDD) Evict RAM Check reference bit, If true, give them 2nd chance SSD cache is full! Reference bit is ON Fetch on miss
  • 12. DB Files MySQL Buffer Management 7/4/2016 12 RAM Buffer (LRU) Evict & Stage out dirty pages Fetch on miss Doublewrite Buffer pp Storage (HDD/SSD)
  • 13. MySQL with FaCE 7/4/2016 13 • FaCE turns small random writes to large sequential ones – Maximize the I/O throughput of a flash caching device • FaCE can be used to recover the system more quickly • We don’t need to use double write buffer for recovery • Reduce two writes to HDD to one
  • 14. Dirty Page in FaCE 7/4/2016 14 DB Files RAM Buffer (LRU) Flash as Cache Extension Evict Fetch on miss Stage out dirty pages Doublewrite Buffer SSD cache is full! Storage (HDD/SSD) p
  • 15. Clean Page in FaCE (1) 7/4/2016 15 DB Files RAM Buffer (LRU) Flash as Cache Extension Evict Fetch on miss Stage out dirty pages Doublewrite Buffer p SSD cache is full! Storage (HDD/SSD) p p
  • 16. Clean Page in FaCE (2) 7/4/2016 16 DB Files RAM Buffer (LRU) Flash as Cache Extension Evict Fetch on miss Stage out dirty pages Doublewrite Buffer SSD cache is full! Storage (HDD/SSD) p
  • 17. Performance Evaluation 7/4/2016 17 Database Size Flash cache size Transaction per minute Count (TpmC) Original FaCE Dirty-Only 100G 20G 5637 8168 50G 10G 5758 8347 10G 2G 5812 8708 • MySQL with FaCE Dirty-Only shows about 40~50% higher TpmC than original MySQL • No GR, No GSC
  • 18. Current Issue & Future work 7/4/2016 18 • Current Issue – Implementation of Group Second Chance (GSC) • Future Work – Implementation of FaCE on Multi-stream SSD – Copy-back victims when evictions occur in RAM buffer and flush them using background flusher (for mixed version of FaCE)
  • 19. Future Work (1) 7/4/2016 19 DB Files RAM Buffer (LRU) Flash as Cache Extension Evict Fetch on miss Stage out dirty pages Doublewrite Buffer Storage (HDD/SSD) Temporary Buffer Background Flusher Memory p

Notes de l'éditeur

  1. 지금부터 제가 지금까지 MySQL에 FaCE를 어떻게 구현했고, 앞으로 할 일이 무엇인지에 대해 발표하겠습니다.
  2. SSD의 용량당 가격은 크게 감소했지만, HDD와 SSD 사이 에는 여전히 큰 가격 차이가 존재한다. 그래서 HDD를 SSD로 완전히 대체하 는 것보다 HDD의 성능을 보완하기 위해 SSD를 추가하여 사용하는 것이 더 경제적이다.
  3. 이러한 맥락으로 제안된 Flash-aware Cache Extension(FaCE)은 낮은 오버헤드로 플래시메모리를 DRAM 버퍼의 확장으로 사용하는 캐싱 전략이다.