SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Systems Design,
Anecdotes
Basant Rajan, Coriolis Technologies
Getting off, on the wrong
              foot
A(0) = A(n) for any n
Fn - the n-th filter

initial conditions
step 0 : C(0) = A(0), V(0) = [], D(0) = []

step n :
on an exclude filter Fn...
 - D[n) = C(n-1).filter(Fn)
 - C(n) = C(n-1).exclude(Fn)
 - V(n) = V(n-1) + D(n)
on an include filter F ...
 - D[n) = V(n-1).filter(Fn)
 - C(n) = C(n-1) + D(n)
 - V(n) = V(n-1).exclude(Fn)
Getting off, on the wrong
              foot
at step n
on an exclude filter F(n) ...
- C(n) = C(n-1).exclude(F(n))
      = C(0).exclude(G(n-
1)).exclude(F(n))
      = C(0).exclude(G(n-1) | F(n))
 - G(n) = G(n-1) | F(n)
 - V(n) = A(n) - C(n)
       = A(0) - C(0).exclude(G(n))
       = C(0).exclude(!G(n))
 - H(n) = !G(n)

on an include filter F(n) ...
 - V(n) = V(n-1).exclude(F(n))
       = C(0).exclude(H(n-
1)).exclude(F(n))
       = C(0).exclude(H(n-1) | F(n))
       = C(0).exclude(H(n))
Getting off, on the wrong
              foot
reducing it further to eliminate H...

G(n) = G(n-1) | F(n) if F(n) is an
exclude filter
G(n) = !H(n) if F(n) is an include filter
    = !(H(n-1) | F(n))
    = !H(n-1) & !F(n)
    = G(n-1) & !F(n)

you can work out D(n) similarly
The rest of this talk 

We’ll (pseudo) design a system

Share some experiences from a real effort

Touch upon the human angle to systems
research



but not necessarily in that order 

The system, “defined”
Scalable file server – pretty simple spec.

Interface
   Create/Read/Write/Delete

Measures of success & benchmarks

Is there a gold standard?
Handling Reads
Use copies

Sharing a copy

Load balancing

Web servers
page cache & virtual
        memory
Picture frame           Memory pages

Video library           File system

Album, skip, duration   Filename, offset, length
file systems & disks
Library classification   Directories & files

Books on shelves         Files on disks

Shelves : place |        Disk : read | write
remove
                         Mirroring
Copies
                         Disk allocation
Reserving shelf space
Accommodating writes
Single writer, multiple readers (SWMR) – big
deal.

Copies & stale data – hmm 


Partitioned writes -> SWMR

Coherency with multiple writers

Reader/Writer locks
Improving performance
Caching

Sync-ing off the network

Granularity and overheads

Contention/Bottleneck

Threading
Fault tolerance
RPO & RTO

Logging

Leader election

State recovery

Replication
Winding down 

Our system isn’t that trivial 


But we nailed it 
 more or less




Thank you.

Weitere Àhnliche Inhalte

Ähnlich wie System Anecdotes | Turing100@Persistent

Ejercicios de estilo en la programaciĂłn
Ejercicios de estilo en la programaciĂłnEjercicios de estilo en la programaciĂłn
Ejercicios de estilo en la programaciĂłn
Software Guru
 
Introduction to Deep Learning, Keras, and TensorFlow
Introduction to Deep Learning, Keras, and TensorFlowIntroduction to Deep Learning, Keras, and TensorFlow
Introduction to Deep Learning, Keras, and TensorFlow
Sri Ambati
 
Python utan-stodhjul-motorsag
Python utan-stodhjul-motorsagPython utan-stodhjul-motorsag
Python utan-stodhjul-motorsag
niklal
 

Ähnlich wie System Anecdotes | Turing100@Persistent (20)

Fourier project presentation
Fourier project  presentationFourier project  presentation
Fourier project presentation
 
Ejercicios de estilo en la programaciĂłn
Ejercicios de estilo en la programaciĂłnEjercicios de estilo en la programaciĂłn
Ejercicios de estilo en la programaciĂłn
 
