From ef6aa527d6fcf74f6e8a3340997b4a2c144bc3be Mon Sep 17 00:00:00 2001 From: sWX1071736 Date: Tue, 23 Apr 2024 16:34:31 +0700 Subject: [PATCH] Ray OBS support Signed-off-by: Sergei --- reps/2024-04-24-ray-obs-support.md | 103 +++++++++++++++++++++++ reps/2024-04-24-ray-obs-support/fig1.png | Bin 0 -> 33145 bytes reps/2024-04-24-ray-obs-support/fig2.png | Bin 0 -> 59411 bytes 3 files changed, 103 insertions(+) create mode 100644 reps/2024-04-24-ray-obs-support.md create mode 100644 reps/2024-04-24-ray-obs-support/fig1.png create mode 100644 reps/2024-04-24-ray-obs-support/fig2.png diff --git a/reps/2024-04-24-ray-obs-support.md b/reps/2024-04-24-ray-obs-support.md new file mode 100644 index 0000000..5e2e018 --- /dev/null +++ b/reps/2024-04-24-ray-obs-support.md @@ -0,0 +1,103 @@ +## Summary + +### General Motivation + +Ray users can use the submit_job Api to send jobs to the ray cluster. + +At the same time, they can specify the location of the project's working directory in a remote file system, for example s3. + +This document suggests expanding the list of supported file systems and adding support for OBS [(Object Storage Service)](https://support.huaweicloud.com/intl/en-us/productdesc-obs/en-us_topic_0045853681.html). + +After the implementation of this improvement, the user will be able to run submit tasks specifying the location of the working directory in OBS. + + +The use case of submitting ray job via obs is shown in Figure 1: + +- First, the user starts the remote ray cluster, and then uploads the codes to the obs; + +- Second, the user submits ray job to the ray cluster using the submit_job APIs, as well as setting the obs path in the submit_job API + +- Third, after submitting the ray job, the ray cluster automatically downloads, uncompresses, and executes the codes from the OBS + +![Figure 1](2024-04-24-ray-obs-support/fig1.png) + + +### Should this change be within `ray` or outside? + +main `ray` project. Changes are made to Ray core components. + +## Stewardship + +### Required Reviewers + +- @jjyao +- @ericl + + +### Shepherd of the Proposal (should be a senior committer) + +- @ericl + + +### Design and Architecture + +To submit a Ray job through OBS, perform the following steps: + +1. Compress the code into a zip or jar package and put it in OBS + +2. You can use environment variables or configuration files to access the AK, SK, and Endpoint of OBS + +3. When you submit a ray job, specify the path of the OBS service + +```python +job_id = client.submit_job( + entrypoint="python script.py", + runtime_env={"working_dir": "obs://example_bucket/example_file.zip"} +) +``` + +4. The ray cluster automatically downloads the example_file.zip from the specified OBS bucket, decompresses it, and then runs the entry file script.py in the working dir path + + +## Design Insights + +Modify the source code of Ray so that it can download and run the OBS code as follows: + +1. Parse the OBS path, for example, "obs://example_bucket/example_file.zip"; + +2. Read the AK, SK, and endpoint of OBS through environment variables and configuration files to access the remote OBS path. + +3. Download the example_file.zip from the specified OBS bucket, decompress it, and execute the user's code + +We can extend the ray project to support obs protocol, enabling the ray cluster to parse the obs URI and download the codes from obs: + +1. parse obs URI, such as "obs://example_bucket/example_file.zip"; + +2. config the obs AK, SK, and Endpoint via environment variables and config files; + +3. the ray cluster automatically downloads and execute the codes from obs. + +## Implementation Analysis + +To extend the ray project for obs, we first need to figure out the workflow of parsing and accessing remote URIs, which is shown in Figure 2. +![Figure 2](2024-04-24-ray-obs-support/fig2.png) + + +After the user submitting remote ray jobs, the ray cluster calls download_and_unpack_package function to download and uncrompress the remote files, as shown in Figure 2. To extend the ray project for OBS, we should extend the download_and_unpack_package function to support the OBS scheme, which is implemented via the following two steps. + +**Step 1**: Extend the **parse_uri** function to parse the OBS URIs, which is implemented in the file [ray/_private/runtime_env/packaging](https://github.com/ray-project/ray/blob/master/python/ray/_private/runtime_env/packaging.py). + +**Step 2**: Extend the third-party library [smart_open](https://github.com/piskvorky/smart_open) to read OBS objects, which is suggested to implement 3 interfaces, i.e., parse uri, open_uri, and open, as shown in Extending smart_open. + + + +The 3 interfaces in smart_open have their own intents: + +**parse_uri** : parse the remote URI "obs://bucketId/keyId" to obtain the following info: obs (scheme), bucketId, keyId. + +**open_uri** : using the parsed URI info to open the remote objects and call the open API to return an IO stream + +**open** : access the remote object and open it as an IO stream + + +It is worth noting that we can extend the open API to access the OBS objects, which can be implemented to call the wrapper functions based on [obs SDK](https://pypi.org/project/esdk-obs-python/). \ No newline at end of file diff --git a/reps/2024-04-24-ray-obs-support/fig1.png b/reps/2024-04-24-ray-obs-support/fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..83cab8332efbddfc5a6bb0d434f9b1b7e3184c58 GIT binary patch literal 33145 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