SlideShare a Scribd company logo
1 of 32
FLASHY PREFETCHING FOR 
HIGH PERFORMANCE FLASH 
DRIVES 
Authors: AHSEN J. UPPAL, RON C. CHIANG AND H. HOWIE HUANG 
Presented by : PRATIK BHAT
OUTLINE 
•INTRODUCTION 
• CHALLENGES 
• DESIGN PINCIPLES 
• ARCHITECTURE 
• IMPLEMENTATION 
• EVALUATION
INTRODUCTION 
• NAND Flash memory 
• SSDs are becoming increasingly popular due to high bandwidth 
and low latency 
• SSDs v/s HDDs 
• Data Prefetching is used to reduce access latency ; because it 
loads data from storage into main memory that data which is 
likely to be read 
• “Flashy” prefetching focuses on high performance SSDs (flash)
Traditional Prefetching 
• Focuses on rotational hard drives and conservative in the 
amount of data prefetched 
• If prefetching is aggressive 
• It can take up shared i/o bandwidth meant for applications 
• Main memory might become filled with unneeded data while useful data 
gets evicted 
• Risky when HDD bandwidth and system RAM are limited 
• Not tuned for different types of storage and applications. An 
application may require data at high rate while SSDs can 
support high prefetch rate
How flashy prefetching is different 
• Takes advantage of high bandwidth and low latency of SSD 
• Aware of the runtime environment 
• Adaptive to the changing needs of application and device both 
• Inherent support for parallel data accesses 
• Aggressiveness is controlled through feedback mechanism
OUTLINE 
• INTRODUCTION 
•CHALLENGES 
• DESIGN PINCIPLES 
• ARCHITECTURE 
• IMPLEMENTATION 
• EVALUATION
1. SSDs are different 
SLC – 
• SLC uses a single cell to store one 
bit of data 
• SLC is faster and much more 
reliable -but also more expensive 
MLC – 
• Multi level cell, can interpret four 
digital states from a signal stored 
in a single cell 
• This makes it denser for a given 
area and so cheaper to produce, 
but it wears out fast
Applications are different 
• Data intensive 
applications may have 
varying I/O 
operations 
• Every application goes 
through multiple 
stages of I/O and data 
operations each 
having different i/o 
needs
Prefetching for SSDs and HDDs is different 
• No seek latency in SSDs 
• Inherent Support for 
parallel access 
• Sequential data can be 
read faster on HDDs as 
platter moves, not 
necessary the case with 
SSDs 
Flashy prefetching gives good balance between speedup 
and cost
OUTLINE 
• INTRODUCTION 
• CHALLENGES 
•DESIGN PINCIPLES 
• ARCHITECTURE 
• IMPLEMENTATION 
• EVALUATION
To address the 3 challenges, the design principles are 
as follows 
1. Control prefetching based on drive performance 
2. Control prefetching based on prefetching performance 
3. Enable prefetching for multiple simultaneous accesses
OUTLINE 
• INTRODUCTION 
• CHALLENGES 
• DESIGN PINCIPLES 
•ARCHITECTURE 
• IMPLEMENTATION 
• EVALUATION
Trace Collection 
• Collect i/o event information 
(timestamp, process id, process name, request type, amount of data, CPU 
no. , starting block no. and block size) 
• Trace application requests and also the requests which actually 
reach the disk
Pattern Recognition 
• Based on the idea of polling interval 
Time 
interval = 
0.5s 
prefetc 
h 
Time 
interval = 
0.5s 
prefetc 
h 
Time 
interval = 
0.5s 
Evaluate 
trace data 
Prefetch 
request 
Adjust 
aggressiveness 
Sleep 
Wake up 
• Only useful information is type of request, starting block no., 
no. of blocks and the process id 
• Basic idea of this step is if an application makes read accesses 
within certain time interval that follows a pattern, prefetching is 
done by extrapolating the same pattern
Pattern Recognition … 
• 4 patterns : 
• Sequential forward/backward reads 
• Strided forward/backward reads 
• Prefetching request is generated if 
• 푁표.표푓 푏푙표푐푘푠 푖푛 푎 푝푎푡푡푒푟푛 (푓푟표푚 푎푏표푣푒) 
푇표푡푎푙 푛표.표푓 푏푙표푐푘푠 푟푒푎푑 푖푛 푡ℎ푒 푖푛푡푒푟푣푎푙 
≥ 푝푎푡푡푒푟푛 푚푎푡푐ℎ 푡ℎ푟푒푠ℎ표푙푑
Data Prefetching 
• Done after recognizing a pattern 
• Scale factor 
• Maximum disk throughput varies for each disk 
• Last known stop block is the start block for next prefetch 
• Stop block is calculated using below parameters 
• Total available bandwidth = Max disk throughput – Estimated application reads 
reaching disk 
• Linear throughput of application = % consecutive reads / total throughput 
• Prefetch_throughput = scale x consec % x ( total blocks / timer interval )
Feedback Monitoring 
• Evaluates and classifies only the read operations that reach disk 
• If any predictable reads were not prefetched (reached the disk), 
aggressiveness is increased 
• If no. of linear reads reaching disk is 0 and no. of blocks 
prefetched is more than what application requested, then 
aggressiveness is decreased 
• This phase utilizes information of previous polling interval. 
Basically compares pattern of reads entering the cache vs 
pattern of reads missing the cache
Pattern Recognition
OUTLINE 
• INTRODUCTION 
• CHALLENGES 
• DESIGN PINCIPLES 
• ARCHITECTURE 
•IMPLEMENTATION 
• EVALUATION
Prefetchd 
• Prototype implemented in Linux system which runs in user 
space 
• Cache eviction policy is with kernel 
• Event collection using blktrace API in linux, 
• Readahead system call is used to load pages from a file into the 
system page cache 
• Current implementation uses a loopback device 
SSD Main memory 
System 
cache
OUTLINE 
• INTRODUCTION 
• CHALLENGES 
• DESIGN PINCIPLES 
• ARCHITECTURE 
• IMPLEMENTATION 
•EVALUATION
Setup 
• CPU: Intel Core2Quad @ 2.33 Ghz wit 8 GB RAM 
• Tested against 4 SSDs and 1 HDD 
• SSDs formatted with ext2 file system with one large file and 
connected with loopback device (formatted with ext3 file 
system)
Benchmarks Used 
• Database test suite 3 (decision support TPCH benchmark 
queries ) 
• BLAST (Biological tool to compare biological sequences) 
• LFS (Large file I/O) 
• PostMark (small files but in large numbers) 
• SlowThink (CPU intensive application)
Flashy Prefetching At Work
Prefetching Speedup 
• Values above 2.0 are omitted 
• Best performance on LFS benchmarks 
• In some cases, speedups for SSDs tend to be lower than HDDs because the potential 
speedup for an already fast device is limited
Prefetching Accuracy 
• Accuracy = Amount of data prefetched and subsequently read / total amount used 
by application 
• Avg accuracy of 60% 
• Websearch benchmark contains large amount of random accesses
Prefetching Cost 
Cost = Amount of data prefetched / Amount of data read by application 
Cost < 1 means amount of data prefetched is less
SUMMARY 
• Data prefetching with SSDs in mind 
• Tunes as per drive and application characteristics 
• Dynamically controls aggression with feedback 
• “Prefetchd” is the prototype built over flashy prefetching 
technique 
• Achieves on an average 20% speedup on LFS and 65-70% 
prefetching accuracy
QUESTIONS???
QUESTIONS???
THANK YOU 