Introduction to Deep Learning and TensorFlow
Introduction to Deep Learning and TensorFlowIntroduction to Deep Learning and TensorFlow
Introduction to Deep Learning and TensorFlow
 
Introduction to Deep Learning, Keras, and TensorFlow
Introduction to Deep Learning, Keras, and TensorFlowIntroduction to Deep Learning, Keras, and TensorFlow
Introduction to Deep Learning, Keras, and TensorFlow
 
Introduction to Deep Learning, Keras, and Tensorflow
Introduction to Deep Learning, Keras, and TensorflowIntroduction to Deep Learning, Keras, and Tensorflow
Introduction to Deep Learning, Keras, and Tensorflow
 
Artificial Intelligence and Optimization with Parallelism
Artificial Intelligence and Optimization with ParallelismArtificial Intelligence and Optimization with Parallelism
Artificial Intelligence and Optimization with Parallelism
 
Intro to Deep Learning, TensorFlow, and tensorflow.js
Intro to Deep Learning, TensorFlow, and tensorflow.jsIntro to Deep Learning, TensorFlow, and tensorflow.js
Intro to Deep Learning, TensorFlow, and tensorflow.js
 
garbage collection in c ++.ppt
garbage collection in c ++.pptgarbage collection in c ++.ppt
garbage collection in c ++.ppt
 
H2 o berkeleydltf
H2 o berkeleydltfH2 o berkeleydltf
H2 o berkeleydltf
 
TensorFlow in Your Browser
TensorFlow in Your BrowserTensorFlow in Your Browser
TensorFlow in Your Browser
 
Deep Learning in Your Browser
Deep Learning in Your BrowserDeep Learning in Your Browser
Deep Learning in Your Browser
 
Python utan-stodhjul-motorsag
Python utan-stodhjul-motorsagPython utan-stodhjul-motorsag
Python utan-stodhjul-motorsag
 
Design of digital filters
Design of digital filtersDesign of digital filters
Design of digital filters
 
Kyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdf
 
Deep Learning and TensorFlow
Deep Learning and TensorFlowDeep Learning and TensorFlow
Deep Learning and TensorFlow
 
30 ćˆ†é˜ć­žæœƒćŻŠäœœ Python Feature Selection
30 ćˆ†é˜ć­žæœƒćŻŠäœœ Python Feature Selection30 ćˆ†é˜ć­žæœƒćŻŠäœœ Python Feature Selection
30 ćˆ†é˜ć­žæœƒćŻŠäœœ Python Feature Selection
 
python beginner talk slide
python beginner talk slidepython beginner talk slide
python beginner talk slide
 
Deep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGLDeep Learning in your Browser: powered by WebGL
Deep Learning in your Browser: powered by WebGL
 
Simple APIs and innovative documentation
Simple APIs and innovative documentationSimple APIs and innovative documentation
Simple APIs and innovative documentation
 
Lambdas myths-and-mistakes
Lambdas myths-and-mistakesLambdas myths-and-mistakes
Lambdas myths-and-mistakes
 

Mehr von Persistent Systems Ltd.

Mehr von Persistent Systems Ltd. (13)

Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
Skilling for SMAC by Anand Deshpande, Founder, Chairman and Managing Director...
 
Embedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing TechtalkEmbedded Linux Evolution | Turing Techtalk
Embedded Linux Evolution | Turing Techtalk
 
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing TechtalkLife and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
Life and Work of Ken Thompson and Dennis Ritchie | Turing Techtalk
 
Life and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@PersistentLife and Work of Ivan Sutherland | Turing100@Persistent
Life and Work of Ivan Sutherland | Turing100@Persistent
 
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
 
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
Life and Work of Ronald L. Rivest, Adi Shamir & Leonard M. Adleman | Turing10...
 
Life and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@PersistentLife and Work of Judea Perl | Turing100@Persistent
Life and Work of Judea Perl | Turing100@Persistent
 
