Zur Seitenansicht
 

Titelaufnahme

Titel
cluster.js/cl : volunteer computing with WebCL / by Michael Gasser
VerfasserGasser, Michael
Betreuer / BetreuerinCosenza, Biagio ; Durillo Barrionuevo, Juan Jose
Erschienen2015
UmfangVI, 103 S. : Ill., graph. Darst.
HochschulschriftInnsbruck, Univ., Masterarb., 2015
Datum der AbgabeNovember 2015
SpracheEnglisch
DokumenttypMasterarbeit
Schlagwörter (EN)WebCL / OpenCL / Volunteer computing
Schlagwörter (GND)OpenCL / Implementierung / Browser
URNurn:nbn:at:at-ubi:1-3179 Persistent Identifier (URN)
Zugriffsbeschränkung
 Das Werk ist frei verfügbar
Dateien
cluster.js/cl [1.47 mb]
Links
Nachweis
Klassifikation
Zusammenfassung (Englisch)

Volunteer computing is a type of distributed computing, which enables to compute large and resource consuming computation problems with the help of computation resources provided by volunteers. Thereby, the simplest participation mechanism for volunteers is by opening a special web page in a browser. Their computers are then automatically connected to the computation network and take on a part of the computation. However, the computation performance for this technique is lower than for the other volunteer computing types. But in the recent year, new computation technologies for browsers were released, such as WebCL, which allows web applications to execute computations directly on multi-core devices, like GPUs. This thesis evaluates, how the two technologies, volunteer computing and WebCL, can be brought together. It shows the benefits and limits which WebCL brings for volunteer computing and highlights possible applications. Based on the gathered knowledge about WebCL and volunteer computing, we develop our own volunteer computing system: cluster.js/cl. This system allows to create distributed applications in JavaScript and WebCL. To demonstrate what WebCL and cluster.js/cl can achieve, we implemented a MD5 hash cracker application and a 3D Gaussian random field generator. In a benchmark, we tested then both applications with different numbers of computation nodes, different computation device types and different task sizes. We showed, that cluster.js/cl can deliver a linear speedup on applications with a high compute-to-communication ratio, however considerably slows down, when the size of the to submit results increases.