- Open Access
- Total Downloads : 22
- Authors : Ranjana Kumari
- Paper ID : IJERTCONV4IS27026
- Volume & Issue : NCRIT – 2016 (Volume 4 – Issue 27)
- Published (First Online): 24-04-2018
- ISSN (Online) : 2278-0181
- Publisher Name : IJERT
- License: This work is licensed under a Creative Commons Attribution 4.0 International License
Parallelism as A Way to Multi-Core Mobile based Web Browser Engine
Asst. Professor, MCA Department, Global Institute of Management Sciences, Bangalore, India
Abstract Due to information technology and change in today life style, mobile has become integral part of us. Frequently advancement in its features and because of its multi core processor the computing field has expanded to become popular for parallel computing. Search engine provides the information easily and is attracting the people easily because of ready hand held device. There is massive use of parallelism in mobile phones for the applications with the concept like data parallelism and task level parallelism in computing. The paper gives the picture of parallel computing and about the implementation of parallelism on multi-core processor of mobile phones. The paper highlights the architecture of mobile based web browsers and how modern mobile are benefit with parallel computing using Parallelism and concurrency on mobile applications.
KeywordsMulti Core processor, Parallel Computing, data parallelism, mobile phones, concurrency, mobile based web browser;
Parallelism is a concept where many calculations can be done at the same time, in which a large problem is broken down to multiple fragments and all can be executed simultaneously with different processors. For this it uses many processors to perform work on a single problem. Parallel processors can also be said as many processors can be attached to one computer to speed up the computation time.
Parallel computing has a huge scope with its impact on many areas ranging from genetic algorithms, scientific research, simulation and modeling, weather forecasting, seismologic study to commercial application.
Mobile is a handheld device with individual hand, portable and always connected. Mobile technology has become most popular computing environment after the advances of multi core processing, wireless networking and exciting mobile based web browsers. The features of mobile devices like more handy, ease to use and more convenient are advantage on desktops and laptops. Mobile helps us to work and communicate from virtually any location and its applications are very different from PC interactive applications.
Mobile development is quite responsive with continuous growth among commercial apps and game software. It is extensively use for multitasking, audio & video play, browsingthe web, 3D gaming, image transferring. Improve the performance with the help of concurrency, multiprocessing and multithreading. The
main goals of designing and balancing a mobile platform are speed, performance and power. Other than these the design factor is its continuous change in external environment and maintaining or increasing battery life. To increase the performance, speed, extend battery life and improve power, mobile devices transition to multi-core processors.
The modern mobile devices such as smartphones, tablets have processor which uses parallelism and heterogeneity. The concept of parallelism is where two or more tasks simultaneously run at the same time and concurrency is a concept where two or more task are started, executed and finalized in overlapping time periods. In parallelism multiple threads run on a multicore chips whereas in concurrency multiple threads running on a single-core chips. Both the techniques are used in parallel computing, running browser in concurrent or parallel mode can be done at some fundamentals of mobile app testing also. Easily accessible internet and multi core architecture helps to do most of the tasks involve web browsing. The majority of today mobiles are available with quad core to octa cores. The designer of Web browser have to compete with many drawbacks related to network for fast processing in transfer of data, quick response time for page load, high performance user interface , interactive web applications.
The paper presents browser architecture towards hardware and software efficiency. This paper proposed the implementation of data parallelism in parallel programming for a mobile web browser. It also gives detail on benefits of parallel computing on mobile applications like web browser.
Parallelism in mobile device is an interesting topic and many attempts have been made by researchers to design a high-level framework that provides information on multi core architecture of mobile device. DhuhaBasheer Abdullah, Mohammed M. Al-Hafidhhas considered the problem of lane detection system using mobile device in their paper Developing Parallel Application on Multi-core Mobile Phone. There are hardware frameworks to implement parallelism in mobile devices; such framework allows the programmers to concentrate on hardware components GPGPU and CUDA architecture.
Daniel C. Doolan, and Laurence T. Yang in year 2006. The problem was matrix multiplication to show the algorithm can work on mobile using parallel computation. They implemented Mobile Message Passing Interface (MMPI) library for programming.
Brendan J. Donegan, Daniel C. Doolan, Sabin Tabirca, showed the scatternet technology a modifivation on MMPI in their paper Mobile Message Passing using a Scatternet Framework.
We may be surrounded by handheld devices but the issue is that we should utilize them to the extreme. The computational speed and performance of processors results to the area of parallel processing.By using multiple cores the task is completed much faster and at lower power. The basic of parallel computing says that the computational time using multiprocessor reduces in parallel programming. The speed up factor S(p) is a measure of relative performance.
S(p) = t(s) / t(p)
Where t(s) is execution time by single processor, and t(p) is execution time using multiprocessor with p processor.
The need of parallelism for mobile
Mobile devices are also be used for various performance-intensive tasks such as playback of high definition videos, online gaming, simultaneous video downloads and uploads, and real-time video conferencing, graphics processing. Use of multi-core processors in mobile devices improves performance, even it stays within the power and thermal limits of mobile devices. Many techniques are implemented such as micro semiconductor processes, using multi core processors, and using larger on- die caches. Solving thermal and heat issues increase the performance but reduces battery power.
From hardware technology there are multiple processor cores, GPGPU, accelerators, multiple parts of shared memory. The mobile GPU (graphics processing unit) is a dedicated co-processor designed for mobile devices to enhance quality of graphics applications, user interfaces. GPU is properly designed to handle online multiplayer 3D games and audio, video and other parallel tasks. CUDA (Compute Unified Device Architecture) is a mobile base parallel computing platform for data-parallel architectures created by NVIDIA. OpenCL compiler exists for multicore ARM CPUs to support GPU.
In a mobile device, hardware development use parallel processing also within the subsystems. The application subsystem and the wireless modem are component require high processing performance. The wireless modem is hardware based specialized environment and uses hardware advancement for high computational processing power. Whereas the application subsystem is software based open environment and implement simulators for testing and debugging from multiprocessor system.
From software technologythere are parallel and concurrent, multiprocessors which handles multitasking, task parallelism and data parallelism techniques enhances application virtualization, accessing of remote application and responsiveness in the Operating System. Software parallelism is a programming style, and compiler optimization to develop a cross-development setup environment. Multi-core ARM technology uses parallelism with parallel execution of threadson a multi core mobile devices. WIFI software with high speed is available in smart phones. Even a location tracker in a mobile with WIFI software is provided to control the message spread.
Like concurrency mobile computing also implements data parallelization by distribution of data computing over multiple processor environments. Fig 4.1 shows an instructions executed from a single stream operate concurrently on multiple data. Each processor performs the same task on different set of distributed data to make the faster completion of task.
Input data: d0 d1 d2 d3 d4 d5 —-dn
Fig 4.1 parallel data execution with single instruction
It is a parallel programming model where different task or functions can be performed on same or different sets of data. Fig 4.2 describes distributes of task or threads to different processors for execution simultaneously. Once there is decomposition of a task into sub-tasks then each processor executes one task.
A Task Multiple sub task with multiple processor
Fig 4.2 parallel execution of multiple task or function
Parallel programming development for mobile
The parallel programming for mobile device can be developed by Mobile Message Passing Interface (MMPI) library designed for Bluetooth based piconet network. This library functions are designed to connect multiple devices and work simultaneously with maximum of eight devices. A scatternet can be implemented which interconnects two or more piconets by common node such as two different mobile phones or any other interface and forms a master slave environment.
Application development of parallel programs, multiplayer games, parallel audio video and graphic
applications, can be developed using this library for message passing system. It allows point-to-point and collective communication and this library consists of a series of classes and works similar like MPI functions. The library makes easy the inter device communication. Fig 4.3 shows MMPI library work starts from collecting data from network to conversion the data to MMPI understandable function. It also works as an interface between user and communication channel. MMMPI library defines an application programmer interface (API) for parallel implementation of programming.
When a mobile web browser looks for a particular information. To get the result, multiple processors work under bounded parallel computing system environment. In Fig 4.4 we can see mobile browsers are used to access different types of apps parallel like Social Networking, Online Games (Multiplayer), Data processing, Audio and Video Visualization. (Figure below indicates each web server as one app service provider having separate database)
Mobile based Web browser
Mobile based Web browser
Mobile based Web browser
Fig 4.3 MMPI library Components
To use MMPI library routines in developing parallel programming we start with initialization and end the programming by termination of parallelism
We have parallel functions send ( ) and recv ( ) to communicate in message passing with other devices.
Parallelism in mobile based web browser
A mobile web browser is an application designed to use on a mobile device. Usually mobiles have less memory and small screens so the browsers are optimized to display web content effectively.
Mobile browsers access the hardware directly including accelerometers and GPS chips to speed-up the accessibility. So the browser software should be small and efficient for small memory storage. New mobile browsers uses light weight pages and specialized wireless markup language (WML) to support a wider range of Web formats, including variants of HTML commonly found on the desktop Web. Now browser execution in parallel processing is multi-threaded and it spawns multiple processes. Each page created is a separate process and uses parallelism. A mobile browser requires parallel computation to collect and interact in data parallelism.
Fig 4.4 Parallel access of mobile based apps
This paper describes the parallel architecture of handheld machines and working of parallelism in mobile devices that to improve performance and power. We have described the requirements and constraints of parallelism for web browser in battery live mobile and described its implementation. We have discussed the benefits of parallel processing in mobile based web browser. We have also demonstrated how to achieve speedup in a mobile by using the MMPI (mobile message passing interface). A parallel browser engine designed to exploit multicore concurrency based on the idea of task and data parallelism.
This research paper is made possible due to constant support from everyone, including my family and friends. I would like to thank Dr. Mahabaleswara Bhatta H.S, Director, Global Institute of Management Sciences for his advice and encouragement.
The Benefits of Multiple CPU Cores in Mobile Devices,
DhuhaBasheer Abdullah, Mohammed M. Al-Hafidh
,Developing Parallel Application on Multi-core Mobile Phone, International Journal of Advanced Computer Science and Applications, Vol. 4, No. 11, 2013
CalinCascaval, Seth Fowler, Pablo MontesinosOrtego, Wayne Piekarski, MehrdadReshadi, BehnamRobatmili, Michael Weber,
VrajeshBhavsar, A Parallel Web BrowserEngine for Multicore Mobile Devices, Qualcomm Research Silicon Valley, ZOOMM
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang, Parallel Computing on a Mobile Device, CopyrightÂ©2009,IGI
Brendan J. Donegan, Daniel C. Doolan, Sabin Tabirca, Mobile Message Passing using a Scatternet Framework, International Journal of Computers, Communications & Control Vol. III (2008), No. 1, pp. 51-59
Michael J Jipping, Gary Lewandowski, Parallel Processing over Mobile Ad Hoc Networks of Handheld Machines
Daniel C. Doolan, Sabin Tabirca, Laurence T. Yang, Mobile Parallel Computing, 0-7695-2638-1, IEEE
James A. Ross , David A. Richie , Song J. Park , Dale R. Shires , and Lori L. Pollock , A Case Study of OpenCL on an Android Mobile GPU
Michael Allen, Barry Wilkinson, Parallel Programming Techniques and Applications2edition, ISBN 81-317-0239-1
AnanthGrama, Anshul Gupta, George Karypis, Vipin Kumar, Introduction to Parallel Computing, 2nd edition ISBN 978-81-317- 0807-1