Effects and opportunities of native code extensions for computationally demanding web applications [Elektronische Ressource] / Dennis Jarosch. Gutachter: Robert Funk ; Michael Seadle, Ph.D.
179 pages
English

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris

Effects and opportunities of native code extensions for computationally demanding web applications [Elektronische Ressource] / Dennis Jarosch. Gutachter: Robert Funk ; Michael Seadle, Ph.D.

Découvre YouScribe en t'inscrivant gratuitement

Je m'inscris
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus
179 pages
English
Obtenez un accès à la bibliothèque pour le consulter en ligne
En savoir plus

Description

Effects and Opportunities of Native Code Extensions forComputationally Demanding Web ApplicationsDISSERTATIONzur Erlangung des akademischen GradesDr. Phil.im Fach Bibliotheks- und Informationswissenschafteingereicht an derPhilosophischen Fakultät IHumboldt-Universität zu BerlinvonDipl. Inform. Dennis JaroschPräsident der Humboldt-Universität zu Berlin:Prof. Dr. Jan-Hendrik OlbertzDekan der Philosophischen Fakultät I:Prof. Michael Seadle, Ph.D.Gutachter:1. Prof. Dr. Robert Funk2. Prof. Michael Seadle, Ph.D.eingereicht am: 28.10.2011Tag der mündlichen Prüfung: 16.12.2011AbstractThe World Wide Web is amidst a transition from interactive websites to webapplications. An increasing number of users perform their daily computing tasksentirely within the web browser — turning the Web into an important platform forapplication development. The Web as a platform, however, lacks the computationalperformance of native applications. This problem has motivated the inception ofMicrosoft Xax and Google Native Client (NaCl), two independent projects that fa-cilitate the development of native web applications. Native web applications allowthe extension of conventional web applications with compiled native code, whilemaintaining operating system portability. This dissertation determines the bene-fits and drawbacks of native web applications.

Informations

Publié par
Publié le 01 janvier 2012
Nombre de lectures 57
Langue English
Poids de l'ouvrage 5 Mo

Extrait

