Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shellac: a distributed web accelerator
Search
Kalan MacRow
December 10, 2013
Research
93
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Shellac: a distributed web accelerator
Shellac is an HTTP/1.1 distributed caching proxy for Linux.
Kalan MacRow
December 10, 2013
More Decks by Kalan MacRow
See All by Kalan MacRow
Vaportrail
kmacrow
0
64
Recognizing Contextual Polarity (Wilson et. al., 2009)
kmacrow
0
63
C Programming on Linux
kmacrow
3
170
Literati Proposal: Literature Recommendation and Difficulty Analysis
kmacrow
0
51
CSCW: Colocated Asynchronous Applications
kmacrow
1
360
Streaming Video
kmacrow
1
170
Data Interchange Formats
kmacrow
0
3.6k
Automatically Generating User Interfaces
kmacrow
1
82
Other Decks in Research
See All in Research
2026年3月1日(日)福島「除染土」の公共利用をかんがえる
atsukomasano2026
0
670
Claude Code × autoresearch 実践
mathbullet
0
210
Model Discovery and Graph Simulation: A Lightweight Gateway to Chaos Engineering
anatolykr
0
220
多様なデータを許容し学習し続ける模倣学習 / Advanced Imitation Learning for VLA
prinlab
0
240
SAKURAONE:An Open Ethernet-based AI HPC System And Its Observed Workload Dynamicsin a Single-Tenant LLM Development Environment
yuukit
1
450
論文紹介 "ReSim: Reliable World Simulation for Autonomous Driving"
kogo
0
700
Sleuthcon Keynote - How Cybercriminals (ab)use AI
fr0gger
0
250
データセンター事業者を取り巻く近年の状況とその中での研究開発動向、テストベッドへの貢献の可能性
kikuzo
1
260
SLAMはどこまで解決されたのか?
tomonom
0
820
長時間動画QAにおけるマルチエージェント推論 ・SVAgent: Storyline-Guided Long Video Understanding via Cross-Modal Multi-Agent Collaboration
murakawatakuya
1
160
National high-resolution cropland classification of Japan with agricultural census information and multi-temporal multi-modality datasets
satai
3
370
英語教育 “研究” のあり方:学術知とアウトリーチの緊張関係
terasawat
1
1k
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
900
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Everyday Curiosity
cassininazir
0
260
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Odyssey Design
rkendrick25
PRO
2
730
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Transcript
Shellac A distributed web accelerator. Kalan MacRow Data at Scale
‘13
Shellac. (noun) Lac bug resin melted into thin flakes, used
for making varnish Kalan MacRow Data at Scale ‘13
Shellac. (verb) To defeat or beat (someone) decisively Kalan MacRow
Data at Scale ‘13
5.2% of the top 10,000 sites. Kalan MacRow Data at
Scale ‘13
Kalan MacRow Data at Scale ‘13 ! Script interpreters 50+
SQL queries Localization Personalization Template rendering …. ! 3 sec.
• HTTP/1.1 proxy server for Linux 2.5+ • Distributed RAM
cache built on Memcached • Level-triggered edge-polling architecture • 1K lines of Python Kalan MacRow Data at Scale ‘13 Design
Kalan MacRow Data at Scale ‘13 “The key to making
programs fast is to make them do practically nothing” — Mike Haertel, original author of GNU grep Design
Kalan MacRow Data at Scale ‘13 • I/O bound and
largely avoids the GIL • Substantial function/method/syscall call overhead • Iteration with while, for expensive • Event dispatch really suffers, but… Design
Load Balancer Web Server Accelerator Cache Web Server Accelerator Cache
Web Server Accelerator Cache Typical HA Kalan MacRow Data at Scale ‘13
Shellac HA Kalan MacRow Data at Scale ‘13 Load Balancer
Web Server Shellac Web Server Shellac Web Server Shellac Cache Dedicated Cache
Kalan MacRow Data at Scale ‘13 • Interested in performance
both • as a proxy / load balancer • as a caching proxy / accelerator • Graphs: best of Apache, Varnish and worst for Shellac over 3 runs Evaluation
Kalan MacRow Data at Scale ‘13 • 4 x m1.large
instances (4 core Xeon, 8GB) • Elastic Load Balancer • Master for running benchmarks • One availability zone, one region
Kalan MacRow Data at Scale ‘13 Evaluation Apache Benchmark (-n
10k -c 1000)
Evaluation Kalan MacRow Data at Scale ‘13 Apache Benchmark (-n
10k -c 1000)
Evaluation Kalan MacRow Data at Scale ‘13 Apache Benchmark (-n
10k -c 1000)
Kalan MacRow Data at Scale ‘13 Static Dynamic 1 Dynamic
2 Requests / sec. (mean) Evaluation 10K requests, 1K clients
Static Dynamic 1 Dynamic 2 Transfer Rate (KB/s) Kalan MacRow
Data at Scale ‘13 Evaluation 10K requests, 1K clients
Static Dynamic 1 Dynamic 2 Peak Memory Usage (MB) Kalan
MacRow Data at Scale ‘13 Evaluation
Kalan MacRow Data at Scale ‘13 Conclusions • Shellac 0.1.0a
is competitive • as a proxy / load balancer • as a caching proxy / accelerator • A C port might shellac Varnish!
Future • HTTP/1.1 compliance • Try with PyPy JIT’ing, eventually
port to C • Binary format for cache entries • Tighter integration of cache node with proxy Kalan MacRow Data at Scale ‘13
https://github.com/kmacrow/Shellac Kalan MacRow Data at Scale ‘13