EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The...

32
EGEE-II INFSO-RI- 031688 Enabling Grids for E-sciencE www.eu-egee.org EGEE and gLite are registered trademarks The EGEE project and the gLite middleware Gergely Sipos ([email protected]) EGEE “User training and Induction” Activity deputy manager MTA SZTAKI Computer and Automation Research Institute Hungarian Academy of Sciences

Transcript of EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The...

Page 1: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

EGEE-II INFSO-RI-031688

Enabling Grids for E-sciencE

www.eu-egee.org

EGEE and gLite are registered trademarks

The EGEE project andthe gLite middleware

Gergely Sipos ([email protected])

EGEE “User training and Induction”

Activity deputy manager

MTA SZTAKI

Computer and Automation Research Institute

Hungarian Academy of Sciences

Page 2: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 2

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Contents

• What is EGEE?– Goals– Status– Activities

• EGEE’s Grid middleware: gLite 3– Security– Job management– Information system– File catalogue

• Overview of the afternoon hands-on

Page 3: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 3

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Introduction

• The EGEE project:– 4 year project, funded by the EU (EGEE, EGEE-II)– Seamless Grid infrastructure for e-Science, available for

scientists 24 hours-a-day

• EGEE:1 April 2004 – 31 March 2006

71 partners in 27 countries, federated in regional Grids

• We are now in 2nd phase of the project

EGEE-II:1 April 2006 – 31 March 2008

91 partners in 32 countries grouped into 13 federations

• EGEE-III proposal is under preparation

Transition to self-sustainable European Grid service infrastructure

Page 4: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 4

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

EGEE goals – international e-infrastructure

Network infrastructure& Resource

centres

Op

era

tio

ns

, S

up

po

rt a

nd

tr

ain

ing

Collaboration

International Grid

• Build, deploy and operate a consistent, robust a large scale production grid service that– Links with and build on

national, regional and international initiatives

• Improve and maintain the middleware in order to deliver a reliable service to users

• Attract new users from research and industry and ensure training and support for them

Page 5: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 5

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Production Service

Real Time Monitor – Java tool– Displays jobs

running (submitted through brokers)

– Shows jobs moving around world map in real time, along with changes in status

http://gridportal.hep.ph.ic.ac.uk/rtm/ (snapshot 16 January 2007)

Page 6: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 6

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

• From April 2006, natural continuation of EGEE– Expanded consortium – Emphasis on providing an infrastructure

increased support for applications interoperate with other infrastructures more involvement from Industry

SA: service activities- establishing operations

NA: network activities- supporting users and applications

JRA: “joint research activities”- e.g. hardening middleware

EGEE-II

Page 7: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 7

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

EGEE Infrastructure

Country participating

in EGEE

> 200 sites in 40 countries~ 36 000 CPUs~ 5 PB storage98k jobs/day> 200 Virtual Organizations⇨The world’s largest multi-disciplinary Grid

Page 8: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 8

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Who is using EGEE?

• >200 VOs from several scientific domains– Astronomy & Astrophysics– Civil Protection– Computational Chemistry– Comp. Fluid Dynamics– Computer Science/Tools– Condensed Matter Physics– Earth Sciences– Fusion– High Energy Physics– Life Sciences

• Further applications under evaluation

98k jobs/day

Applications have moved from testing to routine and daily usage

~80-90% efficiency

Page 9: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 9

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Virtual organisations and grids

• What is a Virtual Organisation?– People in different organisations seeking to cooperate and share

resources across their organisational boundaries – E.g. A research collaboration

• Each grid is an infrastructure enabling one or more “virtual organisations” to share and access resources

• Each resource is exposed to the grid through an abstraction that masks heterogeneity, e.g.– Multiple diverse computational platforms– Multiple data resources

• Resources are usually owned by VO members. Negotiations lead to VOs sharing resources

Page 10: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 10

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

EGEE Infrastructure

• Production service (production VOs)– Based on gLite 3.0 middleware– With new resource centres and new applications encouraged to

participate– Stable, well-supported infrastructure, running only well-tested and

