Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Virtualization on embedded boards
1. VIRTUALIZATION ON EMBEDDED BOARDS
AS ENABLING TECHNOLOGY FOR THE
CLOUD OF THINGS
CH 6 Prepared by : Mohamed Ramadan
2. Topics
1. Introduction
2. About Cloud
3. From SNSS To CoT
4. CoT and fog computing
5. Embedded systems and virtualization
6. Virtualization techniques
7. Kinds of hypervisors
8. ARM , XEN , KVM
3. 1. Introduction
• Nowadays, the interlinked networks of sensors, actuators, and processing devices
are creating a vast net of connected computing resources, things, and humans.
• Cloud Computing
• IOT
• BigData
• Smart Networked Systems and Societies (SNSS)
4. 2. About Cloud
• What is Cloud ?
1. Shared pool of configurable computing resources (Internet infrastructure called a
platform).
2. On-demand network access (Using the Internet for communication and transport
provides hardware, software and networking services to clients)
7. 3. From SNSS To CoT
• The interlinked networks of sensors, actuators, and processing devices are creating a vast
net of connected computing resources, things, and humans.
• Smart Networked Systems and Societies (SNSS) scenario
• SNSS should be based on the following core technologies:
1. Networking services
2. Real-time systems
3. Wireless sensor/actuator networks
4. Social networks
5. Computing services.
• Internet ofThings (IoT) and cloud computing have seen an independent evolution, and each of them
has been conceived to cover a part of the aforementioned technologies, namely: IoT covers points 1, 2,
and 3, whereas cloud computing covers 1, 4, and 5
8. 3. From SNSS To CoT
• As a consequence, the integration of IoT and cloud computing, called Cloud ofThings (CoT), can be
considered as a first step toward the SNSS vision
• Benefits of integration IoT and cloud computing are the following:
• Pervasivity and ubiquity: Pervasivity, that is, when things are placed everywhere, is typical of IoT
whereas ubiquity, that is, when resources are usable from everywhere, is typical of cloud computing.
• Efficient use of resources: CoT resources such as sensors and actuators can be shared among
processes and systems.This implies a higher utilization, and, thus, a higher efficiency.
• Modular composition: CoT resources can be combined (orchestrated) in different ways to create a
variety of smart-systems customized to individual stakeholders’ needs.
9. 3. From SNSS To CoT
• Rapid deployment and scalability: The orchestration of CoT resources can be rapidly deployed when
needed, scaled up or down when needs change, and released when no longer needed.
• Reliability and resiliency: The ability to dynamically change the resources used by the system helps
the resulting systems to be reliable and resilient.
10. 4. CoT and fog computing
• Very recently, a further extension of cloud computing, called fog computing [3,4], has been proposed,
in order to reach “the very edge of the network”
• This paradigm has been introduced to support some specific requirements of IoT applications:
1. edge location and location awareness (instead of location ignorance, typical of cloud computing)
2. geographical distribution of a very large number of nodes (instead of centralized clusters)
3. mobility (through wireless access)
4. real-time interaction (instead of batch processes)
5. resource heterogeneity
11. 4. CoT …
• As a consequence, this recent paradigm shift allows CoT to leave on the edge the part of the
computation that involves sensing and actuating and, thus, to have low latency. Furthermore, this
allows for shareable resources and multi-tenancy.Therefore, both CoT and fog computing can be
delivered according to the three classical models of cloud computing.
1. Software as a service (Saas)
2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
• Each of these can be specialized to a specific delivery model, depending on the given specific problem
to solve
13. 4. CoT …
• Software as a service (SaaS)
In Software as a service (SaaS) applications, the software applications stored in the cloud and whenever a user wants to
use SaaS applications, they can access it from a web browser.
SaaS Examples: Salesforce, Google Apps,Workday, Citrix GoToMeeting, and CiscoWebEx.
• Platform as a service (PaaS)
Here, in this Platform as a service (Paas) applications, the cloud companies provide everything (software, operating
system, databases, etc) to build cloud applications. PaaS applications eliminate the need for buying various software,
hardware, hosting.
PaaS Examples:AWS Elastic Beanstalk, MicrosoftWindows Azure, Force.com, Heroku and Google App Engine.
• Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS) services provides organizations all the infrastructure they need to build cloud applications.
In IaaS companies will get services like servers, storage, and data centers to store their applications.
Iaas Examples: AmazonWeb Services (AWS), Google Compute Engine (GCE), Microsoft Azure, DigitalOcean.
14. 4. fog computing
• Fog computing is an extension of the cloud but closer to end devices.
16. 4. fog computing
• Sensing andActuation as a Service (SAaaS)
• Data as a Service (DaaS) that enables ubiquitous access to any kind of data
• Sensor Event as a Service (SEaaS) that enables services triggered by sensor events.
17. History Steps
• Put in a nutshell, IoT is moving toward cloud computing, and, then, toward fog computing
• consequence of this trend, the virtualization inside embedded systems is required. At this point, two
• fundamental questions arise:
Q1. Are the current hardware technologies for embedded systems appropriate for virtualization?
Q2. Are the current virtualization techniques appropriate for embedded systems? If so, what is the
• most appropriate technique?
18. 5. Embedded systems and virtualization
• Answers to the aforementioned questions
• There are three basic virtualization techniques for embedded systems :
1. full virtualization
2. Para virtualization (as instances of hardware-level virtualization),
3. Containers (as an instance of operating-system-level virtualization)
20. 6. Virtualization techniques
• Virtualization techniques can be classified in :
1. System Level virtualization (exposing an ISA)
2. Process Level virtualization (exposing an ABI)
3. Hardware-level virtualization
22. 6. Virtualization techniques
• Concerning hardware-level virtualization, basically two virtualization technologies are used:
Fullvirtualization and para-virtualization.
• In full virtualization the virtualized interface provided to the guest OSs is identical to the host
machine, so the OSs do not have to be modified in order to run on guestVM.
• Paravirtualization, as the name suggests, provides an interface which differs from the host machine;
in this case a modified OS is needed in order to run on virtual machines.
• Furthermore, it should be noted that hardware-level virtualization requires a hypervisor (also called
Virtual Machine Manager orVMM) in order to manageVMs.As a consequence, hardware-level
virtualization requires a hierarchical scheduling: an inter-VM scheduler to choose whichVM will be
executed, and an intra-VM scheduler for eachVM to scheduleVM tasks. Each scheduler is not aware
of the existence of the others, due to the needing of isolation.
23. 7. Kinds of hypervisors
• There exists two kinds of hypervisors:
• Type-I hypervisors
• Type-II hypervisors.
24. 7. Kinds of hypervisors
• Type-1 hypervisors, or bare-metal hypervisors :
run directly on the physical hardware.They offer independent and isolated partitions that virtualize
critical-hardware devices, and also provide services for interpretation communication and control.This
type of hypervisor is particularly suited for real-time systems, because they are close to the hardware.
25. REFERENCE
• ResearchesWebsites
Research Gate Web Site
• Blogs
https://www.linaro.org/blog/on-the-performance-of-arm-virtualization/
https://yourstory.com/mystory/61064782df-internet-of-things-io
• Books:
internet of things principles and paradigms