mobile gpu cloud computing
TRANSCRIPT
Mobile GPU Cloud ComputingMarwa Ayad
Prof. Ashraf SalemDr. Mohamed Taher
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
2
Agenda• Introduction• Motivation • Objectives• Cloud computing • Mobile Cloud Computing• Real Time face Recognition MCC• Face Recognition MCC enhancement • Conclusions
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
3
Introduction• Mobile Cloud Computing (MCC) which combines mobile
computing and cloud computing. It refers to an infrastructure where the data storage and data processing can happen outside of the mobile device.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
4
Motivation• Mobile devices are becoming an essential part of human life. (e.g.,
Smartphone, tablet PCs, etc) • Mobile devices still lack in resources.• MCC overcome the mobile challenges (battery lifetime,
processing power, availability)• Integrate mobile device with cloud computing
– Accessing to multimedia and sensors data.• MCC provide Efficient and effective application
– Real-time response.– Minimum communication cost with mobile platform – Limited computation overhead
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
5
Motivation
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
6
Motivation
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
7
Motivation
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
8
Objective
• The objective of this work is to:– Build Mobile Cloud Computing environment with open
source cloud OS. – Develop Mobile Cloud Computing Application.– Enhance Mobile Cloud Computing Application.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
9
Agenda• Introduction• Motivation • Objectives• Cloud computing
– CC service module– CC deployment module– Build private cloud (opensource Software)
• Mobile Cloud Computing• Real Time face Recognition MCC• Face Recognition MCC enhancement • Conclusions
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
10
Cloud Computing• Cloud Computing provider of pooled network resources such
as CPU, RAM, Storage and software over the web. These services are easily provides and released on demand.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
11
Cloud Computing service models • Infrastructure as a Service (IaaS):• Platform as a Service (PaaS).• Software as a Service (SaaS).
12
Cloud Computing deployment models• Private Cloud.• Public Cloud. • Hybrid Cloud.• Community Cloud
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
14
OpenStack (IaaS)• OpenStack: Open source cloud operating system that controls
large pools of compute, storage, and networking resources throughout a datacenter.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
15
OpenShift (PaaS)• OpenShift:
o Open Source Software to PaaS that enables developers to build and deploy web applications without constraints.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
16
Cloud Service models IaaS vs PaaS• Experiment Goal:
– Evaluate application deployment in deferent cloud service models.
• Experiment Description: – retrieve the data of ten persons from MySQL database.
• {"personData":[{"address":"nasrcity","age":"20","city":"Cairo","country":"Egypt","description":"Marwa has traditional and practical personality. she is hardworking and has leadership. ","email":"[email protected]", "gender":"female", "image":" ","job":"Senior Software Engineer ","name":"Marwa","telephonNumber":"0245358249329 "}]}
• Experiment Result:
Total request Time service models
1.75 sec Iaas
2.83 sec Paas
The platform as a service module adds a little overhead on response time. The overhead is mainly caused by managing and monitoring development software.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
17
Agenda• Introduction• Motivation • Objectives• Cloud computing • Mobile Cloud Computing
– Mobile cloud computing architecture – Mobile cloud computing Application
• Real Time face Recognition MCC• Face Recognition Mcc enhancement• Conclusions
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
18
Mobile cloud Computing Architecture
• Mobile Network
• Cloud Computing
• Mobile Device (with developed Application )
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
19
Mobile cloud Computing Application
• Native Mobile applications– Developed using mobile platform supported programming languages
• Embedded browser applications:– developed using standard web development languages.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
20
Mobile Android Vs. Blackberry • Experiment goal:
– Measure the effect of mobile client resources with multiple requests to cloud backend application.
• Experiment Description: – The native mobile application for android and blackberry generates and sends
20 request in closed loop (sequentially) and record the time of whole process.
• Experiment Result:Average time per request
Total time for 20 sequential request
1.40 s 28.1746 s SONY ((Android
10.5 s 210.6431ms Blackberry(blackberry API)
Android 10 times faster than blackberry.Blackberry OS 5.0 has 6 network transport types [Blackberry Internet Service, mobile data service, Direct TCP, WIFI TCP, WAP 1.0, and WAP 2.0]. Android makes http request faster by using the apache HTTP client.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
21
Mobile Android Vs. Blackberry in Different Cloud structure
• Experiment goal: – Measure the effect of mobile client resources with one request to different
cloud structure.• Experiment Description:
– The native mobile application for two android devices and blackberry generates one request to retrieve person data.
• Experiment Result:
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
22
Agenda• Introduction• Motivation • Objectives• Cloud computing)• Mobile Cloud Computing• Real Time face Recognition MCC
– Face Detection– Face recognition
• Face Recognition MCC enhancement • Conclusions
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
23
Real Time face Recognition MCC(SaaS)
• High computational power.• Required large storage• Using mobile resource.• Real Time response.• Multiple accessing.• Useful application.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
24
Face Recognition Flow Diagram
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
25
Face Detection (Viola and Jones call Haar Classifier Detection Algorithm )
• Haar Classifier Detection: o The Algorithm looks for specific features of a human face o When one feature is found, the algorithm allows to pass to the next stage of detection.o Uses a cascade of stages to eliminate non-face candidates quickly.o Our implementation Consist of 24 stages and each stage contains number of features.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
26
Face Recognition (The Eigenface Algorithm )
Image database consist of 50 face image for 10 unique people with 5 photos / person
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
27
Agenda• Introduction• Motivation • Objectives• Cloud computing • Mobile Cloud Computing• Real Time face Recognition MCC• Face Recognition MCC enhancement
– Face Detection filter– Multithread face Detection– GPU accelerations
• Conclusions
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
28
Face recognition MCC enhancements
• Face recognition algorithm enhancement– Apply skin filter after detection .
• Programming enhancement – Multithread application.
• GPU Acceleration
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
29
Face Detection Filters
• Face Detection Filter (Skin Color Filter)– Pixel in skin image is more or equal to estimated threshold value. Total
pixel skin more than 50%– Increase the accuracy of the detection from 95% to 97%.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
30
Evaluate Face Recognition MCC Application in Different Cloud Structures
• Experiment goal: – Measure the performance of face recognition application with different image
size deployed in different cloud structure.• Experiment Description:
– The images database consists of 50 photos for 10 persons.• Experiment Result:
• The presented time includes the communication time between mobile and cloud instance and it is similar in one and multiple servers with quite increasing in VM cloud instance.
• Increasing number of faces in image not only increases the recognition time but also increases time of detection.
31
Multithread Face Detection• Detection window parallelization:
– Detection window moving over input image can be parallelized.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
32
Evaluate Effect of Multiple Thread Face Detection Application
• Experiment goal: – Prove that distribute face detection tasks on multiple threads improve algorithm
computation and provide better utilization to cloud resources.
• Experiment Description: – Implement android face detection mobile application.
• Experiment Result:
The experiment proves that four threads will reduce execution time by 2.8 times as still communication spent fixed time and switch between thread overhead.
33
GPU Acceleration • Executing data parallel code fragments on the
GPU rather than being confined to the local CPU
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
34
NVIDIA GTX 480
GPU_MCC
Marwa Ayad, ICEAC 2015, Cairo
Recall, there are 15 cores on the GTX 480:15 *32
35
Simple Processing Flow
1. Copy input data from CPU memory to GPU memory
PCI Bus
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
36
Simple Processing Flow
1. Copy input data from CPU memory to GPU memory
2. Load GPU program and execute,caching data on chip for performance
PCI Bus
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
37
Simple Processing Flow
1. Copy input data from CPU memory to GPU memory
2. Load GPU program and execute,caching data on chip for performance
3. Copy results from GPU memory to CPU memory
PCI Bus
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
38
Face Recognition GPU Vs. CPU• Experiment goal:
– Measure the effect of using GPU instead of using CPU Only.
• Experiment Description: – CUDA face recognition implementations vs. CPU face recognition implantation.
• Experiment Result:
We can see that CUDA based implementation on GEForce GT 525M(96 core) is 9 times faster than the CPU version.
39
Face Detection mobile Vs. CPU Cloud Vs.GPU Cloud
• Experiment Goal: – measure the execution of face detection application on local on mobile device
and remotely on deferent cloud platform.
• Experiment Description:– Mobile face detection implantation Vs. MCC face recognition
• Experiment Result:– Cloud 40x Vs. mobile– One server = multiple
Server with low processingPower.
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
40
Conclusions
• A private Cloud system has been constructed• Face recognition MCC Application has been
developed .• Performance improved by using GPUs
– Speedup of 9x vs. CPU• Results show 40x speedup on cloud compared
to mobile
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
42
Experimental SetupCloud Server Mobile Device
GPU Acceleration :
Nvidia: GEForce GT 525MCUDA Driver Version 6.5Number of multiprocessor : 2Number of CUDA Cores/Mp: 48 Total (96 CUDA Cores)
Development Tool
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
43
MCC Security Platformchain security mechanism
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
44
CSM Security Application platform
• Mobile Generates Asymmetric Key (MPK & MSK)
• Register with ID & MPK• Cloud check Generate (SK)• Cloud encrypted authorization
message & SK by MPK.• Mobile Divided data and encryption
SK + part number.• Cloud Decryption & processing.• Cloud response Encrypted with (sk).• Authentication & Authorization
(second time)
GPU_MCC Marwa Ayad, ICEAC 2015, Cairo
45
CSM Security Data sharing platform