SlideShare a Scribd company logo
1 of 37
Download to read offline
Sangwook Kim1, Hwanju Kim2, Sang-Hoon Kim3, Joonwon Lee1,
and Jinkyu Jeong1
Sungkyunkwan University1
University of Cambridge2
Korea Advanced Institute of Science and Technology (KAIST)3
Request-Oriented
Durable Write Caching for
Application Performance
Non-volatile Write Cache
• Volatile DRAM cache is ineffective for write
• Writes are dominant I/Os [FAST’09, FAST’10, FAST’14]
• Non-volatile write cache (NVWC) provides
• Fast response for write w/o loss of durability
• NVWC candidates
PerformanceGB/$
NV-DRAMPCM MRAMFlash
[Bhadkamkar et al., FAST’09] BORG: Block-reORGanization for self-optimizing storage systems
[Koller et al., FAST’10] I/O deduplication: Utilizing content similarity to improve I/O performance
[Harter et al., FAST’14] Analysis of HDFS under HBase: a Facebook messages case study
Non-volatile Write Cache
• Simple caching policy
Backing Storage
Operating System
P1 P2
Write
P3
Write Write
Application
NVWC Blindly caching all writes
Lazily writing back to storage
Non-volatile Write Cache
• Simple caching policy
Backing Storage
Operating System
P1 P2
Write
P3
Write Write
Application
NVWC Blindly caching all writes
Lazily writing back to storage
No consideration for
application performance
Impact on Application Performance
• Illustrative experiment
• TPC-C workload
• PostgreSQL database
• 2 NVWC devices
• 32MB NV-DRAM (emulated via ramdisk)
• 4GB flash SSD
Impact on Application Performance
• Experimental result
2.1X
1.7X
* System perf.
- ~ 2.1X improved
Impact on Application Performance
• Experimental result
Marginal gain
Performance
drop by 50%!
* System perf.
- ~ 2.1X improved
* Application perf.
- ~ 50% degraded
What’s the Problem?
• Criticality-agnostic contention
Criticality-Agnostic Contention
• Different write criticality
Backing Storage
Operating System
P1
Client
P2
Request Response Application
Application
performance
NVWC
P3
Criticality-Agnostic Contention
• Different write criticality
Backing Storage
Operating System
P1
Client
P2
Request Response Application
NVWC
P3
Background
process/thread
Criticality-Agnostic Contention
• Different write criticality
Backing Storage
Operating System
P1
Client
P2
Request Response Application
NVWC
Critical Non-critical
P3
Criticality-Agnostic Contention
• Different write criticality
Backing Storage
Operating System
P1
Client
P2
Request Response Application
NVWC
Critical Non-critical
P3
* Contentions
- Capacity contention
- Bandwidth contention
Criticality-Agnostic Contention
Backing Storage
Operating System
P1
Client
P2
Request Response Application
Bounded writeback
throughput
Critical Non-critical
P3
Frequent
write stalls
• Capacity contention
Criticality-Agnostic Contention
Backing Storage
P1
Client
P2
Request Response Application
Sufficient free blocks
Critical Non-critical
P3
Excessive
queueing delay
C HeadNCNCNCNCNCWBWBWBWB
• Bandwidth contention
• Request-oriented caching policy
Our Approach
Backing Storage
Operating System
P1 P2
Application
NVWC
Critical Non-critical
P3
Caching critical
writes only
* Definitions
- Critical process (CP): a
process handling request
- Critical write: a write
awaited by a critical proc.
Client
CP NCP NCP
Challenge
• How to accurately detect critical writes
• Types of critical write
• Sync. writes from critical processes
• Dependency-induced critical writes
• Process dependency-induced
• I/O dependency-induced
• Process dependency
B3
B4
B5
Dependency Problem
NCP
CP
Lock
Wake
Wait for B1
Process
Dep.
B1
B1
B2
Dependency Problem
• I/O dependency
NCP
CP
Sync Complete
I/O
Dep.
Wait for B2
B3
B4
B5
* Example scenarios:
- CP fsync() to a block under writeback issued by NCP
- CP tries to overwrite fs journal buffer under writeback
Critical Write Detection
• Critical process identification
• Application-guided identification
Critical Process Identification
• Application-guided identification
NCPNCPCPCP
Operating System
NVWC
API
Backing Storage
Client 1 Client 2
Application
NCP
Critical Write Detection
• Critical process identification
• Application-guided identification
• Dependency resolution
• Criticality inheritance protocols
• Process criticality inheritance
• I/O criticality inheritance
• Blocking object tracking
Critical Write Detection
• Critical process identification
• Application-guided identification
• Dependency resolution
• Criticality inheritance protocols
• Process criticality inheritance
• I/O criticality inheritance
• Blocking object tracking
B1B1
Criticality Inheritance Protocols
• Process criticality inheritance
Lock
Wake
Inherit
B2
B3
B4
NCP
CP
B2
Criticality Inheritance Protocols
• I/O criticality inheritance
Sync
CompleteReissue
Discard B3
B4
B5
B1
B2
Key issue:
caching the dependent write outstanding to disk w/o side effects
NCP
CP
Evaluation
• Implementation on Linux 3.13 w/ FlashCache 3.1
• Application studies
• PostgreSQL database
• Redis key-value store
Client 1
Back
end1
Back
end2
Client 2
Log
writer
Writer
Check
pointer
Back
end1
Back
end2
Client 1,2,3,…
Master
Log
rewriter
Snap
shotter
Master
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
FlashCache
Server Machine
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
FlashCache
Server Machine
No
discretion
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
- SYNC
FlashCache
Server Machine
Sync.
writes
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
- SYNC
- CP
FlashCache
Server Machine
CP sync.
writes
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
- SYNC
- CP
- CP+PI
FlashCache
Server Machine
+ Process
criticality
inheritance
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
- SYNC
- CP
- CP+PI
- CP+PI+IOIFlashCache
Server Machine
+ I/O
criticality
inheritance
TPC-C / YCSB
Client Machine
1Gbps
• Experimental setup
Evaluation
PostgreSQL / Redis
4GB ramdisk /
256GB SSD
10K RPM HDD x2
* Caching policies
- ALL (default)
- SYNC
- CP
- CP+PI
- CP+PI+IOI
- WAL (PostgreSQL)
FlashCache
TPC-C / YCSB
Client MachineServer Machine
1Gbps
Trx log
writes
PostgreSQL Performance
• TPC-C workload w/ ramdisk
SufficientScarce
80% Same performance
w/ 72% less cached writes
Our scheme resolves
capacity contention &
runtime dependencies
PostgreSQL Performance
• TPC-C workload w/ SSD
SufficientSufficient
2.2X
Our scheme resolves
bandwidth contention &
runtime dependencies
Redis Performance
• Update-heavy workload w/ 16GB SSD
47% better throughput Improved tail latency
13X better @ 99.9th %ile
(50ms vs. 649ms)
Our scheme improves
request throughput &
request latency
Conclusions
• Key observation
• Each write has different performance-criticality
• Request-oriented caching policy
• Solely utilizes NVWC for application performance
• Improves performance while reducing cached writes
• Future work
• System-level critical process identification
• Application to user-interactive environments
Thank You!
• Questions and comments
• Contact
• sw.kim@skku.edu