More Related Content

What's hot

PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL-Consulting
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica setsChris Westin
 
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...PostgreSQL-Consulting
 
Spectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSpectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSandeep Patil
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBUniFabric
 
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Continuent
 
Designing large scale distributed systems
Designing large scale distributed systemsDesigning large scale distributed systems
Designing large scale distributed systemsAshwani Priyedarshi
 
Db spof(mssql, my sql)
Db spof(mssql, my sql)Db spof(mssql, my sql)
Db spof(mssql, my sql)재원 최
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopDataWorks Summit
 
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up DataWebinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up DataMongoDB
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practicelarsgeorge
 
Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014marvin herrera
 
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)Lars Marowsky-Brée
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSpark Summit
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryCloudera, Inc.
 
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...DataWorks Summit
 
Geek Sync I SQL Server Tuning without Touching T-SQL
Geek Sync I SQL Server Tuning without Touching T-SQLGeek Sync I SQL Server Tuning without Touching T-SQL
Geek Sync I SQL Server Tuning without Touching T-SQLIDERA Software
 

What's hot (20)

PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya KosmodemianskyPostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
PostgreSQL worst practices, version PGConf.US 2017 by Ilya Kosmodemiansky
 
Replication and replica sets
Replication and replica setsReplication and replica sets
Replication and replica sets
 
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
Linux IO internals for database administrators (SCaLE 2017 and PGDay Nordic 2...
 
PostgreSQL on Solaris
PostgreSQL on SolarisPostgreSQL on Solaris
PostgreSQL on Solaris
 
Spectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN CachingSpectrum Scale Unified File and Object with WAN Caching
Spectrum Scale Unified File and Object with WAN Caching
 
SOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DBSOUG_Deployment__Automation_DB
SOUG_Deployment__Automation_DB
 
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
Training Slides: Basics 107: Simple Tungsten Replicator Installation to Extra...
 
Designing large scale distributed systems
Designing large scale distributed systemsDesigning large scale distributed systems
Designing large scale distributed systems
 
Db spof(mssql, my sql)
Db spof(mssql, my sql)Db spof(mssql, my sql)
Db spof(mssql, my sql)
 
Selective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed HadoopSelective Data Replication with Geographically Distributed Hadoop
Selective Data Replication with Geographically Distributed Hadoop
 
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up DataWebinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
 
HBase in Practice
HBase in PracticeHBase in Practice
HBase in Practice
 
Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014Colvin exadata mistakes_ioug_2014
Colvin exadata mistakes_ioug_2014
 
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)
Modeling, estimating, and predicting Ceph (Linux Foundation - Vault 2015)
 
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo VanzinSecuring Spark Applications by Kostas Sakellis and Marcelo Vanzin
Securing Spark Applications by Kostas Sakellis and Marcelo Vanzin
 
