Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Dis.io
Search
Tom Gallacher
May 11, 2012
Programming
3
280
Dis.io
A browser based distributing grid computing platform. My final year project defence.
Tom Gallacher
May 11, 2012
Tweet
Share
More Decks by Tom Gallacher
See All by Tom Gallacher
Easy CPU Profiling
tomgco
3
16k
Other Decks in Programming
See All in Programming
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
410
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
530
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
堅牢なフロントエンドテスト基盤を構築するために行った取り組み
shogo4131
8
2.5k
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.3k
Graviton と Nitro と私
maroon1st
0
130
AI Agent Dojo #4: watsonx Orchestrate ADK体験
oniak3ibm
PRO
0
110
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
610
Cell-Based Architecture
larchanjo
0
140
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
210
Vibe codingでおすすめの言語と開発手法
uyuki234
0
110
AIコーディングエージェント(NotebookLM)
kondai24
0
220
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
89
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Are puppies a ranking factor?
jonoalderson
0
2.4k
KATA
mclloyd
PRO
33
15k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
29
Large-scale JavaScript Application Architecture
addyosmani
515
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Prompt Engineering for Job Search
mfonobong
0
120
Darren the Foodie - Storyboard
khoart
PRO
0
1.9k
My Coaching Mixtape
mlcsv
0
13
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Transcript
A browser based distributed grid computing platform Tom Gallacher
Dis.io
What is Dis.io? • Grid computing platform • Based in
the web browser • Implementable by any web site • Horizontally scalable • Transparent to participants • Built entirely in JavaScript
Why Dis.io? • Platform agnostic • Potential contributors is proportionate
to daily visitors • Scalable across multiple sites
Architecture Managers, Distributors and Clients
Scalable • Each component can be spawned as many times
needed • Each can be placed on different machines • Components find each other using Bonjour/ZeroConf/MDNS
Terms A payload is: • An object of parameters •
Sent to Clients A work unit is: • Executable code which takes a payload A task is: • Amalgamation of payloads and work units
Client • Browser-side implementation • Uses the Web Worker API
• Implements Web Sockets via Socket.io
Managers The Provider. • Sends work units to Distributors •
Breaks down tasks into payloads • Uses ZeroMQ for communication to and from distributors • Saves results sent from distributors
Distributors The Hub. • Communications with Clients and Managers •
Uses a combination of ZeroMQ and Web sockets • Caches Messages if a manager is offline • Provides payloads and work units to clients
Dashboard The Control Panel. • Facilitates creation of Tasks and
work units. • Status of various components
Demo
Start the MongoDB database
Start the Dashboard's Webserver
Create a task
Spool up the Manager
Start Distributors
Verify connection on the Manager
Open a site that is serving the client
Number of completed tasks before
Number of completed after client has connected
Still continues if managers goes down
Performance Benchmarks
Dis.io cluster vs a single machine
Time per datapoint
What was learned • Distributed systems are very complex •
Effective communication between nodes is needed • Performance is based on the JavaScript Engine.
Limitations • JavaScript is slower than compiled languages • It's
possible for clients to spoof results • Useable only in modern browser • Task creation is not flexible
Recap • Dis.io browser based computing platform • Designed with
scalability in mind • Out performs a single process • Easy management
Any Questions?