sponsored by the national science foundation exogeni

15
Sponsored by the National Science Foundation ExoGENI www.exogeni.net

Upload: gilbert-hall

Post on 04-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation

ExoGENI

www.exogeni.net

Page 2: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 2www.geni.net

ExoGENI: What is it?

• A collection of ‘racks’ being installed on campuses across US and the world– Core of ExoGENI is built on IBM hardware– Also support Dell and Cisco UCS-B

• Runs ORCA control softaware• Federates with other GENI resources

– Supports common identity mechanisms, APIs and resource descriptions

Page 3: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 3www.geni.net

ExoGENI at a glance

Page 4: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 4www.geni.net

ExoGENI: why different?

• Designed to bridge distributed experimentation and computational science– Supports sliverable storage for ‘Big(gish) Data’– Supports easy native ‘stitching’ of resources across racks

• Optimized for different design choices– ExoGENI does not support lightweight containers– Only VMs with tightly accounted cores and baremetal nodes for

strong performance isolation• This means even VM slivers are limited. ExoGENI does not

oversubscribe CPU cores!

• Makes few(er) assumptions about experiment behavior or purpose. For example:– IP forwarding is not on by default– No IP address is assigned to dataplane if the RSpec doesn’t

assign it

Page 5: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 5www.geni.net

ExoGENI: How Different?

• Based on a different technology stack– Off-the shelf cloud solutions with lightweight orchestration on top– OpenStack for VMs– xCAT for baremetal nodes– ORCA (Open Resource Control Architecture) federation software written

by Duke University and RENCI/UNC Chapel Hill• Provides additional features over native APIs using native tools

– Over time some features migrate back to GENI • Important! Can be thought of as both a

– Collection of separate racks (each rack has GENI AM API point)– Singe aggregate capable of complex topology embedding (So-

called ‘ExoSM’ provides orchestration across racks)

The important thing is your experiment. Decide on what types of resources you need and what features you expect. Decide on the tools,

decide on the resources.

Page 6: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 6www.geni.net

ExoGENI: ORCA Control Framework

• ORCA provides orchestration and GENI federation– Exposes GENI AM API and allows the use of RSpec. Allows the use of

GENI tools– Exposes a native API and the use of native resource description

mechanisms. Allows the use of ExoGENI-specific tools.• ORCA provides stitching across ExoGENI aggregates

– Between ExoGENI racks– Includes ‘stitching’ to campus resources, where appropriate

• Provides topology embedding support– Slices can be ‘bound’ to particular racks or ‘unbound’, leaving it up

to ExoSM to decide where to allocate resources– Experimenter can ‘talk’ to individual racks to get resources or get

ExoSM to select the rack • ExoSM can even automatically split some slices between racks

Page 7: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 7www.geni.net

Details: Hardware

ExoGENI *

Nodes per rack 10 workers + 1head

Cores per rack 160**

Network interfaces 2x 10Gbit*** with SR-IOV

Storage 150GB+500 GB local + 6 TB SAN

Switches IBM G8264R (Port-based OpenFlow)

* Listed are the specs for ExoGENI IBM-based racks.

** Actual number of available cores varies.

*** Racks deployed at OSF and StarLight will have 40Gbps option

Page 8: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 8www.geni.net

Specific Notable Behaviors

• Resource allocation– ExoSM can allocate slices across multiple racks at

once and can stitch them together using NLR, I2 and ESnet

• Images– Bare-metal – just a few available for now– VMs – BYOM (Bring Your Own Image)

• ExoGENI does not host images• Image can be created by experimenter consistent with making

an OpenStack or Eucalyptus image• ExoGENI will download any image from any URL• Images can (to some extent) mix and match kernels, ramdisks

and filesystems

Page 9: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 9www.geni.net

ExoGENI VM Image Descriptor Format

<images> <image> <type>ZFILESYSTEM</type> <signature>4faf41957859031b434bb74e1f41f72f87512ec6</signature> <url>http://geni-images.renci.org/images/standard/centos/centos6.3-v1.0.7.tgz</url> </image> <image> <type>KERNEL</type> <signature>bb49676465d6bf01c8bdd688dcdb14bf2f62d7db</signature> <url>http://geni-images.renci.org/images/standard/centos/kernels/vmlinuz-2.6.32-279.14.1.el6.x86_64</url> </image> <image> <type>RAMDISK</type> <signature>bb827d5183fe1aa2c68e7244a5d684f850e33721</signature> <url>http://geni-images.renci.org/images/standard/centos/kernels/initramfs-2.6.32-279.14.1.el6.x86_64.img</url> </image></images>

Page 10: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 10www.geni.net

More on ExoGENI VM Images

• Images are specified by tuple <url of metafile, SHA1 hash>

• ‘Vetted’ images are listed with image registry service– http://geni.renci.org:12080/registry/images.jsp– Examples: Ubuntu, Debian, CentOS, OVS, OpenDaylight,

Hadoop, Condor etc– Image marked ‘default’ used on slices that don’t specify an image

• Images are built in a ‘PlayPen’ environment– Stand-alone OpenStack environment suitable for debugging boot

problems

• Snapshotting not currently supported

Page 11: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 11www.geni.net

Specific Notable Behaviors (continued)

• Boot scripts– <install> and <execute> services are supported– There is additional type <pbs:services_post_boot_script

type="velocity">• Embedded directly into the RSpec, not loaded separately like

<install> script• Passed through a template engine that does

– Variable substitutions for common slice parameters: node names, slice names, IP, MAC addresses of interfaces etc.

– Has a Turing-complete language for automatic code generation (if/then, for loops, variables)

Page 12: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 12www.geni.net

Example Post-Boot scrip template

#!/bin/bashecho $NodeGroup0.get(0).IP("Link0") master >> /etc/hosts#set ( $size = $NodeGroup0.size() - 1 )#foreach ( $i in [1..$size] ) echo $NodeGroup0.get($i).IP("Link0") `echo $NodeGroup0.get($i).Name() | sed 's/\//-/g'` >> /etc/hosts#endname=$self.Name()if [ "$name" = "NodeGroup0/0" ];then echo master > /etc/hostnameelse echo $self.Name() | sed 's/\//-/g' > /etc/hostnamefi/bin/hostname -F /etc/hostname

Page 13: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 13www.geni.net

Post-boot script executed by a node

#!/bin/bashecho 172.16.100.1 master >> /etc/hosts

echo 172.16.100.1 `echo NodeGroup0/0 | sed 's/\//-/g'` >> /etc/hostsecho 172.16.100.2 `echo NodeGroup0/1 | sed 's/\//-/g'` >> /etc/hostsecho 172.16.100.3 `echo NodeGroup0/2 | sed 's/\//-/g'` >> /etc/hostsecho 172.16.100.4 `echo NodeGroup0/3 | sed 's/\//-/g'` >> /etc/hosts

name=NodeGroup0/0if [ "$name" = "NodeGroup0/0" ];then echo master > /etc/hostnameelse echo NodeGroup0/0 | sed 's/\//-/g' > /etc/hostnamefi/bin/hostname -F /etc/hostname

Page 14: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 14www.geni.net

Specific notable differences continued

• ExoGENI specific-tool: Flukes– Graphical Java tool (cross-platform)– Supports GENI credentials– Speaks to ORCA native API using orca native resource

description mechanisms

• Some features are available only through Flukes– Elastic splittable node groups (dynamically resizable

clusters automatically allocated across multiple racks)– Campus stitching – ability to connect slice to campus

resources using available Layer 2 connectivity– Storage slivering – ability to allocate slivers of storage

and stitch them into your slice

Page 15: Sponsored by the National Science Foundation ExoGENI

Sponsored by the National Science Foundation 15www.geni.net

Thank You

• More information:– http://wiki.exogeni.net– ExoBlog: http://www.exogeni.net

• Questions from experimenters:– Google group: geni-orca-users