Hadoop Backup and Disaster Recovery
Hadoop Backup and Disaster RecoveryHadoop Backup and Disaster Recovery
Hadoop Backup and Disaster Recovery
 
Surveon Powerful Data Backup Solutions
Surveon Powerful Data Backup SolutionsSurveon Powerful Data Backup Solutions
Surveon Powerful Data Backup Solutions
 
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
NonStop Hadoop - Applying the PaxosFamily of Protocols to make Critical Hadoo...
 
Geek Sync I SQL Server Tuning without Touching T-SQL
Geek Sync I SQL Server Tuning without Touching T-SQLGeek Sync I SQL Server Tuning without Touching T-SQL
Geek Sync I SQL Server Tuning without Touching T-SQL
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 

Similar to Flashy prefetching for high performance flash drives

Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchJoe Alex
 
Training Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed cachingTraining Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed cachingOutSystems
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tigerElizabeth Smith
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarKognitio
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tigerElizabeth Smith
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.Taras Matyashovsky
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slidesMuhammad Ahad
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for allVSKAMCSPSGCT
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Gridsjlorenzocima
 
Scaling Security Workflows in Government Agencies
Scaling Security Workflows in Government AgenciesScaling Security Workflows in Government Agencies
Scaling Security Workflows in Government AgenciesAvere Systems
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMichael Hiskey
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionSplunk
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-conceptsMuhammad Ahad
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxAmanuelmergia
 
19IS305_U4_LP10_LM10-22-23.pdf
19IS305_U4_LP10_LM10-22-23.pdf19IS305_U4_LP10_LM10-22-23.pdf
19IS305_U4_LP10_LM10-22-23.pdfJESUNPK
 
Data Streaming For Big Data
Data Streaming For Big DataData Streaming For Big Data
Data Streaming For Big DataSeval Çapraz
 
Taking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureTaking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureSplunk
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware ProvisioningMongoDB
 

Similar to Flashy prefetching for high performance flash drives (20)

Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using Elasticsearch
 