reliable middleware

• Pre-production service– Run in parallel with the production service (restricted no. of sites)– First deployment of new versions of the middleware – Applications test-bed

• GILDA training testbed To be used in the afternoon– https://gilda.ct.infn.it/testbed.html– Complete suite of Grid elements and applications

Testbed, CA certification, VOs, monitoring– Everyone can register and use

GILDA for training and testing

Page 11: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 11

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Basic services of the EGEE grid

Computing Element

Storage Element

Site X

Information System

Submit job

Submit job

queryRetrieveoutput

Retrieveoutput

Resource Broker

User Interface

publishstate

File and Replica Catalog

Authorization Service (VO Management Service)

query

createcredential

Page 12: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 12

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Who provides the resources?!

ServiceService Provider Note

User interfaceUser interface User / institute / VO Computer with client software

Resource BrokerResource Broker VOs - EGEE does not fund RBs

Information SystemInformation System Grid operations - EGEE funded effort

File and replica catalogFile and replica catalog VOs - EGEE does not fund catalogs

Computing Element Computing Element (cluster)(cluster)

VOs - EGEE does not fund CEs

Scalability requires that VOs provide resources to match average need

Storage Element Storage Element VOs - EGEE does not fund SEs

VO or application specific services

User / institute / VO To extend the capabilities of the core infrastructure

Page 13: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 13

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

gLite security – the user’s viewpont

• User’s checklist– User obtains grid certificate from

a recognized Certificate Authoritywww.gridpma.org

– User finds and joins a VOhttp://cic.gridops.org/

– User gets account on the UI machine (and in a Grid portal)

– User connects to UI by ssh and generates proxy

(OR User logs it to a portal service and generates proxy)

• VO administrator’s checklist– Receive user’s join request– Add user’s identity and role into

VOMS DB– Create account on UI

UI

CA

VO mgr

Annually

VO database

Grid Security

Infrastructure

VOMS

Once

VO services: broker, CE, SE, …

Page 14: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 14

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Security – viewpoint of the grid

User Interface

Storage ElementBroker

Computing Element

User’s public key

User’s private key

Proxy

Generate VO database

VOMS server

Proxy+

VO role

Proxy+

VO role

Proxy+

VO role

Proxy+

VO role

Page 15: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 15

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Generating proxy – user command

[giorgio@glite-tutor giorgio]$ ls -l .globus

total 8

-rw-r--r-- 1 giorgio users 1613 Jun 7 15:16 usercert.pem

-r-------- 1 giorgio users 1914 Jun 7 15:16 userkey.pem

[giorgio@glite-tutor giorgio]$ voms-proxy-init --voms gilda

Cannot find file or dir: /home/giorgio/.glite/vomses

Your identity: /C=IT/O=GILDA/OU=Personal Certificate/L=INFN/CN=Emidio Giorgio/[email protected]

Enter GRID pass phrase: ***********

Creating temporary proxy ................................Done

Contacting voms.ct.infn.it:15001 [/C=IT/O=GILDA/OU=Host/L=INFN

Catania/CN=voms.ct.infn.it/[email protected]] "gilda" Done

Creating proxy ......................................... Done

Your proxy is valid until Fri Jul 14 00:34:00 2006

Page 16: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 16

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Example JDL file

Executable = “gridTest”; What program to start?

StdError = “stderr.log”; How to call the Error?

StdOutput = “stdout.log”; How to call the Output?

InputSandbox = {“/home/sipos/test/gridTest”};

What file(s) to copy from the UI?

OutputSandbox = {“stderr.log”, “stdout.log”};

What file(s) to copy back to the UI?

Specifying a job: Job Description Language

•Submit job to grid via the resource broker (RB):

edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output

Page 17: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 17

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Current production middleware

ComputingComputingElementElement

edg-job-submit…

Input “sandbox”

Input “sandbox”

Output “sandbox”

edg-job-get-output

Output “sandbox”

““User User interface”interface”

Executable = “gridTest”;

StdError = “stderr.log”;

StdOutput = “stdout.log”;

