1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.0 Transitional//EN">
4 <meta http-equiv=
"CONTENT-TYPE" content=
"text/html; charset=UTF-8">
5 <title>glideinWMS - Corral
</title>
6 <meta name=
"CREATED" content=
"0;0">
7 <meta name=
"CHANGED" content=
"20100521;20081031;14115200">
8 <link rel=
"stylesheet" type=
"text/css" href=
"common/glideinWMS.css" media=
"screen, projection" />
11 <body lang=
"en-US" dir=
"ltr">
13 <a href=
"index.html">GlideinWMS
</a>
14 <span>The Glidein-based Workflow Management System
</span>
16 <ul class=
"breadcrumbs">
17 <li><a href=
"./index.html">Home
</a></li>
21 <div class=
"leftmenu">
22 <ul class=
"components">
23 <li> <a href=
"./index.html">Home
</a></li>
24 <li> <a href=
"./download.html">Download
</a></li>
25 <li> <a href=
"./frontend/index.html">Glidein Frontend
</a></li>
26 <li> <a href=
"./corral.html">Corral Frontend
</a></li>
27 <li> <a href=
"./factory/index.html">WMS Factory
</a></li>
28 <li> <a href=
"./components/index.html" >Components
</a></li>
29 <li> <a href=
"./components/faq.html" class=
"last">FAQ
</a></li>
32 <div id=
"cse-search-form" style=
"width: 100%;">Loading
</div>
33 <script src=
"http://www.google.com/jsapi" type=
"text/javascript"></script>
34 <script src=
"./common/glidein.js" type=
"text/javascript"></script>
35 <script type=
"text/javascript">
36 google
.load('search', '1', {language
: 'en', style
: google
.loader
.themes
.MINIMALIST
});
37 google
.setOnLoadCallback(onLoad
);
41 <div id=
"searchcontent"><h2>Search Results
</h2><div id=
"cse"></div> </div>
42 <div id=
"content" class=
"content">
44 <img align=
"right" width=
"280px" border=
"0px"
45 src=
"./images/simple_diagram.png" usemap=
"#rightimage">
46 <map name=
"rightimage">
47 <area shape=
"rect" coords=
"90,3,177,60" href=
"frontend/index.html" />
48 <area shape=
"rect" coords=
"5,88,118,146" href=
"components/collector_install.html" />
49 <area shape=
"rect" coords=
"134,88,275,146" href=
"factory/index.html" />
50 <area shape=
"rect" coords=
"189,3,274,60" target=
"_blank" href=
"./corral.html" />
53 <ul class=
"subcomponents">
55 <li> <a href=
"./download.html">Download
</a></li>
56 <li> <a href=
"./documentation.html">Documentation
</a></li>
57 <li> <a href=
"./install.html">Install
</a></li>
58 <li> <a href=
"./history.html">History
</a></li>
59 <li class=
"last"> <a href=
"./license.html">License
</a></li>
61 <div class=
"subheader">
68 <li><a href=
"#intro">Introduction
</a> </li>
69 <li><a href=
"#install">Installation
</a> </li>
70 <li><a href=
"#usage">Usage Examples
</a> </li>
75 <li> <a href=
"http://pegasus.isi.edu">Pegasus Workflow System
</a></li>
81 <p><b>Corral is a lightweight frontend for glideinWMS. It is useful for individuals and when running across national cyberinfrastructures such as OSG and TeraGrid. It is also a useful tool when running
82 </a><a href=
"http://pegasus.isi.edu/" target=
"_blank">Pegasus
</a> workflows.
84 <p>Although much work has been done in developing the national cyberinfrastructure in support of science, there is still a gap between the needs of the scientific applications and the capabilities provided by the resources. Leadership-class systems are optimized
85 for highly-parallel, tightly coupled applications. Many scientific applications, however, are composed of a large number of loosely-coupled individual components, many with data and control dependencies. Running these complex, many-step workflows robustly
86 and easily still poses difficulties on today?s cyberinfrastructure. One effective solution that allows applications to efficiently use the current cyberinfrastructure is resource provisioning using Condor glideins.
88 <p>GlideinWMS was initially developed to meet the needs of the CMS (Compact Muon Solenoid) experiment at the Large Hadron Collider (LHC) at CERN. It generalizes a Condor glideIn system developed for CDF (The Collider Detector at Fermilab) and first deployed
89 for production in
2003. It has been in production across the Worldwide LHC Computing Grid (WLCG), with major contributions from the Open Science Grid (OSG) in support of CMS for the past two years, and has recently been adopted for user analysis. GlideinWMS
90 also is currently being used by the CDF, DZero, and MINOS experiments, and servicing the NEBioGrid and Holland Computing Center communities. GlideinWMS has been used in production with more than
12,
000 concurrently running jobs; the CMS use alone totals over
91 45 million hours.
</p>
92 <p>Corral, a tool developed to complement the Pegasus Workflow Management System was recently built to meet the needs of workflow-based applications running on the TeraGrid. It is being used today by the Southern California Earthquake Center (SCEC) CyberShake
93 application. In a period of
10 days in May
2009, SCEC used Corral to provision a total of
33,
600 cores and used them to execute
50 workflows, each containing approximately
800,
000 application tasks, which corresponded to
852,
120 individual jobs executed on
94 the TeraGrid Ranger system. The
50-fold reduction from the number of workflow tasks to the number of jobs is due to job-clustering features within Pegasus designed to improve overall performance for workflows with short duration tasks.
96 <p>The integrated system provides a robust and scalable resource provisioning service that supports a broad set of domain application workflow and workload execution environments. The aim is to integrate and enable these services across local and distributed
97 computing resources, the major national cyberinfrastructure providers (Open Science Grid and TeraGrid), as well as emerging commercial and community cloud environments.
99 <p><i>Funded by the National Science Foundation under the OCI SDCI program, grant #
0943725</i>
102 <div class=
"section"><a name=
"install">
103 <h2>Installation
</h2>
104 <p>There are two parts to a fully working, a frontend and a factory. The frontend in this case is Corral, whereas the factory can either be installed locally, or you can use a hosted version at UCSD.
</p>
105 <p>Installing the frontend is done by downloading the Corral frontend tar ball, untarring it and setting the CORRAL_HOME environment variable to point to the new install. Also add $CORRAL_HOME/bin to your path. The host your are deploying on should have GSI
106 set up (host cert, grid-mapfile, ...).
</p>
107 <h3>Configuration of submit host
</h3>
108 <p>The submit host has to be set up to accept the glideins registering. This requires enabling GSI as an authentication method and it is pretty straightforward if the machine is not already part of a bigger pool. Replace the certificate DNs with the ones from
109 your host and user certificate. Example condor_config.local file:
</p>
111 ############################################################
112 ## GSI Security config
113 ############################################################
115 ############################
116 # Authentication settings
117 ############################
118 SEC_DEFAULT_AUTHENTICATION = REQUIRED
119 SEC_READ_AUTHENTICATION = OPTIONAL
120 SEC_WRITE_AUTHENTICATION = REQUIRED
121 SEC_CLIENT_AUTHENTICATION = OPTIONAL
122 SEC_DEFAULT_AUTHENTICATION_METHODS = FS,GSI
123 SEC_ENABLE_MATCH_PASSWORD_AUTHENTICATION = True
124 DENY_WRITE = anonymous@*
125 DENY_ADMINISTRATOR = anonymous@*
126 DENY_DAEMON = anonymous@*
127 DENY_NEGOTIATOR = anonymous@*
128 DENY_CLIENT = anonymous@*
130 ############################
132 ############################
133 SEC_DEFAULT_ENCRYPTION = OPTIONAL
134 SEC_DEFAULT_INTEGRITY = REQUIRED
135 SEC_READ_INTEGRITY = OPTIONAL
136 SEC_CLIENT_INTEGRITY = OPTIONAL
137 SEC_READ_ENCRYPTION = OPTIONAL
138 SEC_CLIENT_ENCRYPTION = OPTIONAL
140 # Grid Certificate directory
141 GSI_DAEMON_TRUSTED_CA_DIR=/etc/grid-security/certificates
143 ############################
144 # Set daemon cert location
145 ############################
146 GSI_DAEMON_DIRECTORY = /etc/condor
148 ############################
150 ############################
151 GSI_DAEMON_CERT = /etc/grid-security/hostcert.pem
152 GSI_DAEMON_KEY = /etc/grid-security/hostkey.pem
154 #################################
155 # Where to find ID-
>uid mappings
156 #################################
157 CERTIFICATE_MAPFILE=/etc/condor/condor_mapfile
159 #####################################
160 # Add whitelist of condor daemon DNs
161 #####################################
162 GSI_DAEMON_NAME=/DC=org/DC=doegrids/OU=Services/CN=yggdrasil.isi.edu,/DC=org/DC=doegrids/OU=People/CN=Mats Rynge
274484
164 #####################################################
165 # With strong security, do not use IP based controls
166 #####################################################
168 ALLOW_WRITE = $(HOSTALLOW_WRITE)
170 #####################################
171 # Limit session caching to ~
12h
172 #####################################
173 SEC_DAEMON_SESSION_DURATION =
50000
175 <p>You also need a condor mapfile (/etc/condor/condor_mapfile in this case):
</p>
178 GSI
"/DC=org/DC=doegrids/OU=Services/CN=yggdrasil.isi.edu
" condor001
179 GSI
"/DC=org/DC=doegrids/OU=People/CN=Mats Rynge
274484" condor003
183 <p>Check the CollectorLog for problems if the glideins do not work
</p>
185 <div class=
"section"></a><a name=
"usage">
186 <h2>Usage Examples
</h2>
187 <h3>Provisioner Description
</h3>
188 <p>The way to tell Corral about your glidein needs, a XML configuration files is needed. Example:
</p>
190 <corral-request
>
192 <local-resource-manager type=
"condor
">
193 <main-collector
>cwms-corral.isi.edu:
9620</main-collector
>
194 <job-owner
>testuser
</job-owner
>
196 <!-- alias for the site - make this match your Pegasus site catalog --
>
197 <pegasus-site-name
>Firefly
</pegasus-site-name
>
198 </local-resource-manager
>
200 <remote-resource type=
"glideinwms
">
202 <!-- get these values from the factory admin --
>
203 <factory-host
>cwms-factory.isi.edu
</factory-host
>
204 <entry-name
>UNL
</entry-name
>
205 <security-name
>corral_frontend
</security-name
>
206 <security-class
>corral003
</security-class
>
208 <!-- project is required when running on TeraGrid --
>
209 <project-id
>TG-...
</project-id
>
211 <min-slots
>0</min-slots
>
212 <max-slots
>1000</max-slots
>
214 <!-- number of glideins to submit as one gram job --
>
215 <chunk-size
>1</chunk-size
>
217 <max-job-walltime
>600</max-job-walltime
>
219 <!-- List of entries for the grid-mapfile for the glideins. Include the daemon
220 certificate of the collector, and the certificate of the user submitting the glideins. --
>
222 <entry
>"/DC=org/DC=doegrids/OU=People/CN=TestUser
001" condor001
</entry
>
223 <entry
>"/DC=org/DC=doegrids/OU=Services/CN=cmws-corral.isi.edu
" condor002
</entry
>
225 </remote-resource
>
227 </corral-request
>
231 <h3>Submitting the Request
</h3>
232 <p>One you have created the request XML file you can submit it to Corral:
</p>
234 $ corral create-provisioner -h cwms-corral.isi.edu -f firefly.xml
237 <h3>Listing Provisioners
</h3>
239 $ corral list-provisioners -h cwms-corral.isi.edu
243 <h3>Removing provisioners
</h3>
245 $ corral remove-provisioner -h cwms-corral.isi.edu
252 <a href=
"http://www.flickr.com/people/leafwarbler/">Madhusudan Katti
</a>
253 used under Creative Commons license.
<br/>
254 Original Home URL:
<a href=
"http://www.uscms.org/SoftwareComputing/Grid/WMS/glideinWMS">http://www.uscms.org/SoftwareComputing/Grid/WMS/glideinWMS
</a>.
255 glideinWMS email support: glideinwms-support at fnal.gov