2016-10-31 69 views
0

我有一个具有gpu节点(nvidia)的集群并部署了DC/OS 1.8。我想启用使用gpu隔离在gpu节点上安排作业(批处理和火花)。 DC/OS基于支持gpu隔离的mesos 1.0.1。在DC/OS上启用GPU资源(CUDA)

+2

如果你可以用你已经尝试或发现自己的东西来扩展你的问题,那将是非常好的。 –

回答

2

为了使支撑GPU资源在DC/OS簇所需的下一个步骤:在GPU节点

  1. 配置mesos剂:
    1.1。停止DCOS-mesos-slave.service

    systemctl stop dcos-mesos-slave.service

    1.2。接下来的参数添加到的/ var/lib中/ DCOS/mesos,从常见文件:

    # a comma separated list of GPUs (id), as determined by running nvidia-smi on the host where the agent is to be launched MESOS_NVIDIA_GPU_DEVICES="0,1"

    # value of the gpus resource must be complied with number of ids above MESOS_RESOURCES= [ {"name":"ports","type":"RANGES","ranges": {"range": [{"begin": 1025, "end": 2180},{"begin": 2182, "end": 3887},{"begin": 3889, "end": 5049},{"begin": 5052, "end": 8079},{"begin": 8082, "end": 8180},{"begin": 8182, "end": 32000}]}} ,{"name": "gpus","type": "SCALAR","scalar": {"value": 2}}]

    MESOS_ISOLATION=cgroups/cpu,cgroups/mem,disk/du,network/cni,filesystem/linux,docker/runtime,docker/volume,cgroups/devices,gpu/nvidia

    1.3。启动DCOS-mesos-slave.service

    systemctl start dcos-mesos-slave.service

  2. 在mesos框架启用GPU_RESOURCES能力:

    2.1。 Marathon框架应该与选项 --enable_features "gpu_resources"

    2.2。极光调度应与选项-allow_gpu_resource

注推出。

任何运行具有Nvidia GPU支持的Mesos代理的主机都必须安装有效的Nvidia内核驱动程序。强烈建议安装相应的用户级库和工具作为Nvidia CUDA工具包的一部分。许多使用Nvidia GPU的作业都依赖于CUDA,但不包括它会严重限制您可以在Mesos上运行的GPU感知作业的类型。

+1

你会碰巧知道如何为马拉松框架设置'--enable_features“gpu_resources”'。而要清楚的是,这是关于马拉松嵌入mesos,而不是你可以从宇宙正确运行的服务? –

+1

没有马拉松嵌入到mesos中。 dcos中嵌入了马拉松。您可以在dcos中创建独立的马拉松服务,也可以在独立的mesos群集上创建独立的马拉松服务。要在Marathon中启用gpu_resources,请执行以下操作:1)独立的mesos群集:添加到文件'/ etc/marathon/conf/enable_features'中的内容:',gpu_resources'; 2)对于dcos,你必须在marathon守护进程参数中加入选项'--enable_features ='gpu_resources''来编辑马拉松系统单元文件('/ etc/systemd/system/dcos-marathon.service')一个更好的方法) – Kr0t

3

不幸的是,DC/OS不正式支持的GPU在1.8(实验对GPU的支持,将在下一版本中来这里提到:https://github.com/dcos/dcos/pull/766)。

在这个下一个版本中,只有Marathon才能正式启动GPU服务(节拍器(即批量作业)不会)。

关于spark,与Universe捆绑在一起的spark版本可能不支持Mesos构建的GPU。 Spark本身即将推出:https://github.com/apache/spark/pull/14644

+1

有没有一个文档/参考,说节拍器不支持GPU呢?我找不到一个。 1.9.1似乎也不需要这种支持。 我们也有要求使用基于计划的作业,而不是基于马拉松的基于服务的实例。 – Dharmi