More Related Content

What's hot

Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!Daniel Londero
 
WordPress Powered by AMIMOTO HHVM
WordPress Powered by AMIMOTO HHVM WordPress Powered by AMIMOTO HHVM
WordPress Powered by AMIMOTO HHVM Kel
 
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreGlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreAtin Mukherjee
 
Lcna 2012-tutorial
Lcna 2012-tutorialLcna 2012-tutorial
Lcna 2012-tutorialGluster.org
 
Geek Sync | Guide to Understanding and Monitoring Tempdb
Geek Sync | Guide to Understanding and Monitoring TempdbGeek Sync | Guide to Understanding and Monitoring Tempdb
Geek Sync | Guide to Understanding and Monitoring TempdbIDERA Software
 
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...Gluster.org
 
Integration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpanaIntegration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpanaGluster.org
 
EVCache: Lowering Costs for a Low Latency Cache with RocksDB
EVCache: Lowering Costs for a Low Latency Cache with RocksDBEVCache: Lowering Costs for a Low Latency Cache with RocksDB
EVCache: Lowering Costs for a Low Latency Cache with RocksDBScott Mansfield
 
Sharding: Past, Present and Future with Krutika Dhananjay
Sharding: Past, Present and Future with Krutika DhananjaySharding: Past, Present and Future with Krutika Dhananjay
Sharding: Past, Present and Future with Krutika DhananjayGluster.org
 
