SlideShare une entreprise Scribd logo
1  sur  19
Télécharger pour lire hors ligne
Massive
Storage Engine
2.0Evenmassiver!
Scaling issues with file and
malloc backends
● Built for web sites with gigabytes of
content
● Memory based backend is limited in size
● Allocation is unreliable under high
pressure
● File based has performance and
fragmentation issues
The problem with mmaps
1. Varnish has a cache miss
2. CPU writes to a page not in physical
memory
3. CPU creates a Page Fault
4. OS reads underlying page
5. Page gets overwritten (dumb)
Feature set
● Built for up to 100+ terabytes of storage
on each node.
● Fragmentation proof allocation algorithm
● Higher cache hit rates due to LRU
replaced with LFU
● Optionally persistent datastore
Architecture
● Threads lock allocated memory for
reliable allocations
● Multiple active segments for reduced lock
contention - round robin access
● “Hole expansion” to eliminate
fragmentation
● External persistence storage for high
performance
LRU Eviction
Least valuable object Most valuable object
Kill zone
The LFU approach to evictionMostvaluable
Leastvaluable
Free space
Kill candidates
Hole expansion
Adding persistence
● Feature requested much inVarnish Cache
1.0
● Feature request disappeared
● Came back with CDN andVOD
workloads
Persistence implementation:
“The Book”
● Mirror metadata structures to disk
● Kept in memory if persistence is disabled
● 2.5 copies on disk
● Journal is checksummed
● ~No blocking operations in critical path
(deletions can block)
● Delivery is unchanged
File layout
Store
Book (for persistence)
Segment
Header
Book layout
● A/B indices + working copy
● Journal
● Statistics (# of objects, free space)
● Ban journal (per book, not per segment)
Ordering
● Allocate storage / metadata (J)
● Write to store (J)
● Signal synchronous intention to store
● Asynchronous update of index based on
journal (J)
● Synchronize store (J)
Using persistence
● Storage initiated by mkfs.mse
● Book and Store can be on separate volumes
● Both need to be sized according to use -
store for size and book for # of objects
● Book size is 1-2% of store
● Bans and purges are atomic/consistent - the
rest isn’t
Results and characteristics
● Deployed on two public CDNs and a
number of private CDNs
● Performance is stable over time
● Handles larger files in the dataset well
● Persistence ads little overhead
● Crash recovery: ~reading the book
● Cache misses during book reading
Applications
● Video distribution
● CDN Workload
● Large caches (image banks, etc)
Thank you!Thank you!
Thank you!

Contenu connexe

Tendances

MongoDB Memory Management Demystified
MongoDB Memory Management DemystifiedMongoDB Memory Management Demystified
MongoDB Memory Management DemystifiedMongoDB
 
Draft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFSDraft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFSAnkit Raj
 
Recent advancements in cache technology
Recent advancements in cache technologyRecent advancements in cache technology
Recent advancements in cache technologyParas Nath Chaudhary
 
Memcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainMemcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainDrupal Camp Delhi
 
CSL Seminar presented by Cassiano Campes - 16-11-14
CSL Seminar presented by Cassiano Campes - 16-11-14CSL Seminar presented by Cassiano Campes - 16-11-14
CSL Seminar presented by Cassiano Campes - 16-11-14Cassiano Campes
 
Introduction to AdroitLogic and UltraESB
Introduction to AdroitLogic and UltraESBIntroduction to AdroitLogic and UltraESB
Introduction to AdroitLogic and UltraESBAdroitLogic
 
Infinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea MarkusInfinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea MarkusCodemotion
 
StripeEu Twistedbytes Presentation
StripeEu Twistedbytes PresentationStripeEu Twistedbytes Presentation
StripeEu Twistedbytes Presentationtwistedbytes
 
Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsdata://disrupted®
 
Caffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelCaffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelSri Ambati
 
Mongo db cluster administration and Shredded Databases
Mongo db cluster administration and Shredded DatabasesMongo db cluster administration and Shredded Databases
Mongo db cluster administration and Shredded DatabasesAbhinav Jha
 
Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKYash Mody
 
MongoDB London PHP
MongoDB London PHPMongoDB London PHP
MongoDB London PHPMike Dirolf
 
MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseSudhir Patil
 
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo Seidel
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo SeidelOSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo Seidel
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo SeidelNETWAYS
 

Tendances (20)

Caching in WordPress
Caching in WordPressCaching in WordPress
Caching in WordPress
 
MongoDB Memory Management Demystified
MongoDB Memory Management DemystifiedMongoDB Memory Management Demystified
MongoDB Memory Management Demystified
 
No sql
No sqlNo sql
No sql
 
Draft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFSDraft slide of Demystifying DHT in GlusterFS
Draft slide of Demystifying DHT in GlusterFS
 
Recent advancements in cache technology
Recent advancements in cache technologyRecent advancements in cache technology
Recent advancements in cache technology
 
Hdfs internals
Hdfs internalsHdfs internals
Hdfs internals
 
Memcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav JainMemcache and Drupal - Vaibhav Jain
Memcache and Drupal - Vaibhav Jain
 
CSL Seminar presented by Cassiano Campes - 16-11-14
CSL Seminar presented by Cassiano Campes - 16-11-14CSL Seminar presented by Cassiano Campes - 16-11-14
CSL Seminar presented by Cassiano Campes - 16-11-14
 
Introduction to AdroitLogic and UltraESB
Introduction to AdroitLogic and UltraESBIntroduction to AdroitLogic and UltraESB
Introduction to AdroitLogic and UltraESB
 
Caching
CachingCaching
Caching
 
Infinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea MarkusInfinispan – the open source data grid platform by Mircea Markus
Infinispan – the open source data grid platform by Mircea Markus
 
Mongodb (1)
Mongodb (1)Mongodb (1)
Mongodb (1)
 
StripeEu Twistedbytes Presentation
StripeEu Twistedbytes PresentationStripeEu Twistedbytes Presentation
StripeEu Twistedbytes Presentation
 
Benchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public cloudsBenchmarking your cloud performance with top 4 global public clouds
Benchmarking your cloud performance with top 4 global public clouds
 
Caffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noelCaffe + H2O - By Cyprien noel
Caffe + H2O - By Cyprien noel
 
Mongo db cluster administration and Shredded Databases
Mongo db cluster administration and Shredded DatabasesMongo db cluster administration and Shredded Databases
Mongo db cluster administration and Shredded Databases
 
Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAK
 
MongoDB London PHP
MongoDB London PHPMongoDB London PHP
MongoDB London PHP
 
MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql Database
 
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo Seidel
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo SeidelOSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo Seidel
OSDC 2012 | Extremes Wolken Dateisystem!? by Dr. Udo Seidel
 

En vedette

VCL - the logic and logistics
VCL - the logic and logisticsVCL - the logic and logistics
VCL - the logic and logisticsVarnish Software
 
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...CSCJournals
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusVarnish Software
 
Varnish cache en ocho pasos
Varnish cache en ocho pasosVarnish cache en ocho pasos
Varnish cache en ocho pasosVarnish Software
 
Secretarias, la mano derecha del poder.
Secretarias, la mano derecha del poder.Secretarias, la mano derecha del poder.
Secretarias, la mano derecha del poder.Gill Johnson
 
انظمه التحكم ف الابواب
انظمه التحكم ف الابواب انظمه التحكم ف الابواب
انظمه التحكم ف الابواب Manal Zain
 
Lightning fast with Varnish
Lightning fast with VarnishLightning fast with Varnish
Lightning fast with VarnishVarnish Software
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusCarlos Abalde
 
Նոր Տարին և Սուրբ Ծնունդը Ընտանիքով
Նոր Տարին և Սուրբ Ծնունդը ԸնտանիքովՆոր Տարին և Սուրբ Ծնունդը Ընտանիքով
Նոր Տարին և Սուրբ Ծնունդը ԸնտանիքովMark Hovsepyan
 
VCL - the logic and logistics
VCL - the logic and logisticsVCL - the logic and logistics
VCL - the logic and logisticsVarnish Software
 
Multi skilling Electriacl
Multi skilling ElectriaclMulti skilling Electriacl
Multi skilling ElectriaclMark Dugan
 
Using PatSeer to search and analyze patents in Switchgear Technology
Using PatSeer to search and analyze patents in Switchgear TechnologyUsing PatSeer to search and analyze patents in Switchgear Technology
Using PatSeer to search and analyze patents in Switchgear TechnologyGridlogics
 

En vedette (20)

VCL - the logic and logistics
VCL - the logic and logisticsVCL - the logic and logistics
VCL - the logic and logistics
 
Weather
WeatherWeather
Weather
 
Debugging varnish
Debugging varnishDebugging varnish
Debugging varnish
 
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...
A Novel Algorithm for Acoustic and Visual Classifiers Decision Fusion in Audi...
 
3582_0001
3582_00013582_0001
3582_0001
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish Plus
 
SCOPE Certificate
SCOPE CertificateSCOPE Certificate
SCOPE Certificate
 
Varnish TLS
Varnish TLSVarnish TLS
Varnish TLS
 
Varnish cache en ocho pasos
Varnish cache en ocho pasosVarnish cache en ocho pasos
Varnish cache en ocho pasos
 
Secretarias, la mano derecha del poder.
Secretarias, la mano derecha del poder.Secretarias, la mano derecha del poder.
Secretarias, la mano derecha del poder.
 
E-commerce use case
E-commerce use caseE-commerce use case
E-commerce use case
 
انظمه التحكم ف الابواب
انظمه التحكم ف الابواب انظمه التحكم ف الابواب
انظمه التحكم ف الابواب
 
Lightning fast with Varnish
Lightning fast with VarnishLightning fast with Varnish
Lightning fast with Varnish
 
De idea a implementación con Varnish Plus
De idea a implementación con Varnish PlusDe idea a implementación con Varnish Plus
De idea a implementación con Varnish Plus
 
Access control
Access controlAccess control
Access control
 
Նոր Տարին և Սուրբ Ծնունդը Ընտանիքով
Նոր Տարին և Սուրբ Ծնունդը ԸնտանիքովՆոր Տարին և Սուրբ Ծնունդը Ընտանիքով
Նոր Տարին և Սուրբ Ծնունդը Ընտանիքով
 
VCL - the logic and logistics
VCL - the logic and logisticsVCL - the logic and logistics
VCL - the logic and logistics
 
Multi skilling Electriacl
Multi skilling ElectriaclMulti skilling Electriacl
Multi skilling Electriacl
 
Using PatSeer to search and analyze patents in Switchgear Technology
Using PatSeer to search and analyze patents in Switchgear TechnologyUsing PatSeer to search and analyze patents in Switchgear Technology
Using PatSeer to search and analyze patents in Switchgear Technology
 
Secure content caching
Secure content cachingSecure content caching
Secure content caching
 

Similaire à MSE

Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...Alluxio, Inc.
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCacheKasun Gajasinghe
 
What'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarWhat'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarMongoDB
 
Anatomy of in memory processing in Spark
Anatomy of in memory processing in SparkAnatomy of in memory processing in Spark
Anatomy of in memory processing in Sparkdatamantra
 
Storage talk
Storage talkStorage talk
Storage talkchristkv
 
CSE2010- Module 4 V1.pptx
CSE2010- Module 4 V1.pptxCSE2010- Module 4 V1.pptx
CSE2010- Module 4 V1.pptxMadhuraK13
 
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
 
Introduction to Memoria
Introduction to MemoriaIntroduction to Memoria
Introduction to MemoriaVictor Smirnov
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation Yahoo Developer Network
 
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
 
Pulsar Storage on BookKeeper _Seamless Evolution
Pulsar Storage on BookKeeper _Seamless EvolutionPulsar Storage on BookKeeper _Seamless Evolution
Pulsar Storage on BookKeeper _Seamless EvolutionStreamNative
 
Running MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSRunning MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSMongoDB
 
Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Junping Du
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateDataWorks Summit
 
Let the Tiger Roar - MongoDB 3.0
Let the Tiger Roar - MongoDB 3.0Let the Tiger Roar - MongoDB 3.0
Let the Tiger Roar - MongoDB 3.0Norberto Leite
 

Similaire à MSE (20)

Mongo DB
Mongo DBMongo DB
Mongo DB
 
Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...
Optimizing Latency-sensitive queries for Presto at Facebook: A Collaboration ...
 
Distributed caching with java JCache
Distributed caching with java JCacheDistributed caching with java JCache
Distributed caching with java JCache
 
What'sNnew in 3.0 Webinar
What'sNnew in 3.0 WebinarWhat'sNnew in 3.0 Webinar
What'sNnew in 3.0 Webinar
 
Anatomy of in memory processing in Spark
Anatomy of in memory processing in SparkAnatomy of in memory processing in Spark
Anatomy of in memory processing in Spark
 
Storage talk
Storage talkStorage talk
Storage talk
 
CSE2010- Module 4 V1.pptx
CSE2010- Module 4 V1.pptxCSE2010- Module 4 V1.pptx
CSE2010- Module 4 V1.pptx
 
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
 
Introduction to Memoria
Introduction to MemoriaIntroduction to Memoria
Introduction to Memoria
 
Firehose Engineering
Firehose EngineeringFirehose Engineering
Firehose Engineering
 
August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation August 2013 HUG: Removing the NameNode's memory limitation
August 2013 HUG: Removing the NameNode's memory limitation
 
RubiX
RubiXRubiX
RubiX
 
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
 
Pulsar Storage on BookKeeper _Seamless Evolution
Pulsar Storage on BookKeeper _Seamless EvolutionPulsar Storage on BookKeeper _Seamless Evolution
Pulsar Storage on BookKeeper _Seamless Evolution
 
Mongodb meetup
Mongodb meetupMongodb meetup
Mongodb meetup
 
Running MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWSRunning MongoDB 3.0 on AWS
Running MongoDB 3.0 on AWS
 
Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017Hadoop 3 @ Hadoop Summit San Jose 2017
Hadoop 3 @ Hadoop Summit San Jose 2017
 
Apache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community UpdateApache Hadoop 3.0 Community Update
Apache Hadoop 3.0 Community Update
 
Google File System
Google File SystemGoogle File System
Google File System
 
Let the Tiger Roar - MongoDB 3.0
Let the Tiger Roar - MongoDB 3.0Let the Tiger Roar - MongoDB 3.0
Let the Tiger Roar - MongoDB 3.0
 

Plus de Varnish Software

Plus de Varnish Software (20)

Ask Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in VarnishAsk Me Anything on authentication & authorisation in Varnish
Ask Me Anything on authentication & authorisation in Varnish
 
Boozt.com Use Case
Boozt.com Use CaseBoozt.com Use Case
Boozt.com Use Case
 
Akamai connector for varnish
Akamai connector for varnishAkamai connector for varnish
Akamai connector for varnish
 
Varnish High Availability
Varnish High AvailabilityVarnish High Availability
Varnish High Availability
 
PostNord: Copy On Write
PostNord: Copy On WritePostNord: Copy On Write
PostNord: Copy On Write
 
Varnish extend
Varnish extendVarnish extend
Varnish extend
 
Streaming with Varnish
Streaming with VarnishStreaming with Varnish
Streaming with Varnish
 
Edgestash
EdgestashEdgestash
Edgestash
 
What is new in varnish plus
What is new in varnish plusWhat is new in varnish plus
What is new in varnish plus
 
Varnish Extend demo
Varnish Extend demoVarnish Extend demo
Varnish Extend demo
 
Varnish extend introduction
Varnish extend introductionVarnish extend introduction
Varnish extend introduction
 
Cedexis introduction
Cedexis introductionCedexis introduction
Cedexis introduction
 
Microservices
MicroservicesMicroservices
Microservices
 
Varnishtest
VarnishtestVarnishtest
Varnishtest
 
Varnish plus con paywall avanzado en la voz de galicia
Varnish plus con paywall avanzado en la voz de galiciaVarnish plus con paywall avanzado en la voz de galicia
Varnish plus con paywall avanzado en la voz de galicia
 
Detalles técnicos e impacto de negocio de varnish plus
Detalles técnicos e impacto de negocio de varnish plusDetalles técnicos e impacto de negocio de varnish plus
Detalles técnicos e impacto de negocio de varnish plus
 
Debugging forensics
Debugging forensicsDebugging forensics
Debugging forensics
 
SFR use case
SFR use caseSFR use case
SFR use case
 
Kering use case
Kering use caseKering use case
Kering use case
 
Handelsbanken use case
Handelsbanken use caseHandelsbanken use case
Handelsbanken use case
 

Dernier

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
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
 
#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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Dernier (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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
 
#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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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...
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

MSE

  • 1.
  • 3. Scaling issues with file and malloc backends ● Built for web sites with gigabytes of content ● Memory based backend is limited in size ● Allocation is unreliable under high pressure ● File based has performance and fragmentation issues
  • 4. The problem with mmaps 1. Varnish has a cache miss 2. CPU writes to a page not in physical memory 3. CPU creates a Page Fault 4. OS reads underlying page 5. Page gets overwritten (dumb)
  • 5. Feature set ● Built for up to 100+ terabytes of storage on each node. ● Fragmentation proof allocation algorithm ● Higher cache hit rates due to LRU replaced with LFU ● Optionally persistent datastore
  • 6. Architecture ● Threads lock allocated memory for reliable allocations ● Multiple active segments for reduced lock contention - round robin access ● “Hole expansion” to eliminate fragmentation ● External persistence storage for high performance
  • 7. LRU Eviction Least valuable object Most valuable object
  • 8. Kill zone The LFU approach to evictionMostvaluable Leastvaluable
  • 10. Adding persistence ● Feature requested much inVarnish Cache 1.0 ● Feature request disappeared ● Came back with CDN andVOD workloads
  • 11. Persistence implementation: “The Book” ● Mirror metadata structures to disk ● Kept in memory if persistence is disabled ● 2.5 copies on disk ● Journal is checksummed ● ~No blocking operations in critical path (deletions can block) ● Delivery is unchanged
  • 12. File layout Store Book (for persistence) Segment Header
  • 13. Book layout ● A/B indices + working copy ● Journal ● Statistics (# of objects, free space) ● Ban journal (per book, not per segment)
  • 14. Ordering ● Allocate storage / metadata (J) ● Write to store (J) ● Signal synchronous intention to store ● Asynchronous update of index based on journal (J) ● Synchronize store (J)
  • 15. Using persistence ● Storage initiated by mkfs.mse ● Book and Store can be on separate volumes ● Both need to be sized according to use - store for size and book for # of objects ● Book size is 1-2% of store ● Bans and purges are atomic/consistent - the rest isn’t
  • 16. Results and characteristics ● Deployed on two public CDNs and a number of private CDNs ● Performance is stable over time ● Handles larger files in the dataset well ● Persistence ads little overhead ● Crash recovery: ~reading the book ● Cache misses during book reading
  • 17. Applications ● Video distribution ● CDN Workload ● Large caches (image banks, etc)