Training Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed cachingTraining Webinar: Enterprise application performance with distributed caching
Training Webinar: Enterprise application performance with distributed caching
 
Memory Management.pdf
Memory Management.pdfMemory Management.pdf
Memory Management.pdf
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinar
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
Big Data for QAs
Big Data for QAsBig Data for QAs
Big Data for QAs
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slides
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for all
 
Development of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data GridsDevelopment of concurrent services using In-Memory Data Grids
Development of concurrent services using In-Memory Data Grids
 
Scaling Security Workflows in Government Agencies
Scaling Security Workflows in Government AgenciesScaling Security Workflows in Government Agencies
Scaling Security Workflows in Government Agencies
 
Meta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinarMeta scale kognitio hadoop webinar
Meta scale kognitio hadoop webinar
 
Taking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout SessionTaking Splunk to the Next Level - Architecture Breakout Session
Taking Splunk to the Next Level - Architecture Breakout Session
 
05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-concepts
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
 
19IS305_U4_LP10_LM10-22-23.pdf
19IS305_U4_LP10_LM10-22-23.pdf19IS305_U4_LP10_LM10-22-23.pdf
19IS305_U4_LP10_LM10-22-23.pdf
 
Data Streaming For Big Data
Data Streaming For Big DataData Streaming For Big Data
Data Streaming For Big Data
 
