Stefan Dühring,531721
20th June,Berlin
Theory
Analysis
Development
Conclusion
Background
increasing connectivity
Source: State of Connectivity 2015
"Provide an overview about different aspects of Distributed Computing using Web Technologies"
"Create a prototype based on the gained knowledge"
distributed computing
web technologies
client-server
peer-to-peer
grid computing
volunteer computing
embarrassingly parallel
"The Ubiquitous Web will provide people with access whenever and wherever they find themselves, with applications that dynamically adapt to the user's needs, device capabilities and environmental conditions." - Philipp Hoschka, Ubiquitous Web Domain Leader
communication
Source: Jimmy Lee
processing
Source: Massive: The asm.js Benchmark
architecture
additional challenges
motivation
unreliable resources
untrusted execution
performance constraints
Source: The RAIL Performance Model
optimized cooling / conversion
Source: Efficiency: How we do it
system > browser
existing networks
balanced in-/output
heterogeneous systems
peer assisted delivery
users control their resources
data are only shared temporary
tasks should be universal accessible
modular structure for customization
universal distributed assistance (udias)
dataflow
webpack
WebTorrent
meta / work
API endpoints
GET /tasks/{type}.{environment}.js
Suppliant & Patron
Commands
Decentral
Specifications
topologies
code transformation
C/C++ => LLVM => Emscripten => JavaScript
1996: first paper 1997: theSkyNet 1999: first volunteering computing 2009: only standard web technologies 2010: distributed decryption (Web Workers) 2011: GridBee for BOINC Tasks (localStorage) 2014: Muskeetpeer (WebRTC - DataChannels)
gamification
Source: Renderfarm Teams and Statistics
combine services