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

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
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
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
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
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
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
 
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
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 

Recently uploaded (20)

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
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
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.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
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
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
 
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...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 

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