windows implementation of dirac

1
DIRAC ON WINDOWS Y. Y. Li (University of Cambirdge) on behalf of the LHCb DIRAC team Windows Implementation of DIRAC Client on Windows Users can create and submit jobs: Full DIRAC Python API to specify: application to be run; input data (if required); any precompiled libraries C++ Application – jobs sent to Windows resources Python based application – jobs are cross- platform. DISET enabled client for secure job submission. DIRAC job monitoring web page to view status of jobs. Applications developed by LHCb can be combined to form various types of jobs, ranging from production jobs (simulation, digitisation and reconstruction) to physics analysis. SoftwarePackages = { “DaVinci.v12r15" }; InputSandbox = { “DaVinci.opts” }; InputData = { "LFN:/lhcb/production/DC04/v2/00980 000/DST/Presel_00980000_00001212.ds t" }; JobName = “DaVinci_1"; Owner = "yingying"; StdOutput = "std.out"; StdError = "std.err"; OutputSandbox = { "std.out", "std.err", “DaVinci_v12r15.log” }; JobType = "user"; JDL from DIRAC.Client.Dirac import * dirac = Dirac() job = Job() job.setApplication(‘DaVinci', 'v12r15') job.setInputSandbox(['DaVinci.opts’]) job.setInputData([ 'LFN:/lhcb/production/DC04/v2/00980000/DST/ Presel_00980000_00001212.dst‘ ]) job.setOutputSandbox([‘DaVinci_v12r15.log’]) dirac.submit(job) API DISET DISET is the DIRAC security framework. It is used for user authentication and authorization on the Grid with X509 certificates. DISET is based on: OpenSSL pyOpenSSL modified to allow for Grid proxy support and authentication. Libraries are built for Windows and provided alongside Linux libraries. Agent on Windows An Agent is launched from available Windows resource from the CLI, and communicate with DIRAC WMS and standard Grid services. The Agent will: retrieve any matched jobs from WMS central Task Queue; locate and transfer any required data via LFC and GridFTP protocol; runs the job via the creation of a suitable .bat script on the resource backend (PC, Windows Compute Cluster); report back to DIRAC server, giving update of job status; perform any data transfers requested (e.g. requested outputsandbox files to DIRAC Sandbox Service, or GridFTP to Storage Elements). Storage Access to the LHCb data distributed across the Grid Storage Elements is ensured by: access to the LHCb LFC replica catalogue. GridFTP.Net client developed by University of Virginia. integrated with the DIRAC data management tools. Development of the SRM client for Windows is also foreseen. DIRAC Services Based on Linux servers LFC Access On Windows, the DIRAC LFC portal is used to gain access to the LFC. • User’s DIRAC proxy is used via DISET to authenticate to the Proxy Server. • The Proxy Server is a trusted host for the LFC service, which uses its own credentials for authentication. • A user’s identity is then used to gain authorization for the LFC operations. CASTOR storage Desktops, Laptops, Compute Clusters … Windows Compute Cluster Backend A Windows Compute Cluster backend has been implemented. The DIRAC Agent is installed on the Head node, which provides a gateway to the rest of the cluster. Agent retrieves jobs onto the head node. Agent checks the backend and wraps the job in the DIRAC Job Wrapper. The Wrapper is sent to the worker node via the internal Compute Cluster Management and Scheduler Services. It is: executed on the allocated worker node using the installed application on the head node. able to control the job execution, reporting heart beats and other information to the DIRAC Monitoring Service. Done Cross-platform job submissions Job output retrieval (by DIRAC job ID or Castor storage) Job processing (full analysis, stripping and reconstruction jobs) Tested on Windows Server 2003 and Windows XP platforms Deployed on Windows machines at Universities of Bristol, Cambridge and Oxford – more than 100 nodes in total System successfully used for physics analysis with simulated Future Plans • Continue Physics Analysis work using DIRAC on Windows systems • Port LHCb Simulation application to Windows, to enable full LHCb production job chain under Windows, with consequent gain in resources • Deploy system at new sites Proxy Server LFC User Proxy DISET Head Node DIRAC API DIRAC WMS Job Management Service Sandbox Service Job Matcher LFC Service Job Monitoring Service Software Repository DISET Local SE DIRAC Agent Watch- dog DIRAC Wrapper Job Proxy Server Windows Compute Cluster external communication Windows Compute Cluster internal communication

Upload: bryar-berger

Post on 31-Dec-2015

47 views

Category:

Documents


0 download

DESCRIPTION

Head Node. 1. Job Matcher. 2. Job Management Service. 3. Software Repository. Sandbox Service. Job. Watch-dog. Proxy Server. DISET. DIRAC WMS. Local SE. from DIRAC.Client.Dirac import * dirac = Dirac() job = Job() job.setApplication(‘DaVinci', 'v12r15') - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Windows Implementation of DIRAC

DIR

AC

ON

WIN

DO

WS

Y. Y. Li (University of Cambirdge) on behalf of the LHCb DIRAC team

Windows Implementation of DIRAC

Client on WindowsUsers can create and submit jobs:

Full DIRAC Python API to specify: application to be run; input data (if required); any precompiled libraries

C++ Application – jobs sent to Windows resources Python based application – jobs are cross-platform.

DISET enabled client for secure job submission. DIRAC job monitoring web page to view status of jobs.

Applications developed by LHCb can be combined to form various types of jobs, ranging from production jobs (simulation, digitisation and reconstruction) to physics analysis.

SoftwarePackages = { “DaVinci.v12r15" };InputSandbox = { “DaVinci.opts” };InputData = { "LFN:/lhcb/production/DC04/v2/00980000/DST/Presel_00980000_00001212.dst" };JobName = “DaVinci_1";Owner = "yingying";StdOutput = "std.out";StdError = "std.err";OutputSandbox = { "std.out", "std.err", “DaVinci_v12r15.log” };JobType = "user";

JDLfrom DIRAC.Client.Dirac import *dirac = Dirac()job = Job()job.setApplication(‘DaVinci', 'v12r15')job.setInputSandbox(['DaVinci.opts’])job.setInputData([

'LFN:/lhcb/production/DC04/v2/00980000/DST/Presel_00980000_00001212.dst‘ ])job.setOutputSandbox([‘DaVinci_v12r15.log’])dirac.submit(job)

API

DISETDISET is the DIRAC security framework. It is used for user authentication and authorization on the Grid with X509 certificates. DISET is based on:

OpenSSL pyOpenSSL modified to allow for Grid proxy support and authentication.

Libraries are built for Windows and provided alongside Linux libraries.

Agent on WindowsAn Agent is launched from available Windows resource from the CLI, and communicate with DIRAC WMS and standard Grid services. The Agent will:

retrieve any matched jobs from WMS central Task Queue; locate and transfer any required data via LFC and GridFTP protocol; runs the job via the creation of a suitable .bat script on the resource backend (PC, Windows Compute Cluster); report back to DIRAC server, giving update of job status; perform any data transfers requested (e.g. requested outputsandbox files to DIRAC Sandbox Service, or GridFTP to Storage Elements).

StorageAccess to the LHCb data distributed across the Grid Storage Elements is ensured by:

• access to the LHCb LFC replica catalogue.• GridFTP.Net client developed by University of Virginia.

• integrated with the DIRAC data management tools.Development of the SRM client for Windows is also foreseen.

DIRAC ServicesBased on Linux servers

LFC AccessOn Windows, the DIRAC LFC portal is used to gain access to the LFC.• User’s DIRAC proxy is used via DISET to authenticate to the Proxy Server.• The Proxy Server is a trusted host for the LFC service, which uses its own credentials for authentication.• A user’s identity is then used to gain authorization for the LFC operations.

CASTOR storage

Desktops, Laptops, Compute

Clusters …

Windows Compute Cluster BackendA Windows Compute Cluster backend has been implemented. The DIRAC Agent is installed on the Head node, which provides a gateway to the rest of the cluster.

Agent retrieves jobs onto the head node. Agent checks the backend and wraps the job in the DIRAC Job Wrapper. The Wrapper is sent to the worker node via the internal Compute Cluster Management and Scheduler Services. It is:

executed on the allocated worker node using the installed application on the head node.

able to control the job execution, reporting heart beats and other information to the DIRAC Monitoring Service.

Done Cross-platform job submissions Job output retrieval (by DIRAC job ID or Castor storage) Job processing (full analysis, stripping and reconstruction jobs) Tested on Windows Server 2003 and Windows XP platforms Deployed on Windows machines at Universities of Bristol, Cambridge and Oxford – more than 100 nodes in total System successfully used for physics analysis with simulated data

Future Plans• Continue Physics Analysis work using DIRAC on Windows systems • Port LHCb Simulation application to Windows, to enable full LHCb production job chain under Windows, with consequent gain in resources• Deploy system at new sites

Proxy Server

LFC

UserProxy

DISET

Head Node

DIR

AC

A

PI

DIR

AC

A

PI

DIRAC WMS

Job ManagementService

SandboxService

Job Matcher

LFC Service

Job MonitoringService

SoftwareRepository

DISETLocal

SE

DIRACAgent

Watch-dog

DIRAC

Wrappe

rJob

ProxyServer

Windows Compute Cluster external communication

Windows Compute Cluster internal communication