AI and Predictive Analytics in Data-Center Environments Virtualization & Containers Josep Ll. Berral @BSC Intel Academic Education Mindshare Initiative for AI
Introduction “Independent experiments better be isolated ...in part because we are not alone in the system ...also to have reproducible environments”
Introduction • Isolation/Capsule of experiments A C B A C B Operating System CPU Disk Mem • Prevent our executions to be bothered by other executions, users, configurations
Introduction • Isolation/Capsule of experiments User 1 User 2 User 3 A B C A B C VM manager Environment Environment Environment (hypervisor) or Resource Manager Container manager Operating System CPU Disk Mem
Introduction • Isolation/Capsule of experiments A A VM manager Environment (hypervisor) or Container Resource Man. Resource Man. Resource Man. manager CPU CPU Mem Disk CPU Mem Disk Disk CPU Mem CPU Disk Mem • To deploy our executions, independently of the underlying infrastructure/platform
Introduction • Different ways • Virtual Machines: ~ partial or total emulation of a “real machine” as a running process • Containers: ~ separated environments (capsules, “pods”, ...) that share the “base system”
Virtual Machines ~ partial or total emulation of a “real machine” as a running process
Virtualization • A “machine” inside your machine Apps & OS think they are running in a “real” machine App App App App App App App App App App App App OS OS V-HW V-HW Operating System Operating System OS Hardware Hardware Virtual HW Physical Machine Virtual Machine
Virtual Machines • Tailoring Resources X 2 CPU X 16GB Mem X 1TB Disk App App OS Virtual HW CPU CPU Disk Mem Mem Hypervisor Operating System CPU CPU CPU CPU Disk Disk Mem Mem Mem Mem
Virtual Machines • Tailoring Resources “Are you a real machine?” App App “Yes, I am” OS Virtual HW CPU CPU Disk Mem Mem “[Yes, you are...]” Hypervisor Operating System CPU CPU CPU CPU Disk Disk Mem Mem Mem Mem
Virtualization in Resource Providers • Resource providers DO NOT give physical resources, but VMs! App App App App App App Physical Virtual Apps & Data-Center Machines Machines Services
Resource Providers An Example
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud x2 User1 x3 User2 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud x2 User1 x3 User2 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud x2 User1 x3 User2 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud • We can deploy any number of copies of the VM where available • We can have VMs from different users running together but isolated x2 User1 x3 User2 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud • We can move or copy the VM to another machine x2 User1 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Our framework, Virtualized • Deploy VMs in our local machine, in our cluster, or in the Cloud • We can save the state of the VM, and resume later x2 User1 x1 User2 Physical Physical Physical Cluster Machine 1 Machine 3 Machine 2 x4 User3
Containers • Virtualization of the “user level” • Lightweight version of Vms • Part of the OS is shared • Own environment and specific software and libraries • Apps only see their environment App App Resource quotas Environment CPU CPU Disk Mem Mem Container Manager Operating System CPU CPU CPU CPU Disk Disk Mem Mem Mem Mem
Summary • Virtualization/Containers allow to • Execute applications and services in an “independent” environment • Deploy executions (almost) independent of the base system • Deploy copies of applications along physical machines • Migrate executions across machines • Cloud providers: • Provide users Virtualization/Containers • Allow management of physical resources
Recommend
More recommend