1 / 1

Windows Implementation of DIRAC

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')

Download Presentation

Windows Implementation of DIRAC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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') 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 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"; JDL CASTOR storage User Proxy DISET Proxy Server Windows Compute Cluster external communication Windows Compute Cluster internal communication LFC DIRAC Agent DIRAC API DIRAC Wrapper Job Monitoring Service LFC Service 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. • 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. DIRAC Services Based on Linux servers • 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. Desktops, Laptops, Compute Clusters … • 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). • 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. • 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 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 Y. Y. Li (University of Cambirdge) on behalf of the LHCb DIRAC team

More Related