基于Blink的WebCL基礎(chǔ)模塊的設(shè)計和實現(xiàn)
本文選題:并行計算 + WebCL; 參考:《中山大學(xué)》2015年碩士論文
【摘要】:隨著Web應(yīng)用的推廣,對于Web應(yīng)用的性能要求也隨之提高。當(dāng)前的JavaScript的執(zhí)行速度成為了Web應(yīng)用,特別是計算密集型的Web應(yīng)用的性能提升的一個重要瓶頸,同時也造成了Web應(yīng)用在性能上和本地化應(yīng)用的差距;诖爽F(xiàn)狀,主流的JavaScript引擎都進行了優(yōu)化,力求達到最優(yōu)的執(zhí)行效率來縮小Web應(yīng)用和本地應(yīng)用在性能上的差異,例如Google的V8引擎,Mozilla的SpiderMonkey引擎等。但是針對JavaScript引擎的優(yōu)化都沒有改變腳本串行執(zhí)行這一前提,并沒有將并行執(zhí)行納入引擎優(yōu)化的范疇。與此同時,針對于Web領(lǐng)域的并行化研究已經(jīng)有了多項成果;贠penCL的RiverTrail項目,由IntelLabs提出并在Firefox上實現(xiàn),通過擴展JavaScript語言本身來添加并行功能。2014年3月WebCL標準1.0發(fā)布,WebCL是OpenCL在Web上的一個擴展集,允許開發(fā)者可以直接接觸到GPU,多核CPU等多核設(shè)備以進行較大規(guī)模的并行編程。本文基于Blink引擎來設(shè)計和實現(xiàn)WebCL的基礎(chǔ)模塊,利用WebCL標準中提供的并行計算的接口和現(xiàn)代多核CPU,GPU等來增加JavaScript的并行化能力,對Web應(yīng)用特別是計算密集型Web應(yīng)用進行加速。因此本文所提的解決方案的核心就是基于Blink引擎的WebCL基礎(chǔ)模塊的設(shè)計和實現(xiàn)。本文首先介紹了JavaScript的語言特點和并行化編程的方法,同時,引入對Crosswalk和Blink引擎的介紹。接著,本文以Crosswalk為載體,通過在Blink引擎中增加WebCL模塊的方式實現(xiàn)WebCL標準中所規(guī)定的基礎(chǔ)模塊。在模塊中利用OpenCL實現(xiàn)WebCL標準所規(guī)定的相應(yīng)的API,并通過WebIDL的方式將WebCL模塊綁定到V8引擎。同時,使用WebCL conformance tests來測試每個接口的正確性,確保實現(xiàn)的每一個接口都能夠通過測試。然后,本文針對實現(xiàn)的WebCL標準,通過實際的計算密集型的Web應(yīng)用進行了性能測試,并詳細分析了數(shù)據(jù)規(guī)模,程序本身可并行程度對Web應(yīng)用并行化性能提升的影響。最后給出本文實現(xiàn)的并行系統(tǒng)的應(yīng)用場景。本文基于Blink和WebCL標準實現(xiàn)的JavaScript并行化系統(tǒng)能夠顯著提升計算密集型的Web應(yīng)用的運行速度,提高用戶體驗,具有很高的研究和實用價值。
[Abstract]:With the popularization of Web application, the performance requirement of Web application is improved. The execution speed of the current JavaScript has become an important bottleneck for the performance improvement of Web applications, especially the computation-intensive Web applications. At the same time, the gap between the performance of Web applications and that of localized applications has been caused. Based on this situation, mainstream JavaScript engines are optimized to achieve optimal execution efficiency to reduce the performance differences between Web applications and local applications, such as Google's V8 engine and Mozilla's SpiderMonkey engine. However, the optimization of JavaScript engine does not change the premise of script serial execution, and does not bring parallel execution into the scope of engine optimization. At the same time, many achievements have been made in the research of parallelization in the field of Web. The RiverTrail project based on OpenCL, proposed by IntelLabs and implemented on Firefox, adds parallel functions by extending the JavaScript language itself. In March 2014, WebCL Standard 1.0 released WebCL is an extension set of OpenCL on Web. Allow developers direct access to GPU, multi-core CPU and other multi-core devices for large-scale parallel programming. This paper designs and implements the basic module of WebCL based on Blink engine, uses the parallel computing interface provided in WebCL standard and modern multi-core CPU GPU to increase the parallelization ability of JavaScript, and accelerates Web applications, especially computationally intensive Web applications. Therefore, the core of the solution proposed in this paper is the design and implementation of WebCL infrastructure module based on Blink engine. This paper first introduces the language characteristics of JavaScript and the method of parallel programming. At the same time, introduces the Crosswalk and Blink engine. Then, this paper uses Crosswalk as the carrier to implement the basic modules specified in the WebCL standard by adding WebCL modules to the Blink engine. In the module, OpenCL is used to realize the corresponding API stipulated by the WebCL standard, and the WebCL module is bound to the V8 engine by the way of WebIDL. At the same time, use WebCL conformance tests to test the correctness of each interface to ensure that the implementation of each interface can pass the test. Then, according to the implemented WebCL standard, the performance test is carried out through the actual computationally intensive Web application, and the effect of data scale and the degree of parallelism of the program itself on the parallelization performance of Web applications is analyzed in detail. Finally, the application scenario of parallel system implemented in this paper is given. The JavaScript parallelization system based on Blink and WebCL can significantly improve the running speed of computation-intensive Web applications and improve the user experience. It has a high research and practical value.
【學(xué)位授予單位】:中山大學(xué)
【學(xué)位級別】:碩士
【學(xué)位授予年份】:2015
【分類號】:TP393.09
【相似文獻】
相關(guān)期刊論文 前10條
1 杜皎,李國輝,荊繼武;一種防火墻平臺的內(nèi)核引導(dǎo)安全機制[J];計算機工程;2005年02期
2 潘永才;張鵬;余小娟;陳俊琪;程鼎;;基于X86平臺的簡單多任務(wù)內(nèi)核的分析與實現(xiàn)[J];物聯(lián)網(wǎng)技術(shù);2013年12期
3 趙炫;徐學(xué)雷;邢建偉;劉宏;;嵌入式VTL中應(yīng)用程序與內(nèi)核通訊的設(shè)計[J];微計算機信息;2007年11期
4 崔大權(quán),張景學(xué),王圣;利用遠程糾錯跟蹤Linux TCP/IP內(nèi)核源代碼[J];沈陽師范大學(xué)學(xué)報(自然科學(xué)版);2003年02期
5 喻鋒榮;Linux內(nèi)核解讀入門[J];軟件工程師;2000年07期
6 苑勛,董傲霜,王琰;Linux內(nèi)核與內(nèi)存關(guān)系的幾個問題的探討[J];小型微型計算機系統(tǒng);2002年06期
7 張磊,王學(xué)慧;Linux內(nèi)核調(diào)試技術(shù)[J];計算機工程;2003年10期
8 王亞軍;;基于嵌入式應(yīng)用修改Linux內(nèi)核的技術(shù)分析[J];武警學(xué)院學(xué)報;2007年12期
9 徐煒;;Linux運行前探秘之一—內(nèi)核編譯及引導(dǎo)[J];電腦編程技巧與維護;2011年11期
10 陳剛,盧顯良;基于Linux-2.6內(nèi)核模塊程序設(shè)計[J];福建電腦;2004年06期
相關(guān)重要報紙文章 前3條
1 本報記者 侯捷寧;證券業(yè)協(xié)會規(guī)范三板 主辦報價券商內(nèi)核程序[N];證券日報;2008年
2 ;減少內(nèi)核空循環(huán) Linux節(jié)能化繁為簡[N];網(wǎng)絡(luò)世界;2007年
3 證券時報記者 楊冬;強化內(nèi)核制度 贏得良好市場口碑[N];證券時報;2011年
相關(guān)碩士學(xué)位論文 前10條
1 徐志誠;基于CortexM3+ucosⅢ內(nèi)核量化分析與硬件探針系統(tǒng)設(shè)計[D];電子科技大學(xué);2014年
2 鄧淵浩;基于硬件虛擬化的內(nèi)核漏洞監(jiān)測系統(tǒng)的設(shè)計和實現(xiàn)[D];江蘇大學(xué);2015年
3 唐成;基于Blink的WebCL基礎(chǔ)模塊的設(shè)計和實現(xiàn)[D];中山大學(xué);2015年
4 杜傳業(yè);嵌入式Linux內(nèi)核解析[D];河北工業(yè)大學(xué);2007年
5 侯紅君;Linux 0.11內(nèi)核研究與內(nèi)核編程實踐[D];天津大學(xué);2007年
6 陳麗波;IA-64 Linux內(nèi)核跟蹤機制研究與實現(xiàn)[D];國防科學(xué)技術(shù)大學(xué);2004年
7 李彬;基于應(yīng)用程序的嵌入式Linux內(nèi)核自動裁剪[D];東南大學(xué);2006年
8 陳斌斌;Kylin內(nèi)核完整性防護技術(shù)研究[D];國防科學(xué)技術(shù)大學(xué);2008年
9 黃凌碧;嵌入式Linux內(nèi)核調(diào)試技術(shù)的研究與實現(xiàn)[D];哈爾濱理工大學(xué);2006年
10 宋柏林;Linux下幾種內(nèi)核級rootkits技術(shù)研究[D];電子科技大學(xué);2007年
,本文編號:1953001
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/1953001.html