The Medusa Proxy - Defense

A Case for Virtualizing Nodes on
Network Experimentation
Testbeds
Konrad Lorincz
Harvard University
July 29, 2017
Motivation
In the beginning …. 1960s, 1970s


hardware was expensive => commodity
computer systems shared by multiple users
Today



hardware is relatively cheap
connectivity and location are a commodity
Network experimentation testbeds are expensive => shared
»
ex: PlanetLab, Globus,
Centurion
PlanetLab
July 29, 2017
2
Sharing Scenario

Current mode of sharing
1.
2.

Each user has an account on the testbed
To perform experiment – user logs on one node, runs script
which starts jobs on a subset of the nodes
Unfortunate Scenarios
1.
Inconsiderate user: Node N is performing critical
experimental computation for user A
»
2.
Considerate user: Node N is running A’s experiment
»
July 29, 2017
User B runs his/her script that starts computationally intensive
job on node N
User B checks load on node N, determines it’s very low, starts a
moderately computation intensive job on node N
3
Current Way to Solve This

In a Small Lab

John posts a message on the bulletin board …
Please don’t use machines X, Y, and Z between
5/2/02 – 5/5/02. I am running my experiments.
Thanks,
-John
PS. If you absolutely must log on one of these machines during this
time, please don’t run any computationally intensive jobs.

Analysis


July 29, 2017
May work OK in a small lab => clearly does not scale
Inefficient use of resources
4
Desired Sharing Properties
Need a good mechanism for sharing so that users don’t get in each other’s way

Ideal Scenario: Researcher A specifies to the scheduler that it needs N number of
machines/nodes, for H number of hours, each with W amount of RAM, X amount of
disk size, CPU equivalent to Y MHz, and bandwidth of Z Mbps.
Desired Properties of Mechanism for Sharing


Efficient multiplexing of resources amongst users
Control over resources
»
»

Isolation
»
»

Reservation of resources
Enforcement
Security
Performance
Customization
July 29, 2017
5
Solution
Claims
1.
2.
July 29, 2017
Sharing problem can be solved by
=> virtualizing the testbed nodes
Good way to virtualize nodes
=> use a VMM
6
Advantages of Virtualization

Efficient Multiplexing of Resources


Takes advantage of statistical multiplexing (demand-based)
Resources requested, if granted, are guaranteed for the
duration of the experiment
»
July 29, 2017
Only need to request resources needed => may be very few
7
Advantages of Virtualization

Control Over Resources




July 29, 2017
Can be fine-grained and precise
Allows for reservation/allocation of resources
Enforcement of reservations and policies
Commercialization? – if it can be controlled and accounted
for => service could be sold
8
Advantages of Virtualization

Isolation

Security
»
»
»
»
Almost perfect security from other VMs (i.e. users)
Namespaces of each VM is private => cannot even name a
resource on another VM
Even if a VM is compromised, the rest are not
Downside:


Performance – aim for soft guarantees
»
Actions of other users on the node don’t affect my availability to
resources (guarantees)

July 29, 2017
Resources don’t span multiple protection domains
=> can’t share a common service across VMs
If Bob overloads his VM, it won’t affect my VM
9
Advantages of Virtualization

Customization


User may ask for exact machine configuration he/she
requires (RAM, disk size, CPU, network bandwidth)
May load different OSes or modified/customized ones
»
»
»

Easy management
»
July 29, 2017
User may require a particular OS (FreeBSD)
Denali kernel can be loaded and run on
User has superuser privileges
user configures once a customized VM image
=> transfers it to required nodes or other testbeds
10
Arguments Against Virtualization

Overhead of Running a VMM


July 29, 2017
Relatively small! VMware server, Denali + others report
about 10%
Hardware is getting faster => overhead will be even less of a
factor
11
Arguments Against Virtualization

Use Dedicated Physical Machines

Reservation too-coarse grained
»

must dedicate an entire physical machine to a user => may
require the equivalent of 1/8 of the machine
More expensive
»
More expensive to buy 6-12 machines then one more powerful
one + VMM
"We're running 20 virtual machines on one four-way
system, and it's handling everything from CRM
applications and security to application development
and testing, all of which has saved us huge amounts
of time and money in hardware costs."
-- Alan Thomas
Senior Technical Consultant, National Gypsum
Company
July 29, 2017
12
Arguments Against Virtualization

Do/Implement the sharing at the OS level



July 29, 2017
VMMs are much simpler than conventional OSes
Other mechanisms at the OS level impose particular software
interfaces or models to the user => with a VMM it’s clear, you get a
“raw” machine
Cannot provide strong performance isolation => the need to support
high-level abstractions prevents OSes from providing strong
performance guarantees
» Precise resource accounting is difficult because resources
intertwined in the implementation of abstractions. ex: file buffer
cache and TCP\IP socket buffers consume memory resources
that aren’t charged to any particular app. [Denali paper]
13
Can It Be Implemented?

Not only feasible, but practical

Several off the shelf products exist:
»
»
»


For us, VMMs only needs to support half-doze to dozen VMs,
can easily handle (VMware ESX supports up to 64 VMs)
If a particular VMM doesn’t provide guarantees for a
resource, it can be easily extended with well known
scheduling algs.
»
»
»
July 29, 2017
VMware ESX server
IBM z/VM
Disco (for NUMA)
Fair queuing => network bandwidth
Stride scheduling => CPU
Cello framework => disk bandwidth allocation
14
Conclusion


Network experimentation testbeds are a commodity
Users have different needs + require guarantees.
Currently no formal way to handle this

Virtualizing testbed nodes by running a VMM is a
good solution.
1.
2.
3.
4.
July 29, 2017
Efficient multiplexing of resources
Fine-grained control over physical resources
Isolation
Customization
15
App 1
App 1
App 2
App 1
…
OS 1
OS 2
HW
HW
…
OS 5
HW
VMM
Hardware (HW)
July 29, 2017
16