Taking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureTaking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – Architecture
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Flashy prefetching for high performance flash drives

  • 1. FLASHY PREFETCHING FOR HIGH PERFORMANCE FLASH DRIVES Authors: AHSEN J. UPPAL, RON C. CHIANG AND H. HOWIE HUANG Presented by : PRATIK BHAT
  • 2. OUTLINE •INTRODUCTION • CHALLENGES • DESIGN PINCIPLES • ARCHITECTURE • IMPLEMENTATION • EVALUATION
  • 3. INTRODUCTION • NAND Flash memory • SSDs are becoming increasingly popular due to high bandwidth and low latency • SSDs v/s HDDs • Data Prefetching is used to reduce access latency ; because it loads data from storage into main memory that data which is likely to be read • “Flashy” prefetching focuses on high performance SSDs (flash)
  • 4. Traditional Prefetching • Focuses on rotational hard drives and conservative in the amount of data prefetched • If prefetching is aggressive • It can take up shared i/o bandwidth meant for applications • Main memory might become filled with unneeded data while useful data gets evicted • Risky when HDD bandwidth and system RAM are limited • Not tuned for different types of storage and applications. An application may require data at high rate while SSDs can support high prefetch rate
  • 5. How flashy prefetching is different • Takes advantage of high bandwidth and low latency of SSD • Aware of the runtime environment • Adaptive to the changing needs of application and device both • Inherent support for parallel data accesses • Aggressiveness is controlled through feedback mechanism
  • 6. OUTLINE • INTRODUCTION •CHALLENGES • DESIGN PINCIPLES • ARCHITECTURE • IMPLEMENTATION • EVALUATION
  • 7. 1. SSDs are different SLC – • SLC uses a single cell to store one bit of data • SLC is faster and much more reliable -but also more expensive MLC – • Multi level cell, can interpret four digital states from a signal stored in a single cell • This makes it denser for a given area and so cheaper to produce, but it wears out fast
  • 8. Applications are different • Data intensive applications may have varying I/O operations • Every application goes through multiple stages of I/O and data operations each having different i/o needs
  • 9. Prefetching for SSDs and HDDs is different • No seek latency in SSDs • Inherent Support for parallel access • Sequential data can be read faster on HDDs as platter moves, not necessary the case with SSDs Flashy prefetching gives good balance between speedup and cost
  • 10. OUTLINE • INTRODUCTION • CHALLENGES •DESIGN PINCIPLES • ARCHITECTURE • IMPLEMENTATION • EVALUATION
  • 11. To address the 3 challenges, the design principles are as follows 1. Control prefetching based on drive performance 2. Control prefetching based on prefetching performance 3. Enable prefetching for multiple simultaneous accesses
  • 12. OUTLINE • INTRODUCTION • CHALLENGES • DESIGN PINCIPLES •ARCHITECTURE • IMPLEMENTATION • EVALUATION
  • 13.
  • 14. Trace Collection • Collect i/o event information (timestamp, process id, process name, request type, amount of data, CPU no. , starting block no. and block size) • Trace application requests and also the requests which actually reach the disk
  • 15. Pattern Recognition • Based on the idea of polling interval Time interval = 0.5s prefetc h Time interval = 0.5s prefetc h Time interval = 0.5s Evaluate trace data Prefetch request Adjust aggressiveness Sleep Wake up • Only useful information is type of request, starting block no., no. of blocks and the process id • Basic idea of this step is if an application makes read accesses within certain time interval that follows a pattern, prefetching is done by extrapolating the same pattern
  • 16. Pattern Recognition … • 4 patterns : • Sequential forward/backward reads • Strided forward/backward reads • Prefetching request is generated if • 푁표.표푓 푏푙표푐푘푠 푖푛 푎 푝푎푡푡푒푟푛 (푓푟표푚 푎푏표푣푒) 푇표푡푎푙 푛표.표푓 푏푙표푐푘푠 푟푒푎푑 푖푛 푡ℎ푒 푖푛푡푒푟푣푎푙 ≥ 푝푎푡푡푒푟푛 푚푎푡푐ℎ 푡ℎ푟푒푠ℎ표푙푑
  • 17. Data Prefetching • Done after recognizing a pattern • Scale factor • Maximum disk throughput varies for each disk • Last known stop block is the start block for next prefetch • Stop block is calculated using below parameters • Total available bandwidth = Max disk throughput – Estimated application reads reaching disk • Linear throughput of application = % consecutive reads / total throughput • Prefetch_throughput = scale x consec % x ( total blocks / timer interval )
  • 18. Feedback Monitoring • Evaluates and classifies only the read operations that reach disk • If any predictable reads were not prefetched (reached the disk), aggressiveness is increased • If no. of linear reads reaching disk is 0 and no. of blocks prefetched is more than what application requested, then aggressiveness is decreased • This phase utilizes information of previous polling interval. Basically compares pattern of reads entering the cache vs pattern of reads missing the cache
  • 20. OUTLINE • INTRODUCTION • CHALLENGES • DESIGN PINCIPLES • ARCHITECTURE •IMPLEMENTATION • EVALUATION
  • 21. Prefetchd • Prototype implemented in Linux system which runs in user space • Cache eviction policy is with kernel • Event collection using blktrace API in linux, • Readahead system call is used to load pages from a file into the system page cache • Current implementation uses a loopback device SSD Main memory System cache
  • 22. OUTLINE • INTRODUCTION • CHALLENGES • DESIGN PINCIPLES • ARCHITECTURE • IMPLEMENTATION •EVALUATION
  • 23. Setup • CPU: Intel Core2Quad @ 2.33 Ghz wit 8 GB RAM • Tested against 4 SSDs and 1 HDD • SSDs formatted with ext2 file system with one large file and connected with loopback device (formatted with ext3 file system)
  • 24. Benchmarks Used • Database test suite 3 (decision support TPCH benchmark queries ) • BLAST (Biological tool to compare biological sequences) • LFS (Large file I/O) • PostMark (small files but in large numbers) • SlowThink (CPU intensive application)
  • 26. Prefetching Speedup • Values above 2.0 are omitted • Best performance on LFS benchmarks • In some cases, speedups for SSDs tend to be lower than HDDs because the potential speedup for an already fast device is limited
  • 27. Prefetching Accuracy • Accuracy = Amount of data prefetched and subsequently read / total amount used by application • Avg accuracy of 60% • Websearch benchmark contains large amount of random accesses
  • 28. Prefetching Cost Cost = Amount of data prefetched / Amount of data read by application Cost < 1 means amount of data prefetched is less
  • 29. SUMMARY • Data prefetching with SSDs in mind • Tunes as per drive and application characteristics • Dynamically controls aggression with feedback • “Prefetchd” is the prototype built over flashy prefetching technique • Achieves on an average 20% speedup on LFS and 65-70% prefetching accuracy