Skip to content

Commit

Permalink
New README
Browse files Browse the repository at this point in the history
  • Loading branch information
mturilli authored Aug 23, 2023
1 parent 732d3e7 commit 7f7a926
Showing 1 changed file with 39 additions and 13 deletions.
52 changes: 39 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,49 @@
[![Build Status](https://github.com/radical-cybertools/radical.pilot/actions/workflows/ci.yml/badge.svg)](https://github.com/radical-cybertools/radical.pilot/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/radical-cybertools/radical.pilot/branch/devel/graph/badge.svg)](https://codecov.io/gh/radical-cybertools/radical.pilot)

RADICAL-Pilot (RP) is a Pilot system written in Python and specialized
in executing applications composed of many computational tasks on high
performance computing (HPC) platforms. As a Pilot system, RP separates resource
acquisition from using those resources to execute application tasks. Resources
are acquired by submitting a job to the batch system of an HPC machine. Once
the job is scheduled on the requested resources, RP can directly schedule and
launch application tasks on those resources. Thus, tasks are not scheduled via
the batch system of the HPC platform, but directly on the acquired resources.
RADICAL-Pilot (RP) executes workloads made of heterogeneous tasks with maximum concurrency and at scale.

RP is a Pilot system, i.e., it separates resource acquisition from using those resources to execute application tasks. Resources are acquired by submitting a job to the batch system of an HPC machine. Once the job is scheduled on the requested resources, RP can directly schedule and launch computational tasks on those resources. Thus, tasks are not scheduled via the batch system of the HPC platform, but directly on the acquired resources.

RP is written in Python and exposes a simple yet powerful API. In 15 lines of code you can execute an arbitrary number of arbitrary executables with maximum concurrency on your Linux machine or, by changing a key of a dictionary, on the largest HPC platforms available to scientists.

```python
import radical.pilot as rp

# Create a session
session = rp.Session()

# Create a pilot manager and a pilot
pmgr = rp.PilotManager(session=session)
pd_init = {'resource': 'local.localhost',
'runtime' : 30,
'cores' : 4}
pdesc = rp.PilotDescription(pd_init)
pilot = pmgr.submit_pilots(pdesc)

# Crate a task manager and describe your tasks
tmgr = rp.TaskManager(session=session)
tmgr.add_pilots(pilot)
tds = list()
for i in range(8):
td = rp.TaskDescription()
td.executable = 'sleep'
td.arguments = ['10']
tds.append(td)

# Submit your tasks for execution
tmgr.submit_tasks(tds)
tmgr.wait_tasks()

# Close your session
session.close(cleanup=True)
```

## Documentation

Full system description and usage examples are available at:
https://radicalpilot.readthedocs.io/en/stable/
Full system description and usage examples are available at: https://radicalpilot.readthedocs.io/en/stable/

Additional information is provided in the
[wiki](https://github.com/radical-cybertools/radical.pilot/wiki) section of RP
GitHub repository.
Additional information is provided in the [wiki](https://github.com/radical-cybertools/radical.pilot/wiki) section of RP GitHub repository.

## Code

Expand Down

0 comments on commit 7f7a926

Please sign in to comment.