Life and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@PersistentLife and Work of Dr. John Backus | Turing100@Persistent
Life and Work of Dr. John Backus | Turing100@Persistent
 
Software Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@PersistentSoftware Faults, Failures and Their Mitigations | Turing100@Persistent
Software Faults, Failures and Their Mitigations | Turing100@Persistent
 
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@PersistentLife & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
Life & Work of Dr. Vinton Cerf and Dr. Robert Kahn | Turing100@Persistent
 
Net Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent SystemsNet Neutrality | Turing100@Persistent Systems
Net Neutrality | Turing100@Persistent Systems
 
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent SystemsAlan Turing Scientist Unlimited | Turing100@Persistent Systems
Alan Turing Scientist Unlimited | Turing100@Persistent Systems
 
Life and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@PersistentLife and work of E.F. (Ted) Codd | Turing100@Persistent
Life and work of E.F. (Ted) Codd | Turing100@Persistent
 

KĂŒrzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

KĂŒrzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

System Anecdotes | Turing100@Persistent

  • 2. Getting off, on the wrong foot A(0) = A(n) for any n Fn - the n-th filter initial conditions step 0 : C(0) = A(0), V(0) = [], D(0) = [] step n : on an exclude filter Fn... - D[n) = C(n-1).filter(Fn) - C(n) = C(n-1).exclude(Fn) - V(n) = V(n-1) + D(n) on an include filter F ... - D[n) = V(n-1).filter(Fn) - C(n) = C(n-1) + D(n) - V(n) = V(n-1).exclude(Fn)
  • 3. Getting off, on the wrong foot at step n on an exclude filter F(n) ... - C(n) = C(n-1).exclude(F(n)) = C(0).exclude(G(n- 1)).exclude(F(n)) = C(0).exclude(G(n-1) | F(n)) - G(n) = G(n-1) | F(n) - V(n) = A(n) - C(n) = A(0) - C(0).exclude(G(n)) = C(0).exclude(!G(n)) - H(n) = !G(n) on an include filter F(n) ... - V(n) = V(n-1).exclude(F(n)) = C(0).exclude(H(n- 1)).exclude(F(n)) = C(0).exclude(H(n-1) | F(n)) = C(0).exclude(H(n))
  • 4. Getting off, on the wrong foot reducing it further to eliminate H... G(n) = G(n-1) | F(n) if F(n) is an exclude filter G(n) = !H(n) if F(n) is an include filter = !(H(n-1) | F(n)) = !H(n-1) & !F(n) = G(n-1) & !F(n) you can work out D(n) similarly
  • 5. The rest of this talk 
 We’ll (pseudo) design a system Share some experiences from a real effort Touch upon the human angle to systems research but not necessarily in that order 

  • 6. The system, “defined” Scalable file server – pretty simple spec. Interface Create/Read/Write/Delete Measures of success & benchmarks Is there a gold standard?
  • 7. Handling Reads Use copies Sharing a copy Load balancing Web servers
  • 8. page cache & virtual memory Picture frame Memory pages Video library File system Album, skip, duration Filename, offset, length
  • 9. file systems & disks Library classification Directories & files Books on shelves Files on disks Shelves : place | Disk : read | write remove Mirroring Copies Disk allocation Reserving shelf space
  • 10. Accommodating writes Single writer, multiple readers (SWMR) – big deal. Copies & stale data – hmm 
 Partitioned writes -> SWMR Coherency with multiple writers Reader/Writer locks
  • 11. Improving performance Caching Sync-ing off the network Granularity and overheads Contention/Bottleneck Threading
  • 12. Fault tolerance RPO & RTO Logging Leader election State recovery Replication
  • 13. Winding down 
 Our system isn’t that trivial 
 But we nailed it 
 more or less Thank you.

Hinweis der Redaktion

  1. This is an adjunct presentation to NeeranKarnik’s one on Butler Lampson’s life & works 

  2. Am just going to exemplify algorithm development to contrast it with systems research.
  3. Quite self contained, and lends itself well to analysis & decomposition 

  4. No, I didn’t forget to have an agenda slide