Effects and Opportunities of Native Code Extensions for
Computationally Demanding Web Applications
DISSERTATION
zur Erlangung des akademischen Grades
Dr. Phil.
im Fach Bibliotheks- und Informationswissenschaft
eingereicht an der
Philosophischen Fakultät I
Humboldt-Universität zu Berlin
von
Dipl. Inform. Dennis Jarosch
Präsident der Humboldt-Universität zu Berlin:
Prof. Dr. Jan-Hendrik Olbertz
Dekan der Philosophischen Fakultät I:
Prof. Michael Seadle, Ph.D.
Gutachter:
1. Prof. Dr. Robert Funk
2. Prof. Michael Seadle, Ph.D.
eingereicht am: 28.10.2011
Tag der mündlichen Prüfung: 16.12.2011Abstract
The World Wide Web is amidst a transition from interactive websites to web
applications. An increasing number of users perform their daily computing tasks
entirely within the web browser — turning the Web into an important platform for
application development. The Web as a platform, however, lacks the computational
performance of native applications. This problem has motivated the inception of
Microsoft Xax and Google Native Client (NaCl), two independent projects that fa-
cilitate the development of native web applications. Native web applications allow
the extension of conventional web applications with compiled native code, while
maintaining operating system portability. This dissertation determines the bene-
fits and drawbacks of native web applications. It also addresses the question how
the performance of JavaScript web applications compares to that of native appli-
cations and native web applications. Four application benchmarks are introduced
that focus on different performance aspects: number crunching (serial and parallel),
3D graphics performance, and data processing. A performance analysis is under-
taken in order to determine and compare the performance characteristics of native
C applications, JavaScript web applications, and NaCl native web applications. The
results confirm that NaCl’s performance in computational tasks and 3D graphics is
impeccable. On the other hand, it shows substantial limitations in data process-
ing. These are evaluated and possible solutions are discussed. The results of the
performance analysis are complemented with an evaluation on the basis of technical
and non-technical criteria and a discussion of the technical, political, and strategic
drivers for NaCl. Native Client has the potential to empower a new generation of
browser-based applications, but it faces significant challenges due to its limitations
in data processing, closed project governance, and the lack of support by other
browser vendors that could hinder its adoption.
iiZusammenfassung
Das World Wide Web befindet sich inmitten eines Übergangs von interaktiven
Webseiten zu Web- Applikationen. Eine wachsende Zahl von Anwendern führt täg-
liche Arbeiten ausschließlich im Web-Browser durch. Dadurch wird das Web zu
einer wichtigen Plattform für Anwendungsentwicklung. Dieser Platform fehlt je-
doch die Rechenleistung nativer Applikationen. Microsoft Xax und Google Native
Client (NaCl) sind zwei unabhängigen Technologien zur Entwicklung nativer Web-
Applikationen. Native Web-Applikationen ermöglichen die Erweiterung herkömmli-
cher Web-Applikationen durch kompilierten nativen und dennoch betriebssystemun-
abhängigenProgrammcode.DieseDissertationuntersuchtdieVor-undNachteilena-
tiver Web-Applikationen. Sie stellt außerdem die Frage nach dem tatsächlichen Leis-
tungsvermögen konventioneller Web-Applikationen. Dazu wird eine experimentelle
Leistungsanalyse von nativen Applikationen in C, JavaScript Web-Applikationen
und NaCl nativen Web-Applikationen anhand vier unterschiedlicher Vergleichstests
durchgeführt. Dabei werden verschiedene Leistungsaspekte betrachtet: mathema-
tische Operationen (seriell und parallel), 3D-Grafikoperationen und Datenverarbei-
tung.NaClsStärkeninmathematischenund3D-Grafikoperationenstehenerhebliche
Schwächen bei der Datenverarbeitung gegenüber. Die Auswertung dieser Schwächen
bildet die Grundlage für die Erarbeitung möglicher Lösungensansätze. Eine Bewer-
tung auf technischer und nicht-technischer Kriterien komplementiert die
Ergebnisse der Leistungsanalyse. Darüberhinaus werden die technischen, politischen
und strategischen Treiber für NaCls Marktdurchdringung diskutiert. Native Client
hat das Potential eine neue Generation browser-basierter Anwendungen zu ermög-
lichen. Die Technologie steht aber vor großen Herausforderungen aufgrund Ihrer
Beschränkungen bei der Datenverarbeitung, der Steuerungsform des NaCl-Projekts
und der fehlenden Unterstützung durch andere Browser-Hersteller.
iiiContents
List of Figures ix
List of Tables xi
1. Introduction 1
2. Problem Statement and Approach 3
3. Background 5
3.1. Browser Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1. Netscape Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2. ActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2. Web 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.1. Participation and User Generated Content . . . . . . . . . . . . . . 10
3.2.2. Technological Advancements . . . . . . . . . . . . . . . . . . . . . 11
3.2.3. AJAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.4. JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3. Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.1. Native Applications vs. Web Applications . . . . . . . . . . . . . . 19
3.3.2. Towards the HTML5 Standard . . . . . . . . . . . . . . . . . . . . 21
4. The Web as a Platform 25
4.1. Beyond the Microsoft Windows Platform . . . . . . . . . . . . . . . . . . 26
4.2. Platform Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1. Level 1: Access API . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.2. Level 2: Plugin API . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.3. Level 3: Runtime Environment . . . . . . . . . . . . . . . . . . . . 29
4.2.4. Criticism and Implications . . . . . . . . . . . . . . . . . . . . . . . 30
4.3. Components of the Web as a Platform . . . . . . . . . . . . . . . . . . . . 30
4.3.1. Runtime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.2. Application Framework . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.3. Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.4. Cloud Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3.5. Monetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4. Cloud Computing: Powering the Platform . . . . . . . . . . . . . . . . . . 38
4.4.1. Cloud Computing Service Models . . . . . . . . . . . . . . . . . . . 41
vContents
4.4.2. Cloud Computing Deployment Models . . . . . . . . . . . . . . . . 44
4.4.3. Applications and Services . . . . . . . . . . . . . . . . . . . 46
4.5. Challenges for the Web as Platform . . . . . . . . . . . . . . . . . . . . . . 49
5. Native Web Applications 53
5.1. Goals of Native Web Applications . . . . . . . . . . . . . . . . . . . . . . 53
5.2. Xax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.1. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.2. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2.3. Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.3. Native Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.3.1. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.3.2. Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3.3. Portable Native Client . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.3.4. Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4. Comparison of NaCl and Xax . . . . . . . . . . . . . . . . . . . . . . . . . 71
6. Performance Analysis 75
6.1. Experimental Environment . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.2. Pi Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.1. Problem and Objective . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2.2. Theoretical Background . . . . . . . . . . . . . . . . . . . . . . . . 78
6.2.3. Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . 78
6.2.4. Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2.5. Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2.6. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3. Pi-MT Benchmark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.3.1. Problem and Objective . . . . . . . . . . . . . . . . . . . . . . . . 87
6.3.2. Theoretical Background . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3.3. Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . 88
6.3.4. Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.3.5. Execution . . . . . . . . . . . . . . . . . . . . . . .

  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents