!!!!!!!!!!!!!!!
!"#$%&'()
!"#$#%&#'()&(**+",'-.//(
01((
+"#23"(43%(5)$6#7$8,9((
:%'"#7(;3<%2#9(!)<=(>)"$?)==((
*3%&)@&A(=)$6#7$8,B2C),=D@3C(
E#=FA(?#=FBG<&<"#2",'D3"2(
(
:%(<F(&3(')&#(4#"$,3%(3G(&?,$(&<&3",)=(,$()4),=)0=#(
)&(
?HFAIIG<&<"#2",'D$4%D$3<"@#G3"2#D%#&I4,#74@IG<&<"#2",'IF"#$#%&)J3%$I&<&3",)=K?)=GK')1I @@2",'-.//K&<&3",)=DF'G(
"#$%&'()*+,)%-.!/)&0()!
•
>)%1(F#3F=#(?)4#(73"8#'(3%(L<&<"+",'()%'(
7#(7,==(%3&(0#()0=#(&3(=,$&()==(&?#C(?#"#D((
•
M#(7,==()H#CF&(&3(8##F()(=,$&()4),=)0=#(3%(&?#(
F3"&)=(M#0($,&#D(
•
>)%1(3&?#"$(?)4#(@3%&",0<&#'(&3(&?,$(
&<&3",)=NN(
"#$%&'()*+),)%-!
•
O?#(L<&<"#+",'(F"3P#@&(,$(G<%'#'(01(&?#(
Q)J3%)=(R@,#%@#(L3<%')J3%(SQRLT()%'(,$(=#'(
01(U%',)%)(V%,4#"$,&1(7,&?(V%,4#"$,&1(3G(
*?,@)239(V%,4#"$,&1(3G(L=3",')9(R)%(W,#23(
R<F#"@3CF<J%2(*#%&#"9(O#X)$(:'4)%@#'(
*3CF<J%2(*#%&#"9(V%,4#"$,&1(3G(Y,"2,%,)9(
V%,4#"$,&1(3G(O#%%#$$##9(V%,4#"$,&1(3G(
R3<&?#"%(*)=,G3"%,)9(W"#$'#%9(!<"'<#(
1)23)!&4!3(5*)3!
•
UG(13<("#<$#(&?#($=,'#$(F=#)$#(,%',@)&#(&?)&(
&?#1()"#(@3F,#'(G"3C(&?,$(&<&3",)=D(U%@=<'#()(
=,%8(&3(
?HF$AIIF3"&)=DG<&<"#2",'D3"2
(
•
M#(',$@3<")2#(&?#(F",%J%2(3G(&?#(&<&3",)=(
C)&#",)=('<#(&3(&73("#)$3%$A(
–
M#(=,8#(&3(C)8#($<"#(&?#(,CF)@&(3%(&?#(
#%4,"3%C#%&('<#(&3(<$#(3G(F)F#"()%'(,%8(,$(
C,%,C)=(
–
M#(,%&#%'(&3(8##F(&?#(&<&3",)=$(<F(&3(')&#(3%(&?#(
6)#7%&(&+8!/9):5)'3!
!
•
R3C#(C)&#",)=(F"#$#%&#'(?#"#(,$(%3&()4),=)0=#(
&3(&?#(2#%#")=(<$#"(@3CC<%,&1()%'(,$(
F3&#%J)==1($J==(<%'#"('#4#=3FC#%&D(M#($?37(
?37#4#"($3C#(&#@?%3=321(F"#4,#7$(,%(3"'#"(
&3(F"34,'#(13<(7,&?($3C#(#X@,J%2(%#7(
G#)&<"#$(&?)&(7#()"#(@<""#%&=1(73"8,%2(3%D(
R=,'#$("#G#"",%2(&3(&?#("#4,#7$()"#(C)"8#'(
7,&?(&?#(G3==37,%2(,@3%A(
(
;2-(5%)!
•
<)=%+!"##)33!!
•
;:)9:5)'!&4!>2-29)<95*!
•
>2-29)!<95*!?)9:5#)3!
–
@/ABC/D!&%!>2-29)<95*!
–
E2#F(80-23!&%!>2-29)<95*!
–
G5,H23!&%!>2-29)<95*!
–
!""#$%&'()*+&*,-.-/(0/$1*
–
2&$'+/(*
–
0(&()$)*33*
•
1F5%!&%!>2-29)<95*!
–
D,F+)!<)%)9FI&%!
–
D,F+)!J)0(&8,)%-!
•
3&*,-.-/(*
–
4(5%)-)*
–
6%1++"*
–
7"(&8.%'9*
!"#$%&'(("))&*+&,-*-."!./0&
1+.*23&'((+-$*4&
1.+5"(*)4&2$0&67)*"8&'((+-$*)&
•
01#&2*/(&#(3"4&5%/(3&3%&$#3&*66#++&3%&31#&+4+3#2+&*(7&
+#"'/6#+&/+&31#&8939"#!"/7&:%"3*;<&
•
=#&7/+>($9/+1&31#&
5%"3*;
&*66%9(3&?"%2&
+4+3#2&*(7&
+#"'/6#&
*66%9(3+<&&
–
@%9&2*4&1*'#&29;>5;#&+4+3#2&*66%9(3+&*(7&2*4&1*'#&3%&
*55;4&?%"&31#2&+#5*"*3#;4A&#<$<&B96*;4539+A&C/2D9+&
–
=14&+#'#"*;&*66%9(3+E&
•
F%2#&+#"'/6#+&2*4&(%3&D#&/25%"3*(3&?%"&4%9A&+%&4%9&-/;;&(%3&(##7&
*(&*66%9(3&?%"&*;;&%?&31#2<&&
– G(&?939"#&-#&2*4&61*($#&31/+&*(7&1*'#&%(;4&%(#&*55;/6*>%(&+3#5&?%"&*;;&
+4+3#2&+#"'/6#+<&
9:"&1.+("));&'&$"<&1.+5"(*&
• =>?&%"*&2&@+.*23&2((+-$*&
– !"#$%&'%((")*$'+,'%!!#"-./'
• =A?&@.+@+)"&2&@.+5"(*&
– !#"0.($'+,'%!!#"-./'
• =B?&2)C&7+-.&@2.*$".)&D+.&*:"/.&@+.*23&2((+-$*&
$28")&2$0&200&*:"8&*+&7+-.&@.+5"(*)&2)& 8"8E".)&
– 1"'2)#$3.#'%!!#"-%&'*.././'
• =F?&/D&7+-&$""0&2$&200/G+$23&@".)+$&E"/$%&
2E3"&*+&200&8"8E".)&0")/%$2*"&:/8&2)&
@.+5"(*&82$2%".&=(-.."$*37&*:"."&(2$&+$37&E"& +$"?H&
– 1"'2)#$3.#'%!!#"-%&'*.././'
&
• I+-&2."&/$&(:2.%"&<:+&/)&200"0&+.&$+*J&
– F/2/;*"&2%7#;&*+&/(&=#D&H<I&J;%97&+#"'/6#+A&#<$<&
+%9"6#?%"$#&
KLM&
KHM&
9:"&1.+("));&K+/$&'&1.+5"(*&
•
=>?&%"*&2&@+.*23&2((+-$*&
– !"#$%&'%((")*$'+,'%!!#"-./'
•
6C/@&)*"@)&=A?&L&=F?&
•
=A-?&M+88-$/(2*"&</*:&7+-.&@.+5"(*&
3"20&<:/(:&@.+5"(*&*+&5+/$&2$0&%/N"&
:/8&7+-.&@+.*23&2((+-$*&$28"&
•
1.4$',$.!'/"*.'56'!#"0.($'&.%/'
'73.'!#"0.($'&.%/'8+&&'%//'6")'$"'$3.' !#"0.($'
&
•
I+-&2."&.")@+$)/E3"&*+&82C"&)-."&
*:"&@.+5"(*&3"20&200)&7+-J&
– F/2/;*"&2%7#;&*+&/(&=#D&H<I&J;%97&
KLM&
'@@37&D+.&2&1+.*23&'((+-$*&
13"2)"&,/33&O-*H&
&
P)"&@.+@".&(2@/*23/Q2G+$&
&
P)"&"R82/3&D.+8&7+-.&
+.%2$/Q2G+$&
&
'@@37&D+.&2&1+.*23&'((+-$*&
13"2)"&,/33&O-*H&
&
P)"&@.+@".&0"@2.*8"$*&2$0&
-$/N".)/*7&
&
6@"(/D7&20N/)+.&+.&
)-@".N/)+.)&(+$*2(*&
&
'@@37&D+.&2&1+.*23&'((+-$*&
13"2)"&,/33&O-*H&
&
S"@+.*&7+-.&(/GQ"$):/@&
&
ST'U&9VT&ST61OW6XYXZX9I&'!STT[TW9&
&
'!STT&X,&IOP&UOH&X,&WO9&MOW9'M9&,!H&&
I+-&827&$+*&E"&2E3"&*+&-)"&/*H&
\2/*&&
•
=*/3&>;;&4%9&$#3&(%>P#7&31*3&4%9&1*'#&*&
5%"3*;&*66%9(3<&
'@@37&D+.&2$&V1M&2$0&W/8E-)&
2((+-$*&
•
)%$/(&/(3%&31#&5%"3*;&
•
F/25;#&$%&3%&
–
Q66%9(3+RS&
T:JUC/2D9+&&
•
KLM&*77&4%9&++1&.#4+&
•
KNM&2*.#&+9"#&4%9&*"#&/(&*&&
'*;/7&5"%V#63
&
•
KHM&-*/3&?%"&HO&D9+/(#++&1%9"+&
–
K?%"&393%"/*;&9+#"+&-#&*66#;#"*3#M&
M:"(C&7+-.&'((+-$*&6*2*-)&
•
!%3%E&
–
&Q66%9(3+RY4&:%"3*;&Q66%9(3&
•
J1#6.&/?&31#&*66%9(3&+3*39+&
D*"&/+&$"##(&
–
B""%"+&-/;&/(7/6*3#&*(&/++9#&%"&
*&3*+.&31*3&"#[9/"#+&-*/>($&
•
F/(6#&4%9&*"#&*;"#*74&1#"#E&
–
\5;%*7&*&5%"3"*/3&
–
J1#6.&/?&4%9&1*'#&%31#"&31/($+&
31*3&(##7&957*>($&
\2/*&
•
](6#&4%9&1*'#&#'#"431/($&
$"##(A&4%9&1*'#&*(&T:J&
*(7&*&C/2D9+&*66%9(3<&
•
1SO1'!'9XOW&O,&9VT&
'MMOPW96&9O&WX[YP6&
MPSSTW9ZI&ST]PXST6&
'W&'UUX9XOW'Z&B^&L&_^&
8/$-*")&
•
,+.&*:"&/8@2G"$*&@3"2)"&
Eucalyptus Account Creation
• Use the Eucalyptus Web Interfaces at
https://eucalyptus.india.futuregrid.org:8443/
• On the Login page click on Apply for account.
&
• On the next page that pops up fill out ALL the Mandatory AND optional
fields of the form.
&
• Once complete click on signup and the Eucalyptus administrator will be
notified of the account request.
&
• You will get an email once the account has been approved.
&
• Click on the link provided in the email to confirm and complete the account
OVERVIEW OF FG
Presented by
!
Gregor von Laszewski
FutureGrid key Issues
•
FutureGrid will provide an experimental testbed with a
wide variety of computing services to its users.
•
The testbed provides to its users:
!
A rich development and testing platform for middleware and
application users allowing comparisons in functionality and
performance.
!
A variety of environments, many be instantiated dynamically, on
demand. Available resources include, VMs, cloud, grid systems
!
!
The ability to reproduce experiments at a later time (an experiment is
the basic unit of work on the FutureGrid).
!
A rich education an teaching platform for advanced
cyberinfrastructure
!
The ability to collaborate with the US industry on research projects.
•
Web Page:
www.futuregrid.org
• HW Resources at: Indiana University, SDSC, UC/ANL, TACC, University of Florida, Purdue,
• Software Partners: USC ISI, University of Tennessee Knoxville, University of Virginia,
Technische Universtität Dresden
• However, users of FG do not have to be from these partner organizations. Furthermore, we
hope that new organizations in academia and industry can partner with the project in the future.
FutureGrid Partners and
Resources
http://futuregrid.org NID 10GB/s 10GB/s 10GB/s 10GB/s 10GB/s 1GB/s Router 11 6 5 12 4 7 2 7 Germany FranceIU: 11 TF IBM 1024 cores 6 TF Cray 672 cores TACC: 12 TF Dell 1152 cores UCSD: 7 TF IBM 672 cores UC: 7 TF IBM 672 cores UF: 3 TF IBM 256 cores
Current HW Overview
•
FutureGrid has
dedicated network
(except to TACC) and a
network
fault and delay generator
•
Can isolate experiments on request; IU runs Network for NLR/
Internet2
•
Additional partner machines will run FutureGrid software and be
supported (but allocated in specialized ways)
Network Impairment Device
•
Spirent XGEM Network Impairments Simulator for
jitter, errors, delay, etc
•
Full Bidirectional 10G w/64 byte packets
•
up to 15 seconds introduced delay (in 16ns
increments)
•
0-100% introduced packet loss in .0001%
increments
•
Packet manipulation in first 2000 bytes
•
up to 16k frame size
•
TCL for scripting, HTML for manual configuration
&+,-./$%0/12")$1)3/$%
Access Services
IaaS, PaaS, HPC, Persitent Endpoints, Portal, Support
Management Services
Image Management, Experiment Management, Monitoring and Information Services
Operations Services
Security & Accounting Services, Development Services
FutureGrid Fabric Development &
Systems Services and Fabric
&+,-./$%0/12")$1)3/$%
Base Software and Services
OS, Queuing Systems, XCAT, MPI, ...
Access Services
Management Services FutureGrid Operations
Services Development Services Wiki, Task Management, Document Repository User and Support Services Portal, Tickets, Backup, Storage, PaaS Hadoop, Dryad, Twister, Virtual Clusters, ... Additional Tools & Services Unicore, Genesis II, gLite, ... Image Management FG Image Repository, FG Image Creation Experiment Management Registry, Repository Harness, Pegasus Exper. Workflows, ... Dynamic Provisioning
RAIN: Provisioning of IaaS, PaaS, HPC, ...
Monitoring and Information Service Inca, Grid Benchmark Challange, Netlogger, PerfSONAR Nagios, ... FutureGrid Fabric
Compute, Storage & Network Resources
Development & Support Resources
Portal Server, ...
!"#$%&&#'()"*+#
Access Services
Management Services FutureGrid Operations
Services Development Services Wiki, Task Management, Document Repository User and Support Services Portal, Tickets, Backup, Storage, PaaS Hadoop, Dryad, Twister, Virtual Clusters, ... Additional Tools & Services Unicore, Genesis II, gLite, ... Image Management FG Image Repository, FG Image Creation Experiment Management Registry, Repository Harness, Pegasus Exper. Workflows, ... Dynamic Provisioning
RAIN: Provisioning of IaaS, PaaS, HPC, ...
Portal
Gregor von Laszewski
Portal Subsystem
User Ma n a g e m e n t Sta tu s Image Ma n a g e m e n t In fo rm a ti o n , C o n te n t, Su p p o rt News ReferncesFG Status Graphs 1
2 3
---FG Image Wizard FG Image Search Search
FG Image Browser FG Im. Hierarchy Information Serach
FG Status Table FG HW Browser FG Image Upload
Social Tools Ticket System ? User Management Login Ex p e rim e n t Ma n a g e m e n t 1 2 3
---FG Exp. Wizard FG Exp. Search Search
FG Exp. Browser FG Exp.. Hierarchy
FG Exp. Upload
Pr o v is io n Ma n a g e m e n t
FG Provision Table FG Prov Browser 1 2 3 ---FG Prov. Wizard FG Home
Information Services
•
What is happening on the system?
o
System administrator
o
User
o
Project Management & Funding agency
•
Remember FG is not just an HPC queue!
o
Which software is used?
o
Which images are used?
o
Which FG services are used (Nimbus, Eucalyptus,
!
?)
o
Is the performance we expect reached?
o
What happens on the network
!"#$%&"'
Using HPC Systems on
FutureGrid
Andrew J. Younge
Gregory G. Pike
Indiana University
A brief overview
•
FutureGrid is a testbed
o
Varied resources with varied capabilities
o
Support for grid, cloud, HPC
o
Continually evolving
o
Sometimes breaks in strange and unusual
ways
•
FutureGrid as an experiment
o
We re learning as well
Getting Started
•
Getting an account
•
Logging in
•
Setting up your environment
•
Writing a job script
•
Looking at the job queue
•
Why won t my job run?
•
Getting your job to run sooner
http://portal.futuregrid.org/manual
http://portal.futuregrid.org/tutorials
Getting an account
•
Upload your ssh key to the portal, if you have not done that
when you created the portal account
o
Account -> Portal Account
!
edit the ssh key
!
or
!
Include the public portion of your SSH key!
!
use a passphrase when generating the key!!!!!
•
Submit your ssh key through the portal
o
Account -> HPC
•
This process may take up to 3 days.
o
If it s been longer than a week, send email
Generating an SSH key pair
•
For Mac or Linux users
o
ssh-keygen –t rsa
!
o
Copy ~/.ssh/id_rsa.pub to the web form
•
For Windows users, this is more difficult
o
Download putty.exe and puttygen.exe
o
Puttygen is used to generate an SSH key pair
!
Run puttygen and click Generate
o
The public portion of your key is in the box labeled SSH key
for pasting into OpenSSH authorized_keys file
Logging in
•
You must be logging in from a machine
that has your SSH key
•
Use the following command (on Linux/
OSX):
o
ssh [email protected]
•
Substitute your FutureGrid account for
Now you are logged in.
!
What is next?
Setting up your environment
•
Modules is used to manage your $PATH and
other environment variables
•
A few common module commands
o
module avail
– lists all available modules
o
module list
– lists all loaded modules
o
module load
– adds a module to your
environment
o
module unload
– removes a module from your
environment
o
module clear
–removes all modules from your
Writing a job script
•
A job script has PBS
directives followed by
the commands to run
your job
!
http://futuregrid.org
•
#!/bin/bash
•
#PBS -N testjob
•
#PBS -l nodes=1:ppn=8
•
#PBS –q batch
•
#PBS –M
[email protected]
•
##PBS –o testjob.out
•
#PBS -j oe
•
#
•
sleep 60
•
hostname
•
echo $PBS_NODEFILE
•
cat $PBS_NODEFILE
Writing a job script
•
Use the qsub command to submit your job
o
qsub testjob.pbs
•
Use the qstat command to check your job
> qsub testjob.pbs
25265.i136
> qstat
Job id
!
!
Name
!
!
!
!
User
!
Time Use S Queue
---- --- -- -
Looking at the job queue
•
Both
qstat
and
showq
can be used to
show what s running on the system
•
The
showq
command gives nicer output
•
The
pbsnodes
command will list all nodes
and details about each node
•
The
checknode
command will give
extensive details about a particular node
Run
module load moab
to add commands to path
Why won’t my job run?
•
Two common reasons:
o
The cluster is full and your job is waiting for
other jobs to finish
o
You asked for something that doesn t exist
!
More CPUs or nodes than exist
o
The job manager is optimistic!
!
If you ask for more resources than we have, the job
Why won’t my job run?
•
Use the checkjob command to see why
your job will not run
http://futuregrid.org
> checkjob 319285
job 319285 Name: testjob State: Idle
Creds: user:gpike group:users class:batch qos:od WallTime: 00:00:00 of 4:00:00
SubmitTime: Wed Dec 1 20:01:42
(Time Queued Total: 00:03:47 Eligible: 00:03:26) Total Requested Tasks: 320
Req[0] TaskCount: 320 Partition: ALL Partition List: ALL,s82,SHARED,msm Flags: RESTARTABLE
Attr: checkpoint StartPriority: 3
Why won’t my job run?
•
If you submitted a job that cannot run, use
qdel to delete the job, fix your script, and
resubmit the job
o
qdel 319285
!
•
If you think your job should run, leave it in
the queue and send email
•
It s also possible that maintenance is
Making your job run sooner
•
In general, specify the minimal set of
resources you need
o
Use minimum number of nodes
o
Use the job queue with the shortest max
walltime
!
qstat –Q –f
!
o
Specify the minimum amount of time you need
for the job
!
qsub –l walltime=hh:mm:ss
!
"#$%&'(!)*+,!-./!
•
"#$!%&'(#)&!*!+,-./0!
01*-./0!(2!*$!345!6(7!
–
",$)!*/)(',%&-!.*++0+!
-0++*)0+!*/($)!%(!0*8&!
.'(80++!*+!*!8&*,$!('!
+%',$)!
–
9+0!5$%0/!8(-.,/0'!*$:!
-.,!%(!8(-.,/0!;!'#$!
–
<*$:+!($!01.0',0$80!
#PBS -N hello-mvapich-intel!
#PBS -l nodes=4:ppn=8!
#PBS -l walltime=00:02:00!
#PBS -k oe!
#PBS -j oe!
!
EXE=$HOME/mpiring/mpiring!
!
echo "Started on `/bin/hostname`"!
echo!
echo "PATH is [$PATH]"!
echo!
echo "Nodes chosen are:"!
cat $PBS_NODEFILE!
echo!
module load intel intelmpi!
mpdboot -n 4 -f $PBS_NODEFILE -v --remcons!
!
mpiexec -n 32 $EXE!
!
mpdallexit!
0(+1!234!
> cp /share/project/mpiexample/mpiring.tar.gz .
!
> tar xfz mpiring.tar.gz
!
> cd mpiring
!
> module load intel intelmpi moab
!
!
Intel compiler suite version 11.1/072 loaded!
Intel MPI version 4.0.0.028 loaded!
moab version 5.4.0 loaded
!
> mpicc -o mpiring ./mpiring.c
!
> qsub mpiring.pbs
!
Eucalyptus on FutureGrid
Andrew J. Younge
Indiana University
Before you can use Eucalyptus
•
Please make sure you have a portal account
!
o
https://portal.futuregrid.org
!
•
Please make sure you are part of a valid FG project
!
o
You can either create a new one or
!
o
You can join an existing one with permission of the Lead
!
•
Please make sure the project you have is approved and
valid.
!
•
Do not apply for an account before you have joined the
Eucalyptus
•
Elastic Utility Computing Architecture
Linking Your Programs To Useful Systems
o
Eucalyptus is an open-source software
platform that implements IaaS-style cloud
computing using the existing Linux-based
infrastructure
o
IaaS Cloud Services providing atomic
allocation for
!
Set of VMs
!
Set of Storage resources
!
Networking
Open Source Eucalyptus
•
Eucalyptus Features
!
Amazon AWS Interface Compatibility
!
Web-based interface for cloud configuration and credential
management.
!
Flexible Clustering and Availability Zones.
!
Network Management, Security Groups, Traffic Isolation
!
Elastic IPs, Group based firewalls etc.
!
Cloud Semantics and Self-Service Capability
!
Image registration and image attribute manipulation
!
Bucket-Based Storage Abstraction (S3-Compatible)
!
Block-Based Storage Abstraction (EBS-Compatible)
Eucalyptus Testbed
http://futuregrid.org
•
Eucalyptus is available to FutureGrid Users on the India
and Sierra clusters.
•
Users can make use of a maximum of 50 nodes on India.
Each node supports up to 8 small VMs. Different
Availability zones provide VMs with different compute and
memory capacities.
AVAILABILITYZONE india 149.165.146.135
Eucalyptus Account Creation
•
Use the Eucalyptus Web Interfaces at
https://eucalyptus.india.futuregrid.org:8443/
•
On the Login page click on Apply for account.
!
•
On the next page that pops up fill out ALL the Mandatory AND optional
fields of the form.
!
•
Once complete click on signup and the Eucalyptus administrator will be
notified of the account request.
!
•
You will get an email once the account has been approved.
!
•
Click on the link provided in the email to confirm and complete the account
Obtaining
Credentials
•
Download your credentials
as a zip file from the web
interface for use with
euca2ools.
•
Save this file and extract it
for local use or copy it to
India/Sierra.
•
On the command prompt
change to the
euca2-{username}-x509 folder
which was just created.
o
cd euca2-username-x509
•
Source the eucarc file using
the command source eucarc.
o
source ./eucarc
Install/Load Euca2ools
•
Euca2ools are the command line clients used to
interact with Eucalyptus.
•
If using your own platform Install euca2ools
bundle from
http://open.eucalyptus.com/downloads
o
Instructions for various Linux platforms are
available on the download page.
•
On FutureGrid log on to India/Sierra and load the
Euca2ools module.
$ module load euca2ools
Euca2ools
•
Testing your setup
o
Use euca-describe-availability-zones to test the setup.
•
List the existing images using
euca-describe-images
euca-describe-availability-zones
AVAILABILITYZONE india 149.165.146.135
$ euca-describe-images
IMAGE emi-0B951139 centos53/centos.5-3.x86-64.img.manifest.xml admin
available public x86_64 machine
IMAGE emi-409D0D73 rhel55/rhel55.img.manifest.xml admin available public
x86_64 machine
!
Key management
•
Create a keypair and add the public key to
eucalyptus.
•
Fix the permissions on the generated
private key.
$ euca-add-keypair userkey > userkey.pem
$ chmod 0600 userkey.pem
$ euca-describe-keypairs
Image Deployment
•
Now we are ready to start a VM using one
of the pre-existing images.
•
We need the emi-id of the image that we
wish to start. This was listed in the output
of euca-describe-images command that
we saw earlier.
o
We use the euca-run-instances command to
start the VM.
$ euca-run-instances -k userkey -n 1 emi-0B951139 -t c1.medium
RESERVATION r-4E730969 archit archit-default
INSTANCE i-4FC40839 emi-0B951139 0.0.0.0 0.0.0.0 pending userkey
2010-07-20T20:35:47.015Z eki-78EF12D2 eri-5BB61255
Monitoring
•
euca-describe-instances shows the status
of the VMs.
$ euca-describe-instances
RESERVATION r-4E730969 archit default
INSTANCE i-4FC40839 emi-0B951139 149.165.146.153 10.0.2.194
pending
userkey 0 m1.small 2010-07-20T20:35:47.015Z india eki-78EF12D2
eri-5BB61255
•
Shortly after
!
$ euca-describe-instances
RESERVATION r-4E730969 archit default
INSTANCE i-4FC40839 emi-0B951139 149.165.146.153 10.0.2.194
running
VM Access
•
First we must create rules to allow access
to the VM over ssh.
•
The ssh private key that was generated
earlier can now be used to login to the VM.
euca-authorize -P tcp -p 22 -s 0.0.0.0/0 default
ssh -i userkey.pem [email protected]
Image Deployment (1/3)
•
We will use the example Fedora 10 image
to test uploading images.
o
Download the gzipped tar ball
•
Uncompress and Untar the archive
wget http://open.eucalyptus.com/sites/all/modules/pubdlcnt/pubdlcnt.php?
file=http://www.eucalyptussoftware.com/downloads/eucalyptus-images/euca-fedora-10-x86_64.tar.gz&nid=1210
Image Deployment (2/3)
•
Next we bundle the image with a kernel and a
ramdisk using the euca-bundle-image
command.
o
We will use the xen kernel already registered.
!
euca-describe-images returns the kernel and ramdisk IDs
that we need.
$ euca-bundle-image -i euca-fedora-10-x86_64/fedora.10.x86-64.img
--kernel eki-78EF12D2 --ramdisk eri-5BB61255
•
Use the generated manifest file to upload the
image to Walrus
$ euca-upload-bundle -b fedora-image-bucket -m /tmp/fedora.
10.x86-64.img.manifest.xml
Image Deployment (3/3)
•
Register the image with Eucalyptus
euca-register fedora-image-bucket/fedora.10.x86-64.img.manifest.xml
•
This returns the image ID which can also
be seen using euca-describe-images
$ euca-describe-images
IMAGE emi-FFC3154F fedora-image-bucket/fedora.
10.x86-64.img.manifest.xml archit available public x86_64 machine
eri-5BB61255 eki-78EF12D2
Dynamic Provisioning &
RAIN
on FutureGrid
Gregor von Laszewski
http://futuregrid.org
•
Dynamically partition a set of resources
•
Dynamically allocate the resources to
users
•
Dynamically define the environment that
the resource use
•
Dynamically assign them based on user
request
•
Deallocate the resources so they can be
dynamically allocated again
Classical Dynamic
Provisioning
Use Cases of Dynamic
Provisioning
•
Static provisioning:
o
Resources in a cluster may be statically reassigned based on the
anticipated user requirements, part of an HPC or cloud service. It is still
dynamic, but control is with the administrator. (Note some call this also
dynamic provisioning.)
•
Automatic Dynamic provisioning:
o
Replace the administrator with intelligent scheduler.
•
Queue-based dynamic provisioning:
o
provisioning of images is time consuming, group jobs using a similar
environment and reuse the image. User just sees queue.
•
Deployment:
o
dynamic provisioning features are provided by a combination of using
XCAT and Moab
http://futuregrid.org
Generic Reprovisioning
Dynamic Provisioning
Examples
•
Give me a virtual cluster with 30 nodes based on Xen
•
Give me 15 KVM nodes each in Chicago and Texas linked to
Azure and Grid5000
•
Give me a Eucalyptus environment with 10 nodes
•
Give 32 MPI nodes running on first Linux and then Windows
•
Give me a Hadoop environment with 160 nodes
•
Give me a 1000 BLAST instances linked to Grid5000
•
Run my application on Hadoop, Dryad, Amazon and Azure
!
and compare the performance
http://futuregrid.org
From Dynamic Provisioning to
RAIN
•
In FG dynamic provisioning goes beyond the services offered
by common scheduling tools that provide such features.
o Dynamic provisioning in FutureGrid means more than just providing an image
o adapts the image at runtime and provides besides IaaS, PaaS, also SaaS
o We call this raining an environment
•
Rain = Runtime Adaptable INsertion Configurator
o Users want to ``rain'' an HPC, a Cloud environment, or a virtual network onto our
resources with little effort.
o Command line tools supporting this task.
o Integrated into Portal
•
Example ``rain'' a Hadoop environment defined by an user on a
cluster.
o fg-hadoop -n 8 -app myHadoopApp.jar !
o Users and administrators do not have to set up the Hadoop environment as it is
being done for them
FG RAIN Commands
•
fg-rain –h hostfile –iaas nimbus –image img
•
fg-rain –h hostfile –paas hadoop
!
•
fg-rain –h hostfile –paas dryad
!
•
fg-rain –h hostfile –gaas gLite
!
•
fg-rain –h hostfile –image img
•
Additional Authorization is required to use fg-rain
without virtualization.
http://futuregrid.org
Rain in FutureGrid
Image Generation and
Management on FutureGrid
Gregor von Laszewski
•
The goal is to create and maintain platforms in
custom FG VMs that can be retrieved,
deployed, and provisioned on demand.
•
Imagine the following scenario for FutureGrid:
!
fg-image-generate –o ubuntu –v lucid -s
openmpi-bin,openmpi-dev,gcc,fftw2,emacs – n ubuntu-mpi-dev
!
fg-image-store –i ajyounge-338373292.manifest.xml –n
ubuntu-mpi-dev
!
fg-image-deploy –e india.futuregrid.org –i /tmp/
ajyounge-338373292.manifest.xml
!
fg-rain –provision -n 32 ubuntu-mpi-dev
Image Management
•
A unified Image
Management system to
create and maintain VM
and bare-metal images.
•
Integrate images
through a repository to
instantiate services on
demand with RAIN.
•
Essentially enables the
rapid development and
deployment of Platform
services on FutureGrid
infrastructure.
Image Generator BCFG2 Moab Image Repository FG Hardware Image Management Service Repository Service 3rd Party Hardware In fra st ru ct u re H a rd -w a reBase OS & Package Repository Se rvi ce xCAT FG Rain Services
EC2 Interface Nimbus Clients HPC Service Resource Component Client Eucalytpus Resource Component F G Se cu ri ty
!"#$%&'%(%)#*+(&
•
Users who want to create a
new FG image specify the
following:
!
o
OS type
!
o
OS version
!
o
Architecture
!
o
Kernel
!
o
Software Packages
!
•
Image is generated, then
deployed to specified target.
!
•
Deployed image gets
continuously scanned,
verified, and updated.
!
•
Images are now available for
use on the target deployed
system.
Generate Image
Update Image
Deploy Image
Repository Command line tools
User Admin Base OS Base Software Cloud Software Other Software WWW Retrieve and replicate if not available in Repository check for updates check for Verify Image Update Image FG Software User Software Target Deployment Selection OS, version, hardware, ... Base Image Deployable Base Image check for updates execute security checks F ix Ba se I ma g e b le
store in Repository Pre-D
Deployment View
FutureGrid FG Resource Image Management BCFG2 Image Generator Base OS CLI Web Service Web Portal Users Cloud Provider Web Service VM VM VM VM VM VM VM VM Image RepoImplementation
•
Image Generator
o
Still in development, but alpha
available now.
o
Built in Python.
o
Debootstrap for debian &
ubuntu, YUM for RHEL5,
CentOS, & Fedora.
o
Simple CLI now, but later
incorporate a web service to
support the FG Portal.
o
Deployment to Eucalyptus &
Bare metal now, Nimbus and
others soon.
•
Image Management
o
Currently operating an
experimental BCFG2 server.
o
Image Generator auto-creates
new user groups for software
stacks.
o
Supporting RedHat and Ubuntu
repo mirrors.
o
Scalability experiments of
BCFG2 to be tested, but
Image Repository
on FutureGrid
Gregor
!"#$%&'%(%)#*+(&#(,&
-#(#$%"%(.&+(&/0.0)%')1,2&
3&4)#5*5#6&78#"46%&
!"#$%%&'(')*+),-./)+0
1)*2*3(*-0450
6)*+/)07/30892:*;2<,0
9%46+:%,&!(;)#<.)05.0)%&
'%(%)#*($&#(&!"#$%&=!>&
•
6*3*)9(*0930@*3(/20,A9+*0;,(!02*7*)9?0
#9><9+*20
–
;$?1"#$%?$%(%)#.%?561%(.@4:&A+&
5%(.+<&
AB&
C@D
&A#&
8EDFDG
&A<&
%"#5<H&+4%("41&
A0&
I#B1&
•
=!*0/'(#'(0,2090(+:0B?*0(!9(0>/3(9,320
–
CA9+*0B?*0
–
D93,&*2(0B?*0
•
E2*)39A*F0,A9+*039A*F0/2F09)>!,(*>(')*F0#9><9+*0?,2(0
0
'%(%)#.%&!"#$%&=!!>&
•
8/+0@?,*3(02,-*$0
GHIIJHKJIL0GH$MG$NGFLGL0J0)//(0J0COPQ0J0CA9+*0+*3*)9(/)0>?,*3(...0
GHIIJHKJIL0GH$MG$NGFLGR0J0)//(0J0COPQ0?&<<J&;$?1"#$%?$%(?<%)B%)&KL<)BL56+0,L+(%L;$? "#(#$%"%(.L;$?1"#$%?$%(%)#.%?<%)B%)@4:&?#&8EDFDG&?+&5%(.+<&?B&C@D&?0&I#B1&A<&%"#5<H& +4%("41&K&S0%(A#%IMHKTLRLTG.LMMUHTMRNUHH0
GHIIJHKJIL0GH$MU$MKFILI0J0)//(0J0COPQ0J0V(9('2$0%2)7%2>)9(>!%W97,JMHKRRMNNUN.(+:0 GHIIJHKJIL0GH$MU$MKFILI0J0)//(0J0COPQ0J0X*(),*7,3+0(!*0,A9+*0
GHIIJHKJIL0GH$MU$MKFILI0J0)//(0J0COPQ0J0<54&;$?1"#$%?$%(?<%)B%)2L<)BL<5)#.5JL I#B1?MNCEEMGGOG@.$P&@&
GHIIJHKJIL0GH$NT$GIFRTN0J0)//(0J0COPQ0Y0=!*0,A9+*0,20#?9>*-0,30LJ+"%LI#B1L I#B1?MNCEEMGGOG@.$P&
GHIIJHKJIL0GH$NT$GIFRTN0J0)//(0J0COPQ0J01/2(0#)/>*22,3+0
GHIIJHKJIL0GH$NT$GIFRTN0J0)//(0J0COPQ0J0<<J&;$?1"#$%?$%(?<%)B%)&)"&?;&L<)BL<5)#.5JL
'%(%)#.%&!"#$%&=!!!>&
•
8/+0V*)7*)02,-*$0
GHIIJHKJIM0IN$KH$MTFGGU0J0)//(0J0COPQ0J0CA9+*0+*3*)9(/)02*)7*)...0
GHIIJHKJIM0IN$KH$MTFGGU0J0)//(0J0COPQ0J0=!*0ZD0-*#?/5*-0,20,30IUG.ITR.I.GN0 GHIIJHKJIM0IN$KH$MTFGGU0J0)//(0J0COPQ0J0-+0(.&<5)#.5J&,1)%5.+):&1(&.J%&Q-&
GHIIJHKJIM0IN$KH$MTFGGU0J0)//(0J0COPQ0J022!0J[0)//(\IUG.ITR.I.GN0A/'3(0J(03&20 IUG.ITR.I.T$%2)7%2>)9(>!%0%A*-,9%0
GHIIJHKJIM0IN$KH$MTFKMK0J0)//(0J0COPQ0J0R%(,1($&;$?1"#$%?$%(%)#.%@4:&.+&.J%&Q-&
GHIIJHKJIM0IN$KH$MTFKMK0J0)//(0J0COPQ0J02>#0J[0%2)7%>?/'-%/3*%&+JA939+*A*3(%&+J,A9+*J +*3*)9(*.#500)//(\IUG.ITR.I.GM$%)//(%0
GHIIJHKJIM0IN$KH$MTFRLL0J0)//(0J0COPQ0J0<<J&)++.STOU@TDE@T@UG&?V&KL)++.L;$?1"#$%? $%(%)#.%@4:&?#&8EDFDG&?+&5%(.+<&?B&C@D&?0&I#B1&A<&%"#5<H&+4%("41&?.&L"%,1#L&]0S0%(A#% IMHKMIGTMT.RRGGHGUUUIGL0
GHIIJHKJIM0IN$KK$NUFIKR0J0)//(0J0COPQ0J0EA/'3(02>)9(>!0-,)*>(/)50,30(!*0ZD0 0
'%(%)#.%&!"#$%&=!Q>&
•
8/+0ZD02,-*$0
GHIIJHKJIL0GI$KG$KKFHTK0J0)//(0J0COPQ0J0V(9)^3+0,A9+*0+*3*)9(/)...0 GHIIJHKJIL0GI$KG$KKFHTK0J0)//(0J0COPQ0J0_',?-,3+0@*3(/20K.T0,A9+*0
GHIIJHKJIL0GI$KG$KKFHTK0J0>*3(/20J0COPQ0J06*3*)9^/30CA9+*$0>*3(/2JK.TJ`RTaTNJ492*.,A+0 GHIIJHKJIL0GI$KG$KKFHTK0J0>*3(/20J0COPQ0J0@)*9^3+0b,2<0&/)0(!*0,A9+*0
GHIIJHKJIL0GI$KG$KRFLKG0J0>*3(/20J0COPQ0J0D/'3^3+03*;0,A9+*0
GHIIJHKJIL0GI$KG$KRFRHH0J0>*3(/20J0COPQ0J06*c3+09##)/#,9(*0)*?*92*0#9><9+*0
GHIIJHKJIL0GI$KG$KRFRHI0J0*`*>0J0bd_E60J0;+*(0!"#$%%A,))/).>*3(/2./)+%>*3(/2%K.T%/2% `RTaTN%@*3(QV%>*3(/2J)*?*92*JKJT.*?K.>*3(/2.I.`RTaTN.)#A0JQ0%A*-,9%>*3(/2J)*?*92*.)#A0 GHIIJHKJIL0GI$KM$HHFNIN0J0*`*>0J0bd_E60J0)#A0J,!70JJ3/-*#20JJ)//(0%A*-,9%
W97,JMHKRRMNNUN0%A*-,9%>*3(/2J)*?*92*.)#A0
GHIIJHKJIL0GI$KM$HHFTNK0J0*`*>0J0bd_E60J0:0"&??1(<.#66)++.WL"%,1#LI#B1?MNCEEMGGOG&?:& $)+041(<.#66&X+)%&
'%(%)#.%&!"#$%&=Q>&
•
8/+0ZD02,-*0e>/3(.f$0
GHIIJHKJIL0GI$KL$GNFLRT0J0>*3(/20J0COPQ0J0C32(9??,3+08bg10#9><9+*20 GHIIJHKJIL0GI$KL$NRFIKU0J0>*3(/20J0COPQ0J0@/3B+'),3+08bg109>>*220
GHIIJHKJIL0GI$KL$NRFMUH0J0>*3(/20J0COPQ0J0C3W*>(*-03*(;/)<,3+0>/3B+')9^/30 GHIIJHKJIL0GI$KL$NRFMUI0J0>*3(/20J0COPQ0J0C32(9??,3+0_@P6G0>?,*3(0
GHIIJHKJIL0GI$KL$NRFMUI0J0>*3(/20Y0COPQ0J0@/3B+')*-0_@P6G0>?,*3(02*c3+20 GHIIJHKJIL0GI$KL$NRFRIG0J0>*3(/20J0COPQ0J0C32(9??,3+0'2*)J-*B3*-0#9><9+*20
GHIIJHKJIL0GI$KL$KGFTRU0J0>*3(/20J0COPQ0J0'%(%)%#.%,&5%(.+<&1"#$%&I#B1?MNCEEMGGOG& <055%<<;066:Y&
GHIIJHKJIL0GI$KL$KKFMNN0J0A93,&*2(0J0COPQ0?&'%(%)%#.%,&"#(1;%<.&Z6%2&L"%,1#L I#B1?MNCEEMGGOG&@"#(1;%<.@8"60
!"#$%&9%46+:"%(.&
•
b*#?/50(!*0ZD0&/)0h1@0e`@g=f0
–
@L;$?1"#$%?,%46+:@4:&?8&."T)&?<&.JT)&?.&L"%,1#L
,1<[L<5)#.5J&?1&
I#B1?MNCEEMGGOG@.$P
&?0&I,1#P&
•
Q'(#'(0
–
=!*0,A9+*0,20-*#?/5*-093-0)*+,2(*)0,30`@g=0
–
=!*0,A9+*0,20979,?94?*0&/)0-539A,>0#)/7,2,/3,3+0
•
[2'40Y?0/2i,A9+*39A*0W/4.2!0
!"#$%&9%46+:"%(.&=!!>&
•
8/+0@?,*3(02,-*$0
GHIIJHKJIT0IG$MI$HIFIUT0J0)//(0J0COPQ0J0V(9)^3+0,A9+*0-*#?/5*)...0
GHIIJHKJIT0IG$MI$HIFIUL0J0)//(0J0COPQ0J0'3(9)0B?*0;,(!0,A9+*093-0A93,&*2(0 GHIIJHKJIT0IG$MI$ITFHGR0J0)//(0J0COPQ0J0E2,3+0,A9+*$0W97,JMHKRRMNNUN.,A+0 GHIIJHKJIT0IG$MI$ITFHGU0J0)//(0J0COPQ0J0D/'3^3+0,A9+*...0
GHIIJHKJIT0IG$MI$ITFHGU0J0*`*>0J0bd_E60J0A<-,)0J#0%(A#%W97,JMHKRRMNNUN%%)//^A+0
GHIIJHKJIT0IG$MI$ITFHMG0J0*`*>0J0bd_E60J02'-/0A/'3(0J/0?//#0W97,JMHKRRMNNUN.,A+0%(A#% W97,JMHKRRMNNUN%%)//^A+%0
GHIIJHKJIT0IG$MI$ITFHNG0J0)//(0J0COPQ0J0C32(9??,3+0(/)['*0
GHIIJHKJIT0IG$MI$IRFHLH0J0)//(0J0COPQ0J0C3W*>(*-0<*)3*?0G.T.IRJITN.*?K0 GHIIJHKJIT0IG$MI$IRFHLT0J0)//(0J0COPQ0J0C3W*>(*-0&2(940
GHIIJHKJIT0IG$MI$IRFHLT0J0)//(0J0COPQ0J0@/A#)*22,3+0,A9+*0 GHIIJHKJIT0IG$MG$KGFHMU0J0*`*>0J0COPQ0J0EA/'3^3+0,A9+*...0 GHIIJHKJIT0IG$MG$KGFGRG0J0)//(0J0COPQ0J0E#?/9-,3+0,A9+*.00
GHIIJHKJIT0IG$MG$KGFGRM0J0*`*>0J0bd_E60J02>#0%(A#%W97,JMHKRRMNNUN%)//^A+.+:0 W-,9:\(!I)$%A*-,9%-,2<%2>)9(>!%W97,JMHKRRMNNUN.+:0
!"#$%&9%46+:"%(.&=!!!>&
•
8/+0V*)7*)02,-*$0
GHIIJHKJIT0IL$HR$INFKGK0J0)//(0J0COPQ0J0g>>*#(*-03*;0>/33*>^/30
GHIIJHKJIT0IL$HR$INFKGK0J0*`*>0J0bd_E60J0A<-,)0J#0%,32(9??%3*(4//(%>*3(/2.W97,. MHKRRMNNUN%`RTaTN%>/A#'(*%0
GHIIJHKJIT0IL$HR$INFKGL0J0*`*>0J0bd_E60J0A70%A*-,9%-,2<%2>)9(>!%W97,JMHKRRMNNUN.+:0% ,32(9??%3*(4//(%>*3(/2.W97,.0MHKRRMNNUN%`RTaTN%>/A#'(*%)//^A+.+:0
GHIIJHKJIT0IL$HR$INFKTM0J0*`*>0J0bd_E60J0A<-,)0J#0%,32(9??%3*(4//(%>*3(/2.W97,.0 MHKRRMNNUN%`RTaTN%>/A#'(*%)//^A+0
GHIIJHKJIT0IL$HR$IUFTIK0J0*`*>0Y0COPQ0Y06*(0j*)3*?093-0C3,()-0
GHIIJHKJIT0IL$HR$IUFRHR0J0*`*>0J0bd_E60J0#9><,A9+*0J/0>*3(/2.W97,.0MHKRRMNNUN0J#0 >/A#'(*0J90`RTaTN0
GHIIJHKJIT0IL$HR$NTFGLU0J0*`*>0J0bd_E60J02(-/'($019><,3+0>/3(*3(20/&0%,32(9??%3*(4//(% >*3(/2.W97,.0MHKRRMNNUN%`RTaTN%>/A#'(*%)//^A+0
GHIIJHKJIT0IL$HR$NRFGLU0J0*`*>0Y0COPQ0Y0X*+,2(*)0,A9+*0,30D/940e%/#(%A/94%(//?2%A2A%
\++.&!"#$%&0<1($&8X3]&B1#&
^+,%<%.&
•
3/-*2*(0(>I03*(4//(i
>*3(/2.W97,.MHKRRMNNUNJ
`RTaTNJ>/A#'(*0
•
)#/;*)0(>I04//(0
•
Q'(#'(0
–
=!*0,A9+*0,204//(*-0,30(>I0A9>!,3*0
•
@!*><02(9('20
–
3/-*2(9(0(>I0
–
)>/320(>I0
\++.&!"#$%&0<1($&-+#_L8X3]&
•
[2'40J?0/2i
>*3(/2.W97,.MHKRRMNNUNJ`RTaTNJ
>/A#'(*
0(*2(W/4.2!0
•
Q'(#'(0
–
=!*0,A9+*0,204//(*-0,3090A9>!,3*0
•
@!*><02(9('20
!"#$%&'%(%)#*+(&&
`1.J&.J%&a+).#6&
!"#$%&'%(%)#*+(&`1.J&.J%&a+).#6&
=*>!3/?/+50!"#$%&'%(%)#*+(&`1.J&.J%&a+).#6&
=*>!3/?/+50!"#$%&'%(%)#*+(&`1.J&.J%&a+).#6&
=*>!3/?/+50NIMBUS !!!"#$%&'()*+,-./"+*01
!"#"$%&$'()*"#+$',-.)
/0)10#$+("23+0)#+)4'56"7)
Kate Keahey, David LaBissoniere,
John Bresnahan, Tim Freeman,
Patrick Armstrong, Paul Marshall
Argonne National Laboratory
Computation Institute, University of Chicago
21
/0)10#$+("23+0)#+)4'56"7)
!"#$"%#&'()'*+#',%-./0'1$(2#3*'
•
4(&',%-./0'&($50'
•
6(7&8$#9':#8*/$#09'8;<'=(--/;%*>'
48;<0?(;'@/*($%8A'BC#$3%0#0'
•
D(&;A(8<',%-./0'3A(/<'3A%#;*'
•
=(;;#3*'*(',%-./0'(;':/*/$#E$%<'
•
F8/;3+'GH0I'
NIMBUS !!!"#$%&'()*+,-./"+*01
4'56"7)8+59+0%0#7)
34554221 61
7#8&9-1:-;-9+)-*(1/+1-</-#:=1-<)-*$%-#/18#:1.'(/+%$>-1
7#8&9-1)*+;$:-*(1/+1&'$9:[email protected]+':(1
7#8&9-1'(-*(1/+1'([email protected]+':(1
4'56"7)10:$,7#$"2#"$%)
4'56"7);-,<+$5)
K($50L83#'6#$"%3#' =/-/A/0' =(;*#C*'
M$(5#$' ,%-./0'=A%#;*0'
4%N+?O/8A%*>9'#C*#;0%.A#9'3/0*(-%P8.A#9''
(L#;'0(/$3#'%-LA#-#;*8Q(;'
4'56"7)1,,=.)>+?)'#)@+$A7)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
NIMBUS !!!"#$%&'()*+,-./"+*01
4'56"7)1,,=.)>+?)'#)@+$A7)
34554221 31
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
;++-)
0+(%) 0+(%);++-) 0+(%);++-)
K($50L83#'=(;*$(A' ,#*&($5' =*C' U-8N#'H;N-' G%$*/8A%P8Q(;' SA%."%$*V'
4'56"7)10:$,7#$"2#"$%.))
,)>'BC-DE8+0FB"$,6-%)1,,=)/$2C'#%2#"$%)
00+' K($50L83#'ZH'(LQ(;0'NIMBUS !!!"#$%&'()*+,-./"+*01
4'56"7)H-,732);$+I'7'+0'0B)
8$%,30B)8+55+0)8+0#%J#)
4'56"7);-,<+$5.)@+$A'0B)?'#C)
>D6$'()8-+"(7)
34554221 C1
L$%"8*#'3A(/<0'
S#TNT9':,YFV'
3(--/;%*>'3A(/<0'
S#TNT9'63%#;3#'=A(/<0V' L/.A%3'3A(/<0'S#TNT9'B=]V'
%;*#$(L#$8.%A%*>'
4Y'L$("%0%(;%;N'8/*(-8Q3'038A%;N'L(A%3%#0'
NIMBUS !!!"#$%&'()*+,-./"+*01
8"5"-"7.),)=2,-,6-%)=#+$,B%)8-+"()
34554221 H1
•
8C,--%0B%.)
8'038A8.A#'0*($8N#'
3A(/<'
•
6^?3(-L8Q.A#'(L#;'0(/$3#'
%-LA#-#;*8Q(;'
•
_/(*8'0/LL($*')($'03%#;QR3'
/0#$0'
•
1A/NN8.A#'.835?#;<'*('"8$%(/0'
*#3+;(A(N%#0'0/3+'80'1!6UW9'
4D:69'6#3*($9'MA(.6##$'
•
=(;RN/$8.A#'*('*85#'
8<"8;*8N#'()'-/AQLA#'0#$"#$0'
•
`(+;'M$#0;8+8;'&%AA'L$#0#;*'8'
L8L#$'8*'63%#;3#=A(/<'abb'
S41D=V'
! " # $ % & ' ( ) !) ") #) $) %) &) ') () *) !))
+,-./0,1/2345 36 7-87-39 71:;<42;.=3>=<-745 75
01?5 :.<4:3@;5 A 6 ;=0:736
7-87-6 7-87-3B ./=2
C8 7-40 73 B :;7 =232, -. /0 1/ 23D EF 5
! "# $% &$ %' %! (# #% )$ !' ' " $ & % ( # )
!*+ ,-./012,3*45 6*7 /89.,*7 ,:4,:
K/4*+$$%0#.)!,7#)15,B%)L%9-+D5%0#)
•
Challenge:
make image
deployment faster
•
Moving images is the main
component of VM deployment
•
LANTorrent: the BitTorrent
principle on a LAN
•
Streaming
•
Minimizes congestion at the
switch
•
Detecting and eliminating
duplicate transfers
•
Bottom line:
a thousand VMs
in 10 minutes
NIMBUS !!!"#$%&'()*+,-./"+*01
M,2AF--.)K+?%$)#C%)8+7#)+:)N+"$)8-+"()
•
Challenge:
utilization,
catch-22 of on-demand
computing
•
Solutions:
–
Backfill
–
Spot pricing
•
Bottom line:
up to
100% utilization
•
Nimbus release 2.7
NIMBUS !!!"#$%&'()*+,-./"+*01
H-,732'#DO)P%-',6'-'#D),0()!,'-"$%)
•
2008: The ALICE
proof-of-concept
•
2009: ElasticSite
prototype
•
2009: OOI pilot
34554221 261
18L#$c'dBA80Q3'6%*#e9'==E$%<']fbf'
J--:1K+*10-#-*$.=1LD=1
1-98(M.1(-*;$.-1%+:-91
H-,732'#DO)P%-',6'-'#D),0()!,'-"$%)
•
Assumption: a workload queue
–
ALiEn, PBS, AMQP,
!
•
React to sensor information
–
Queue properties a sensor
•
Scale to demand
–
Across different cloud providers
–
Use contextualization to integrate
machines across hybrid clouds
–
Highly Available
–
Scalable: latest tests scale to
100s of nodes on EC2, target is
thousands
•
Coming in Nimbus 3
6*8$*'&%*+'8'O/#/#'
6#;0($'%;)($-8Q(;'
1$("%0%(;'$#0(/$3#0' 1(A%3>'