20160401 Gluster-roadmap
20160401 Gluster-roadmap20160401 Gluster-roadmap
20160401 Gluster-roadmapGluster.org
 
Sdc 2012-challenges
Sdc 2012-challengesSdc 2012-challenges
Sdc 2012-challengesGluster.org
 
Gluster fs current_features_and_roadmap
Gluster fs current_features_and_roadmapGluster fs current_features_and_roadmap
Gluster fs current_features_and_roadmapGluster.org
 
Node level parallism in hadoop
Node level parallism in hadoopNode level parallism in hadoop
Node level parallism in hadoopAmar Dhillon
 
20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmapGluster.org
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdoseGluster.org
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephScyllaDB
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterGluster.org
 

What's hot (19)

Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!Symfony e grandi numeri: si può fare!
Symfony e grandi numeri: si può fare!
 
WordPress Powered by AMIMOTO HHVM
WordPress Powered by AMIMOTO HHVM WordPress Powered by AMIMOTO HHVM
WordPress Powered by AMIMOTO HHVM
 
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized StoreGlusterD 2.0 - Managing Distributed File System Using a Centralized Store
GlusterD 2.0 - Managing Distributed File System Using a Centralized Store
 
Lcna 2012-tutorial
Lcna 2012-tutorialLcna 2012-tutorial
Lcna 2012-tutorial
 
Geek Sync | Guide to Understanding and Monitoring Tempdb
Geek Sync | Guide to Understanding and Monitoring TempdbGeek Sync | Guide to Understanding and Monitoring Tempdb
Geek Sync | Guide to Understanding and Monitoring Tempdb
 
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...
Performance bottlenecks for metadata workload in Gluster with Poornima Gurusi...
 
Integration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpanaIntegration of Glusterfs in to commvault simpana
Integration of Glusterfs in to commvault simpana
 
EVCache: Lowering Costs for a Low Latency Cache with RocksDB
EVCache: Lowering Costs for a Low Latency Cache with RocksDBEVCache: Lowering Costs for a Low Latency Cache with RocksDB
EVCache: Lowering Costs for a Low Latency Cache with RocksDB
 
Sharding: Past, Present and Future with Krutika Dhananjay
Sharding: Past, Present and Future with Krutika DhananjaySharding: Past, Present and Future with Krutika Dhananjay
Sharding: Past, Present and Future with Krutika Dhananjay
 
20160401 Gluster-roadmap
20160401 Gluster-roadmap20160401 Gluster-roadmap
20160401 Gluster-roadmap
 
Sdc 2012-challenges
Sdc 2012-challengesSdc 2012-challenges
Sdc 2012-challenges
 
Gluster fs current_features_and_roadmap
Gluster fs current_features_and_roadmapGluster fs current_features_and_roadmap
Gluster fs current_features_and_roadmap
 
ARI. HiPEAK 2014
ARI. HiPEAK 2014ARI. HiPEAK 2014
ARI. HiPEAK 2014
 
Node level parallism in hadoop
Node level parallism in hadoopNode level parallism in hadoop
Node level parallism in hadoop
 
20160401 guster-roadmap
20160401 guster-roadmap20160401 guster-roadmap
20160401 guster-roadmap
 
