Streamlining HPC Workloads with Containers.pdf - Google Drive

1 downloads 166 Views 4MB Size Report
Whoops! There was a problem loading more pages. Retrying... Whoops! There was a problem previewing this document. Retryi
Streamlining HPC Workloads with Containers @DustinKirkland

what does high-performance computing look like?

Wikipedia says...

Or perhaps in China...

Google image search shows...

The university student learns...

HackerNews suggests...

x1.32xlarge Your DevOps engineer launches...

But then there is your real, actual data center...

what do all of these have in common?

a lot, actually

they’re all running Linux

directly on the bare metal itself

performance is maximized

overhead is minimized

big problems are distributed across a cluster

everyone prefers a clean environment

virtual machines always involve overhead

Guest VM Exit VMXON

VM Entry

VM Monitor

VMXOFF

oh, and let’s reboot a datacenter

BIOS is checking memory for problems… Scanning 1,199,511,627,776 bytes… This may take several minutes… Running test 1 of 8: 1.0% complete Overall test status: 0.1% complete Time elapsed: 17m23s Status: No problems have been found yet.

so let’s have a look at containers

first, process containers

awesome for HPC functions

LXD

second, machine containers

➢ Ultra fast “vm-lite” guests (bare metal speed) lxc distribution of Linux lxc - e.g. Ubuntu, CentOS lxc ➢ Any machine ➢ machine Starts in less than machine 1 second ➢ 15x density of KVM or ESX for idle workloads

lxc machine

kernel

lxd

host A

kernel

lxd

kernel

host B

lxd

host C

kernel

lxc machine

lxd

kernel

host D

LXD REST API nova-lxd

lxc cli

other restful apps

host ...

lxd

lxc machine

kernel

lxd

host A

➢ Ultra fast “vm-lite” guests (bare metal speed) ➢ Any lxcdistribution of Linux lxc- e.g. Ubuntu, CentOS lxc ➢ machine Starts in less than 1 machine second machine ➢ 15x density of KVM or ESX for idle workloads kernel

lxd

kernel

host B

lxd

host C

kernel

lxd

lxc machine

kernel

host D

LXD REST API nova-lxd

lxc cli

other restful apps

host ...

lxd

One LXD container, with 100% of the system: CPU Cores CPU Cycles Memory Disk Space Disk IO Network IO

“alloy” mode

exclusive access to system resources

but secured from the underlying hardware and OS

cgroups, user namespaces, apparmor, seccomp

instant startup

looks like a machine, Linux on Linux

zero latency

zero overhead

identical performance

snapshot restore

live migration

demo

ubuntu.com/lxd github.com/lxc linuxcontainers.org