diff --git a/ch-dask/dask-distributed.ipynb b/ch-dask/dask-distributed.ipynb index 9299d2b..6ae93e0 100644 --- a/ch-dask/dask-distributed.ipynb +++ b/ch-dask/dask-distributed.ipynb @@ -343,6 +343,8 @@ "source": [ "## 使用命令行启动一个 Dask 集群\n", "\n", + "### 启动 Dask 集群\n", + "\n", "当我们有更多的计算节点时,可以使用命令行在不同的计算节点上启动 Dask Scheduler 和 Dask Worker。比如,在 IP 地址为 `192.0.0.1` 的计算节点上启动 Dask Scheduler,在命令行里输入下面的命令。\n", "\n", "```sh\n", @@ -374,11 +376,21 @@ "Dask Scheduler 默认使用 `8786` 作为连接端口号,如果使用其他端口号,需要使用 `--port` 告知 Dask 使用该端口。\n", "\n", "```\n", - "$ dask scheduler --port 8000\n", + "$ dask scheduler --port 9786\n", "```\n", "\n", "除了 `--port` 之外,Dask Scheduler 还有很多其他参数,用户可以根据自身需要设置。\n", "\n", + "### 连接 Dask 集群\n", + "\n", + "假如 Dask Scheduler 启动后返回的地址为 `192.0.0.1:8786`,使用下面的代码连接到这个集群上,基于 Dask Array、Dask DataFrame 的 `.compute()` 的代码会自动调度到这个集群上。\n", + "\n", + "```python\n", + "from dask.distributed import Client\n", + "\n", + "client = Client(\"192.0.0.1:8786\")\n", + "```\n", + "\n", "## Python 环境和依赖包管理\n", "\n", "在集群上使用 Dask 时,要注意所有计算节点都安装所需要的 Python 依赖包。\n", diff --git a/ch-ray-cluster/ray-job.md b/ch-ray-cluster/ray-job.md index a6db76a..9357933 100644 --- a/ch-ray-cluster/ray-job.md +++ b/ch-ray-cluster/ray-job.md @@ -1,17 +1,17 @@ (sec-ray-job)= # Ray 作业 -部署好一个 Ray 集群后,我们就可以向集群上提交作业了。Ray 作业指的是用户编写的,基于 Task、Actor 或者 Ray 各类生态(Ray Train 等)的具体的计算任务。向 Ray 集群上提交作业主要有三类方式: +部署好一个 Ray 集群后,我们就可以向集群上提交作业了。Ray 作业指的是用户编写的,基于 Task、Actor 或者 Ray 各类生态(Ray Train、Ray Tune、Ray Serve、RLlib 等)的具体的计算任务。Ray 集群提供了多租户的服务,可以同时运行多个用户多种不同类型的计算任务。由于 Ray 集群提供多租户服务的特点,不同的 Ray 作业的源代码、配置文件和软件包环境不一样,因此,在提交作业时除了需要指定当前作业的 `__main__` 函数的入口外,还需要: + +* 工作目录:这个作业所需要的 Python 源代码和配置文件 +* 软件环境:这个作业所依赖的 Python 软件包和环境变量 + +向 Ray 集群上提交作业主要有三类方式,使用这三类都需要指定以上作业相关信息。 * Ray Jobs 命令行 * Python Software Development Kit (SDK) * Ray 客户端 -一个 Ray 作业除了需要 `__main__` 函数的入口外,还需要: - -* 工作目录:这个作业所需要的 Python 代码和配置文件 -* 软件环境:这个作业所依赖的 Python 软件包和环境变量 - ## Ray Jobs 命令行 ### `ray job` @@ -115,7 +115,7 @@ ray.get(gpu_task.remote()) ### 依赖管理 -Ray 集群中可能运行着不同的作业,不同作业对 Python 各个依赖的版本要求不同,Ray 提供了运行时环境的功能,比如在启动这个作业时,设置 `--runtime-env-json`,他是一个 JSON,包括:需要 `pip` 安装的 Python 包,或环境变量(`env_vars`),或工作目录(`working_dir`)。 +Ray 集群是多租户的,上面可能运行着不同的用户的作业,不同作业对 Python 各个依赖的版本要求不同,Ray 提供了运行时环境的功能,比如在启动这个作业时,设置 `--runtime-env-json`,他是一个 JSON,包括:需要 `pip` 安装的 Python 包,或环境变量(`env_vars`),或工作目录(`working_dir`)。Ray 集群的运行时环境大概原理是为每个作业创建一个独立的虚拟环境([virtualenv](https://virtualenv.pypa.io/))。 ```json { diff --git a/index.md b/index.md index 816cc3c..a3909c5 100644 --- a/index.md +++ b/index.md @@ -93,7 +93,7 @@ Dask、Ray、Xorbits、mpi4py 鲁蔚征 ^^^ -中国人民大学助理研究员,CCF高性能计算专业委员会执行委员,主要研究大数据与机器学习系统,《Flink原理与实践》作者。 +现就职于中国人民大学,CCF高性能计算专业委员会执行委员,主要研究大数据与机器学习系统,《Flink原理与实践》作者。 ::: :::{grid-item-card} @@ -103,7 +103,7 @@ Dask、Ray、Xorbits、mpi4py 秦续业 ^^^ -未来速度联合创始人兼 CEO,开源项目 Xorbits 负责人,前阿里巴巴技术专家,所开发的开源项目在 GitHub 上共收获 5k 星。 +未来速度联合创始人兼 CEO,开源项目 Xorbits 负责人,前阿里巴巴技术专家,主导开发了多款开源项目。 ::: ::::