Gluster intro-tdose
Gluster intro-tdoseGluster intro-tdose
Gluster intro-tdose
 
Accordion HBaseCon 2017
Accordion HBaseCon 2017Accordion HBaseCon 2017
Accordion HBaseCon 2017
 
Seastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for CephSeastore: Next Generation Backing Store for Ceph
Seastore: Next Generation Backing Store for Ceph
 
Scale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_glusterScale out backups-with_bareos_and_gluster
Scale out backups-with_bareos_and_gluster
 

Viewers also liked

Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...
Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...
Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...Sangwook Kim
 
Arte del renacimiento
Arte del renacimientoArte del renacimiento
Arte del renacimientoJorgeyPedro
 
Repertorios cognoscitivos de atencion, percepcion y memoria
Repertorios cognoscitivos de atencion, percepcion y memoriaRepertorios cognoscitivos de atencion, percepcion y memoria
Repertorios cognoscitivos de atencion, percepcion y memoriaYuridia Mendez
 
Hey bread 사업계획서
Hey bread 사업계획서Hey bread 사업계획서
Hey bread 사업계획서@hongss
 
What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...Sveta Smirnova
 
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...Enlightening the I/O Path: A Holistic Approach for Application Performance (U...
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...Sangwook Kim
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group ReplicationKenny Gryp
 
How Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagHow Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagJean-François Gagné
 
Creating HTML Pages
Creating HTML PagesCreating HTML Pages
Creating HTML PagesMike Crabb
 
Top Insights from SaaStr by Leading Enterprise Software Experts
Top Insights from SaaStr by Leading Enterprise Software ExpertsTop Insights from SaaStr by Leading Enterprise Software Experts
Top Insights from SaaStr by Leading Enterprise Software ExpertsOpenView
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and PracticesAnand Bagmar
 
CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzRachel Andrew
 
New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0Mike Taylor
 
Node.js and The Internet of Things
Node.js and The Internet of ThingsNode.js and The Internet of Things
Node.js and The Internet of ThingsLosant
 

Viewers also liked (20)

Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...
Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...
Virtual Asymmetric Multiprocessor for Interactive Performance of Consolidated...
 
Cultura 6 mariam
Cultura  6 mariamCultura  6 mariam
Cultura 6 mariam
 
Arte del renacimiento
Arte del renacimientoArte del renacimiento
Arte del renacimiento
 
Be Always Beta
Be Always BetaBe Always Beta
Be Always Beta
 
SocialSciencePres
SocialSciencePresSocialSciencePres
SocialSciencePres
 
Repertorios cognoscitivos de atencion, percepcion y memoria
Repertorios cognoscitivos de atencion, percepcion y memoriaRepertorios cognoscitivos de atencion, percepcion y memoria
Repertorios cognoscitivos de atencion, percepcion y memoria
 
Barra de menús
Barra de menúsBarra de menús
Barra de menús
 
Final
FinalFinal
Final
 
Hey bread 사업계획서
Hey bread 사업계획서Hey bread 사업계획서
Hey bread 사업계획서
 
Html
HtmlHtml
Html
 
What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...What you wanted to know about MySQL, but could not find using inernal instrum...
What you wanted to know about MySQL, but could not find using inernal instrum...
 
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...Enlightening the I/O Path: A Holistic Approach for Application Performance (U...
Enlightening the I/O Path: A Holistic Approach for Application Performance (U...
 
MySQL Group Replication
MySQL Group ReplicationMySQL Group Replication
MySQL Group Replication
 
How Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lagHow Booking.com avoids and deals with replication lag
How Booking.com avoids and deals with replication lag
 
Creating HTML Pages
Creating HTML PagesCreating HTML Pages
Creating HTML Pages
 
Top Insights from SaaStr by Leading Enterprise Software Experts
Top Insights from SaaStr by Leading Enterprise Software ExpertsTop Insights from SaaStr by Leading Enterprise Software Experts
Top Insights from SaaStr by Leading Enterprise Software Experts
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
CSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, LinzCSS Grid Layout for Topconf, Linz
CSS Grid Layout for Topconf, Linz
 
New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0New Amazing Things about AngularJS 2.0
New Amazing Things about AngularJS 2.0
 
Node.js and The Internet of Things
Node.js and The Internet of ThingsNode.js and The Internet of Things
Node.js and The Internet of Things
 

Similar to Request-Oriented Durable Write Caching for Application Performance (USENIX ATC 2015)

Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalVigyan Jain
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureCeph Community
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitecturePatrick McGarry
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephenSteve Feldman
 
TechTalk v2.0 - Performance tuning Cassandra + AWS
TechTalk v2.0 - Performance tuning Cassandra + AWSTechTalk v2.0 - Performance tuning Cassandra + AWS
TechTalk v2.0 - Performance tuning Cassandra + AWSPythian
 
Towards User-Defined SLA in Cloud Flash Storage.pptx
Towards User-Defined SLA in Cloud Flash Storage.pptxTowards User-Defined SLA in Cloud Flash Storage.pptx
Towards User-Defined SLA in Cloud Flash Storage.pptxPo-Chuan Chen
 
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2Con USA 2015: Deployment Patterns and Capacity PlanningWSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2Con USA 2015: Deployment Patterns and Capacity PlanningWSO2
 
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 Red_Hat_Storage
 
Choose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesChoose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesYusuf Hadiwinata Sutandar
 
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 TechnologyCeph Community
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Odinot Stanislas
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...DataStax
 
Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality
Erasing Belady's Limitations: In Search of Flash Cache Offline OptimalityErasing Belady's Limitations: In Search of Flash Cache Offline Optimality
Erasing Belady's Limitations: In Search of Flash Cache Offline OptimalityYue Cheng
 
P99 Pursuit: 8 Years of Battling P99 Latency
P99 Pursuit: 8 Years of Battling P99 LatencyP99 Pursuit: 8 Years of Battling P99 Latency
P99 Pursuit: 8 Years of Battling P99 LatencyScyllaDB
 
To Serverless and Beyond
To Serverless and BeyondTo Serverless and Beyond
To Serverless and BeyondScyllaDB
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisOpenEBS
 
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 WorkloadMarius Adrian Popa
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceScott Mansfield
 

Similar to Request-Oriented Durable Write Caching for Application Performance (USENIX ATC 2015) (20)

Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
 
QCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference ArchitectureQCT Ceph Solution - Design Consideration and Reference Architecture
QCT Ceph Solution - Design Consideration and Reference Architecture
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 
TechTalk v2.0 - Performance tuning Cassandra + AWS
TechTalk v2.0 - Performance tuning Cassandra + AWSTechTalk v2.0 - Performance tuning Cassandra + AWS
TechTalk v2.0 - Performance tuning Cassandra + AWS
 
Towards User-Defined SLA in Cloud Flash Storage.pptx
Towards User-Defined SLA in Cloud Flash Storage.pptxTowards User-Defined SLA in Cloud Flash Storage.pptx
Towards User-Defined SLA in Cloud Flash Storage.pptx
 
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2Con USA 2015: Deployment Patterns and Capacity PlanningWSO2Con USA 2015: Deployment Patterns and Capacity Planning
WSO2Con USA 2015: Deployment Patterns and Capacity Planning
 
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
 
Choose the Right Container Storage for Kubernetes
Choose the Right Container Storage for KubernetesChoose the Right Container Storage for Kubernetes
Choose the Right Container Storage for Kubernetes
 
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
 
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
Ceph: Open Source Storage Software Optimizations on Intel® Architecture for C...
 
Ceph
CephCeph
Ceph
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
 
Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality
Erasing Belady's Limitations: In Search of Flash Cache Offline OptimalityErasing Belady's Limitations: In Search of Flash Cache Offline Optimality
Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality
 
P99 Pursuit: 8 Years of Battling P99 Latency
P99 Pursuit: 8 Years of Battling P99 LatencyP99 Pursuit: 8 Years of Battling P99 Latency
P99 Pursuit: 8 Years of Battling P99 Latency
 
To Serverless and Beyond
To Serverless and BeyondTo Serverless and Beyond
To Serverless and Beyond
 
Redis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for RedisRedis Conf 2019--Container Attached Storage for Redis
Redis Conf 2019--Container Attached Storage for Redis
 
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
 
Application Caching: The Hidden Microservice
Application Caching: The Hidden MicroserviceApplication Caching: The Hidden Microservice
Application Caching: The Hidden Microservice
 

Recently uploaded

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 

Recently uploaded (20)

BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 

Request-Oriented Durable Write Caching for Application Performance (USENIX ATC 2015)

  • 1. Sangwook Kim1, Hwanju Kim2, Sang-Hoon Kim3, Joonwon Lee1, and Jinkyu Jeong1 Sungkyunkwan University1 University of Cambridge2 Korea Advanced Institute of Science and Technology (KAIST)3 Request-Oriented Durable Write Caching for Application Performance
  • 2. Non-volatile Write Cache • Volatile DRAM cache is ineffective for write • Writes are dominant I/Os [FAST’09, FAST’10, FAST’14] • Non-volatile write cache (NVWC) provides • Fast response for write w/o loss of durability • NVWC candidates PerformanceGB/$ NV-DRAMPCM MRAMFlash [Bhadkamkar et al., FAST’09] BORG: Block-reORGanization for self-optimizing storage systems [Koller et al., FAST’10] I/O deduplication: Utilizing content similarity to improve I/O performance [Harter et al., FAST’14] Analysis of HDFS under HBase: a Facebook messages case study
  • 3. Non-volatile Write Cache • Simple caching policy Backing Storage Operating System P1 P2 Write P3 Write Write Application NVWC Blindly caching all writes Lazily writing back to storage
  • 4. Non-volatile Write Cache • Simple caching policy Backing Storage Operating System P1 P2 Write P3 Write Write Application NVWC Blindly caching all writes Lazily writing back to storage No consideration for application performance
  • 5. Impact on Application Performance • Illustrative experiment • TPC-C workload • PostgreSQL database • 2 NVWC devices • 32MB NV-DRAM (emulated via ramdisk) • 4GB flash SSD
  • 6. Impact on Application Performance • Experimental result 2.1X 1.7X * System perf. - ~ 2.1X improved
  • 7. Impact on Application Performance • Experimental result Marginal gain Performance drop by 50%! * System perf. - ~ 2.1X improved * Application perf. - ~ 50% degraded
  • 8. What’s the Problem? • Criticality-agnostic contention
  • 9. Criticality-Agnostic Contention • Different write criticality Backing Storage Operating System P1 Client P2 Request Response Application Application performance NVWC P3
  • 10. Criticality-Agnostic Contention • Different write criticality Backing Storage Operating System P1 Client P2 Request Response Application NVWC P3 Background process/thread
  • 11. Criticality-Agnostic Contention • Different write criticality Backing Storage Operating System P1 Client P2 Request Response Application NVWC Critical Non-critical P3
  • 12. Criticality-Agnostic Contention • Different write criticality Backing Storage Operating System P1 Client P2 Request Response Application NVWC Critical Non-critical P3 * Contentions - Capacity contention - Bandwidth contention
  • 13. Criticality-Agnostic Contention Backing Storage Operating System P1 Client P2 Request Response Application Bounded writeback throughput Critical Non-critical P3 Frequent write stalls • Capacity contention
  • 14. Criticality-Agnostic Contention Backing Storage P1 Client P2 Request Response Application Sufficient free blocks Critical Non-critical P3 Excessive queueing delay C HeadNCNCNCNCNCWBWBWBWB • Bandwidth contention
  • 15. • Request-oriented caching policy Our Approach Backing Storage Operating System P1 P2 Application NVWC Critical Non-critical P3 Caching critical writes only * Definitions - Critical process (CP): a process handling request - Critical write: a write awaited by a critical proc. Client CP NCP NCP
  • 16. Challenge • How to accurately detect critical writes • Types of critical write • Sync. writes from critical processes • Dependency-induced critical writes • Process dependency-induced • I/O dependency-induced
  • 17. • Process dependency B3 B4 B5 Dependency Problem NCP CP Lock Wake Wait for B1 Process Dep. B1
  • 18. B1 B2 Dependency Problem • I/O dependency NCP CP Sync Complete I/O Dep. Wait for B2 B3 B4 B5 * Example scenarios: - CP fsync() to a block under writeback issued by NCP - CP tries to overwrite fs journal buffer under writeback
  • 19. Critical Write Detection • Critical process identification • Application-guided identification
  • 20. Critical Process Identification • Application-guided identification NCPNCPCPCP Operating System NVWC API Backing Storage Client 1 Client 2 Application NCP
  • 21. Critical Write Detection • Critical process identification • Application-guided identification • Dependency resolution • Criticality inheritance protocols • Process criticality inheritance • I/O criticality inheritance • Blocking object tracking
  • 22. Critical Write Detection • Critical process identification • Application-guided identification • Dependency resolution • Criticality inheritance protocols • Process criticality inheritance • I/O criticality inheritance • Blocking object tracking
  • 23. B1B1 Criticality Inheritance Protocols • Process criticality inheritance Lock Wake Inherit B2 B3 B4 NCP CP
  • 24. B2 Criticality Inheritance Protocols • I/O criticality inheritance Sync CompleteReissue Discard B3 B4 B5 B1 B2 Key issue: caching the dependent write outstanding to disk w/o side effects NCP CP
  • 25. Evaluation • Implementation on Linux 3.13 w/ FlashCache 3.1 • Application studies • PostgreSQL database • Redis key-value store Client 1 Back end1 Back end2 Client 2 Log writer Writer Check pointer Back end1 Back end2 Client 1,2,3,… Master Log rewriter Snap shotter Master
  • 26. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 FlashCache Server Machine TPC-C / YCSB Client Machine 1Gbps
  • 27. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) FlashCache Server Machine No discretion TPC-C / YCSB Client Machine 1Gbps
  • 28. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) - SYNC FlashCache Server Machine Sync. writes TPC-C / YCSB Client Machine 1Gbps
  • 29. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) - SYNC - CP FlashCache Server Machine CP sync. writes TPC-C / YCSB Client Machine 1Gbps
  • 30. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) - SYNC - CP - CP+PI FlashCache Server Machine + Process criticality inheritance TPC-C / YCSB Client Machine 1Gbps
  • 31. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) - SYNC - CP - CP+PI - CP+PI+IOIFlashCache Server Machine + I/O criticality inheritance TPC-C / YCSB Client Machine 1Gbps
  • 32. • Experimental setup Evaluation PostgreSQL / Redis 4GB ramdisk / 256GB SSD 10K RPM HDD x2 * Caching policies - ALL (default) - SYNC - CP - CP+PI - CP+PI+IOI - WAL (PostgreSQL) FlashCache TPC-C / YCSB Client MachineServer Machine 1Gbps Trx log writes
  • 33. PostgreSQL Performance • TPC-C workload w/ ramdisk SufficientScarce 80% Same performance w/ 72% less cached writes Our scheme resolves capacity contention & runtime dependencies
  • 34. PostgreSQL Performance • TPC-C workload w/ SSD SufficientSufficient 2.2X Our scheme resolves bandwidth contention & runtime dependencies
  • 35. Redis Performance • Update-heavy workload w/ 16GB SSD 47% better throughput Improved tail latency 13X better @ 99.9th %ile (50ms vs. 649ms) Our scheme improves request throughput & request latency
  • 36. Conclusions • Key observation • Each write has different performance-criticality • Request-oriented caching policy • Solely utilizes NVWC for application performance • Improves performance while reducing cached writes • Future work • System-level critical process identification • Application to user-interactive environments
  • 37. Thank You! • Questions and comments • Contact • sw.kim@skku.edu