InputSandbox = {“/home/sipos/test/gridTest”};

OutputSandbox = {“stderr.log”, “stdout.log”};

gridTest gridTest

gridTest

stderr.log

stdout.log

A worker node is allocated by the

local jobmanager (e.g. Condor, LSF,

…)

stderr.log

stdout.log

stderr.log

stdout.log

•STD out and err. streams are redirected into files

•(STD input stream is read from file)

Page 18: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 18

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Example JDL fileExecutable = “gridTest”;

StdError = “stderr.log”;

StdOutput = “stdout.log”;

InputSandbox = {“/home/sipos/test/gridTest”};

OutputSandbox = {“stderr.log”, “stdout.log”};

Requirements = other.Architecture==“INTEL” && \ other.Memory>=256;

Rank = “other.Memory”;

Job submission with dynamic resource discovery

•Submit job to grid via the resource broker (RB):•edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output

Page 19: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 19

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Information system in action

ResourceResourceBrokerBroker

StorageStorageElementElement

ComputingComputingElementElement

Information Information ServiceService

Input “sandbox”

Input “sandbox” + Broker Info

Output “sandbox”

Output “sandbox”

Pu

blis

h

SE & CE info

““User User interface”interface”

Page 20: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 20

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

• a user or a service can query– the BDII (usual mode)– LDAP servers on each site

Information Service

Page 21: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 21

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Information system user query: lcg-infosites

• The lcg-infosites command can be used as an easy way to retrieve information on Grid resources for most use cases.

USAGE: (execute on the UI machine)

lcg-infosites --vo <vo name> options -v <verbose level> --is <BDII to query>

Page 22: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 22

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Example JDL fileExecutable = “gridTest”;

StdError = “stderr.log”;

StdOutput = “stdout.log”;

InputSandbox = {“/home/sipos/test/gridTest”};

OutputSandbox = {“stderr.log”, “stdout.log”};

Requirements = other.Architecture==“INTEL” && \ other.Memory>=256;

Rank = “other.Memory”;

InputData = “lfn:/grid/gilda/sipos/inputs/testbed019”;

Job submission with dynamic data discovery

•Submit job to grid via the resource broker (RB):•edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output

Page 23: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 23

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

File catalog in action

ResourceResourceBrokerBroker

StorageStorageElementElement

ComputingComputingElementElement

Information Information ServiceService

Data locationInput “sandbox”

Input “sandbox” + Broker Info

Output “sandbox”

Output “sandbox”

Pu

blis

h

SE & CE info

““User User interface”interface”

LCG File LCG File Catalogue (LFC)Catalogue (LFC)

Page 24: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 24

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Storage Element 3sfn://trigriden01.unime.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f

Storage Element 2srm://aliserv6.ct.infn.it/dpm/ct.infn.it/home/gilda/generated/2007-06-23/filea21ab3e2-8ff6-4a44-82a7-f2

LCG File Catalogue

• Catalog of grid directories• “Virtual file system”:

Each entry in the directory may be stored on different SEs

lfn:/grid/gilda/sipos/inputs/

input1input2input3

Storage Element 1sfn://grid005.iucc.ac.il/storage/gilda/generated/2007-06-23/fileb233d43f-5bc6-4ede-a5fe-611d48be2ba5

LCG FileCatalogue LCG FileCatalogue (LFC)(LFC)

Storage Element 4sfn://grid005.iucc.ac.it/flatfiles/SE00/gilda/generated/2007-06-23/filec79a9e3c-2485-4206-a2a5-235f

User friendly file hierarchy and file

names

Replicas: the same content stored on

two SEsSystem provides job with closest replica

Page 25: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 25

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Resolving logical file name

StorageStorageElement 1Element 1

““User User interface”interface”

LCG LCG FileCatalogue FileCatalogue (LFC)(LFC)

StorageStorageElement 2Element 2

Two copied of the same file are available on 2 SEs

lfn:/grid/gilda/sipos/

inputs/testbed019

Myfile.dat

File_on_se1

File_on_se2

Page 26: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 26

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Example JDL fileExecutable = “gridTest”;

