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
Dis.io
Search
Tom Gallacher
May 11, 2012
Programming
290
3
Share
Dis.io
A browser based distributing grid computing platform. My final year project defence.
Tom Gallacher
May 11, 2012
More Decks by Tom Gallacher
See All by Tom Gallacher
Easy CPU Profiling
tomgco
3
16k
Other Decks in Programming
See All in Programming
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
1
650
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
4
3.4k
【26新卒研修資料】TDD実装演習
dip_tech
PRO
0
170
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
240
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.4k
【26新卒研修】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
140
Making the RBS Parser Faster
soutaro
0
660
GoogleCloudとterraform完全に理解した
terisuke
1
190
PHPer、Cloudflare に引っ越す
suguruooki
1
140
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
10 Tips of AWS ~Gen AI on AWS~
licux
5
540
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
Featured
See All Featured
Joys of Absence: A Defence of Solitary Play
codingconduct
1
360
Designing for Performance
lara
611
70k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Docker and Python
trallard
47
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
We Are The Robots
honzajavorek
0
220
Bash Introduction
62gerente
615
210k
New Earth Scene 8
popppiees
3
2.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
140
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
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?