[[PageOutline(1-10)]] = **DRM4G** = {{{#!comment * [[https://meteo.unican.es/trac/wiki/DRM4G1/Introduction|Introduction]] * [[https://meteo.unican.es/trac/wiki/DRM4G1/Introduction#AboutDRM4G|About DRM4G]] * [[https://meteo.unican.es/trac/wiki/DRM4G1/Introduction#WhyDRM4G|Why DRM4G?]] * [[https://meteo.unican.es/trac/wiki/DRM4G1/Introduction#WhatisDRM4Gsarchitecture|What is DRM4G's architecture?]] }}} == About DRM4G '''DRM4G''' is an open platform, based on [[http://www.gridway.org/doku.php?id=start|GridWay]] , to define, submit, and manage computational jobs. DRM4G is a Python ('''2.6+''', '''3.3+''') implementation that provides a single point of control for computing resources without installing any intermediate middlewares. As a result, a user is able to run the same job on laptops, desktops, workstations, clusters, supercomputers, and any grid. === Why DRM4G? === * '''Ready-to-run''': The DRM4G bundle can be unpacked and then ran on any on any Linux OS. * '''Huge amount of jobs''': DRM4G is able to manage around ~200,000 jobs at the same time. * '''Different identities on different resources''': DRM4G handles different user accounts on various resources through a single interface. * '''One command''': In order to make easier to use DRM4G, there is only one command available, which is `drm4g`. === What is DRM4G's architecture? === Infrastructure layer consists of the following components : * '''DRM4G CLI''' offers users commands to submit, cancel, and monitor jobs and configure resources. * '''!GridWay core''' is in charge of job execution and resource brokering. DRM4G takes the most of !GridWay by using its core. * '''DRM4G Middleware Access Driver (MAD)''' gives access to computing resources. In order to do that, there are two kind of components: * Resource Manager is responsible for collecting resource information. * Communicator provides the authentication type to access them. * '''DRM4G Sched''' is responsible for scheduling jobs. [[Image(drm4g.2.png,40%)]] {{{#!comment -- https://meteo.unican.es/trac/wiki/DRM4G1/Getting_started unsused }}} == Getting started * [[https://meteo.unican.es/trac/wiki/DRM4G/Installation|Installation]] * [[https://meteo.unican.es/trac/wiki/DRM4G/Installation#Withpip|With pip]] * [[https://meteo.unican.es/trac/wiki/DRM4G/Installation#Withoutpip|Without pip]] * [[https://meteo.unican.es/trac/wiki/DRM4G/Installation#OptionalEnvironmentVariables|Optional Environment Variables]] * [[https://meteo.unican.es/trac/wiki/DRM4G/Installation#InstallingExtras|Installing extras]] * [[https://meteo.unican.es/trac/wiki/DRM4G/resource_configuration|Resource Configuration]] * [[https://meteo.unican.es/trac/wiki/DRM4G/resource_configuration#Configurationformat|Configuration format]] * [[https://meteo.unican.es/trac/wiki/DRM4G/resource_configuration#DEFAULTsection|DEFAULT section]] * [[https://meteo.unican.es/trac/wiki/DRM4G/resource_configuration#Resourcesection|Resource section]] * [[https://meteo.unican.es/trac/wiki/DRM4G/resource_configuration#Examples|Examples]] {{{#!comment * [[https://meteo.unican.es/trac/wiki/DRM4G1/example_usage|Example of Usage]] * We can have it like this or ,as I prefer, a separate section as shown bellow (which makes it's sections more accessible) }}} * [[https://meteo.unican.es/trac/wiki/DRM4G/job_description|Job Description]] * [[https://meteo.unican.es/trac/wiki/DRM4G/job_description#Syntax|Syntax]] * [[https://meteo.unican.es/trac/wiki/DRM4G/job_description#Templateoptions|Template options]] * [[https://meteo.unican.es/trac/wiki/DRM4G/job_description#RequirementExpressions|Requirement Expressions]] * [[https://meteo.unican.es/trac/wiki/DRM4G/job_description#EnvironmentExpressions|Environment Expressions]] === Example of usage This section contains examples about how to use the DRM4G CLI. * [[https://meteo.unican.es/trac/wiki/DRM4G/torque_pbs_resource|How to configure a TORQUE/PBS resource by using the private/public key without password]] * [[https://meteo.unican.es/trac/wiki/DRM4G/egi_vo|How to configure an EGI VO]] * [[https://meteo.unican.es/trac/wiki/DRM4G/manage_job|How to manage a job from start to end]] == DRM4G CLI `drm4g` is DRM4G's Command Line Interface (CLI) for administrating both computing resources and jobs. * [[https://meteo.unican.es/trac/wiki/DRM4G/available_commands|Available Commands]] == Python API In order to use the DRM4G API, you only have to install DRM4G on your machine. This python API allows you to create, submit, cancel and monitor DRM4G jobs. * [[https://meteo.unican.es/trac/wiki/DRM4G/drm4g_api|DRM4G API]] * [[https://meteo.unican.es/trac/wiki/DRM4G/drm4g_api#Howtocreateajob|How to create a job]] * [[https://meteo.unican.es/trac/wiki/DRM4G/drm4g_api#Howtosubmitajob|How to submit a job]] * [[https://meteo.unican.es/trac/wiki/DRM4G/drm4g_api#Howtomonitorajob|How to monitor a job]] == Tutorial * [[https://meteo.unican.es/trac/wiki/DRM4G/DRM4GTutorial|DRM4G tutorial]] * [[https://meteo.unican.es/trac/wiki/DRM4G/DRM4GTutorial#StarttorunDRM4G|Start to run DRM4G]] * [[https://meteo.unican.es/trac/wiki/DRM4G/DRM4GTutorial#Myfirstjob|My first job]] * [[https://meteo.unican.es/trac/wiki/DRM4G/DRM4GTutorial#HowtoconfigureaTORQUEPBSresource|How to configure a TORQUE/PBS resource using the ssh-agent]] * [[https://meteo.unican.es/trac/wiki/DRM4G/DRM4GTutorial#UserScenarios|User Scenarios]] == FAQ * [[https://meteo.unican.es/trac/wiki/DRM4G/faq|Frequently Asked Questions]]