StdError = “stderr.log”;

StdOutput = “stdout.log”;

InputSandbox = {“/home/sipos/test/gridTest”};

OutputSandbox = {“stderr.log”, “stdout.log”};

Requirements = other.Architecture==“INTEL” && \ other.Memory>=256;

Rank = “other.Memory”;

InputData = “lfn:/grid/gilda/sipos/inputs/testbed019”;

Job submission with dynamic data discovery

•Submit job to grid via the resource broker (RB):•edg-job-submit my.jdl Execute this on the UIReturns a “job-id” used to monitor job, retrieve output

lfn: logical file name

RB uses File Catalog to find file location

The file itself is NOT transferred by the

broker! Your binary must

transfer input/output grid files!

Broker puts your job on a CE close to the SE where the file is stored

Page 27: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 27

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Working with grid files

• Use lfc-* commands to interact with the catalogue– To create catalogue directory– List files– Used by User, user’s binary

and by lcg-utils (see below)

LCG File LCG File Catalogue (LFC)Catalogue (LFC)

StorageStorageElement 1Element 1

““User User interface”interface” StorageStorage

Element 2Element 2

lfc-*

lcg-*

• Use lcg-* commands to couple catalogue operations with file management – Keeps SEs and catalogue in

step!– Create file on storage and

register it in catalogue– Replicate files between

storages– Download file and delete from

catalog

Page 28: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 28

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

High(er) level user environments

• To hide the complexity of the grid middleware

• To provide application specific user interfaces

• To provide easier access mechanisms (Eg. Web portal)

• To keep the user focused onto the “real problem”

• Recommended External Software Packages for Egee CommuniTies

• Current RESPECT tools:– GANGA– GridWay– P-GRADE Portal Wednesday

http://egeena4.lal.in2p3.fr/ “Grid software” menu

Basic gLite services:security, job submission, info.

Higher-level gLite services (brokering,…)

Application toolkits, standards

Application

Page 29: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 29

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Summary - EGEE and gLite

• EU founded Grid project: 2004-2006 EGEE; 2006-2008 EGEE-II– Build, deploy and operate a consistent, robust a large scale production

grid service that– Improve and maintain the middleware in order to deliver a reliable

service to users – Attract new users from research and industry and ensure training and

support for them • gLite middleware: Bag of services that address key distributed

system issues:– Security, Data management, Job management, Monitoring

• Basic components– User interface access service for end users– Workload Management System resource broker– Computing Element computing service, a job queue– Storage Element File storage– File catalog File registry, virtual file system– Information System database of SEs and CEsAll built onto Grid Security Infrastructure (GSI)

• High level community or application specific tools

Page 30: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 30

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Furhter information, references

• EGEE

– http://www.eu-egee.org/

• gLite middleware

– http://www.glite.org

• gLite manuals, documentation

– http://glite.web.cern.ch/glite/documentation/ (gLite user guide)

• Recommended External Software Packages for Egee CommuniTies

– http://egeena4.lal.in2p3.fr/

Page 31: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

CoreGRID Summer School 2007 – Budapest, 3-7 September 31

Enabling Grids for E-sciencE

EGEE-II INFSO-RI-031688

Afternoon practical 15:45-18:00 Command reminder

Security (Practical 1)• voms-proxy-init –voms gilda generates proxy• voms-proxy-destroy delete proxy

Job management (Practical 2 & 4)• edg-job-submit job.jdl returns a jobID• edg-job-get-status jobID returns job status• edg-job-getoutput jobID downloads OutputSandBox

Information system (Practical 3)• lcg-infosites … queries BDII server

File catalogue management (No practical today)• lfc-* manipulate grid directories• lcg-* manipulate SEs and grid directory entries

Page 32: EGEE-II INFSO-RI-031688 Enabling Grids for E-sciencE  EGEE and gLite are registered trademarks The EGEE project and the gLite middleware.

EGEE-II INFSO-RI-031688

Enabling Grids for E-sciencE

www.eu-egee.org

EGEE and gLite are registered trademarks

Thank you!

Questions?