You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@celeborn.apache.org by "AngersZhuuuu (via GitHub)" <gi...@apache.org> on 2023/06/02 07:19:39 UTC
[GitHub] [incubator-celeborn] AngersZhuuuu opened a new pull request, #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
AngersZhuuuu opened a new pull request, #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536
### What changes were proposed in this pull request?
Add doc about enable rac-awareness
<img width="1085" alt="截屏2023-06-02 下午3 19 10" src="https://github.com/apache/incubator-celeborn/assets/46485123/c8c51a4c-40be-40ea-befd-3c369b9f7600">
### Why are the changes needed?
### Does this PR introduce _any_ user-facing change?
### How was this patch tested?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] AngersZhuuuu commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "AngersZhuuuu (via GitHub)" <gi...@apache.org>.
AngersZhuuuu commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1214400599
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by set conf `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
+Shuffle partition block replica placement will use rack awareness for fault tolerance by placing one shuffle partition replica
+on a different rack. This provides data availability in the event of a network switch failure or partition within the cluster.
+
+Celeborn master daemons obtain the rack id of the cluster workers by invoking either an external script or java class as specified by configuration files.
+Using either the java class or external script for topology, output must adhere to the java `org.apache.hadoop.net.DNSToSwitchMapping` interface.
+The interface expects a one-to-one correspondence to be maintained and the topology information in the format of `/myrack/myhost`,
+where `/` is the topology delimiter, `myrack` is the rack identifier, and `myhost` is the individual host.
+Assuming a single `/24` subnet per rack, one could use the format of `/192.168.100.0/192.168.100.5` as a unique rack-host topology mapping.
+
+To use the java class for topology mapping, the class name is specified by the `celeborn.hadoop.net.topology.node.switch.mapping.impl` parameter in the master configuration file.
Review Comment:
Done
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by set conf `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
Review Comment:
Done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] pan3793 commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1214379794
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by set conf `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
+Shuffle partition block replica placement will use rack awareness for fault tolerance by placing one shuffle partition replica
+on a different rack. This provides data availability in the event of a network switch failure or partition within the cluster.
+
+Celeborn master daemons obtain the rack id of the cluster workers by invoking either an external script or java class as specified by configuration files.
+Using either the java class or external script for topology, output must adhere to the java `org.apache.hadoop.net.DNSToSwitchMapping` interface.
+The interface expects a one-to-one correspondence to be maintained and the topology information in the format of `/myrack/myhost`,
+where `/` is the topology delimiter, `myrack` is the rack identifier, and `myhost` is the individual host.
+Assuming a single `/24` subnet per rack, one could use the format of `/192.168.100.0/192.168.100.5` as a unique rack-host topology mapping.
+
+To use the java class for topology mapping, the class name is specified by the `celeborn.hadoop.net.topology.node.switch.mapping.impl` parameter in the master configuration file.
Review Comment:
java class => Java class, multi places
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] AngersZhuuuu commented on pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "AngersZhuuuu (via GitHub)" <gi...@apache.org>.
AngersZhuuuu commented on PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#issuecomment-1573273411
ping @pan3793 @waitinfuture
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] AngersZhuuuu commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "AngersZhuuuu (via GitHub)" <gi...@apache.org>.
AngersZhuuuu commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1215637138
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by setting `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
+Shuffle partition block replica placement will use rack awareness for fault tolerance by placing one shuffle partition replica
+on a different rack. This provides data availability in the event of a network switch failure or partition within the cluster.
+
+Celeborn master daemons obtain the rack id of the cluster workers by invoking either an external script or Java class as specified by configuration files.
+Using either the Java class or external script for topology, output must adhere to the java `org.apache.hadoop.net.DNSToSwitchMapping` interface.
+The interface expects a one-to-one correspondence to be maintained and the topology information in the format of `/myrack/myhost`,
+where `/` is the topology delimiter, `myrack` is the rack identifier, and `myhost` is the individual host.
+Assuming a single `/24` subnet per rack, one could use the format of `/192.168.100.0/192.168.100.5` as a unique rack-host topology mapping.
+
+To use the Java class for topology mapping, the class name is specified by the `celeborn.hadoop.net.topology.node.switch.mapping.impl` parameter in the master configuration file.
+An example, `NetworkTopology.java`, is included with the Celeborn distribution and can be customized by the Celeborn administrator.
+Using a Java class instead of an external script has a performance benefit in that Celeborn doesn't need to fork an external process when a new worker node registers itself.
+
+If implementing an external script, it will be specified with the `celeborn.hadoop.net.topology.script.file.name parameter` in the master side configuration files.
Review Comment:
> `celeborn.hadoop.net.topology.script.file.name parameter` is it desired or a typo?
typo
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] pan3793 commented on pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#issuecomment-1575948761
Thanks, merged to master/0.3
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] pan3793 closed pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 closed pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
URL: https://github.com/apache/incubator-celeborn/pull/1536
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] pan3793 commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1214433311
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by setting `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
+Shuffle partition block replica placement will use rack awareness for fault tolerance by placing one shuffle partition replica
+on a different rack. This provides data availability in the event of a network switch failure or partition within the cluster.
+
+Celeborn master daemons obtain the rack id of the cluster workers by invoking either an external script or Java class as specified by configuration files.
+Using either the Java class or external script for topology, output must adhere to the java `org.apache.hadoop.net.DNSToSwitchMapping` interface.
+The interface expects a one-to-one correspondence to be maintained and the topology information in the format of `/myrack/myhost`,
+where `/` is the topology delimiter, `myrack` is the rack identifier, and `myhost` is the individual host.
+Assuming a single `/24` subnet per rack, one could use the format of `/192.168.100.0/192.168.100.5` as a unique rack-host topology mapping.
+
+To use the Java class for topology mapping, the class name is specified by the `celeborn.hadoop.net.topology.node.switch.mapping.impl` parameter in the master configuration file.
+An example, `NetworkTopology.java`, is included with the Celeborn distribution and can be customized by the Celeborn administrator.
+Using a Java class instead of an external script has a performance benefit in that Celeborn doesn't need to fork an external process when a new worker node registers itself.
+
+If implementing an external script, it will be specified with the `celeborn.hadoop.net.topology.script.file.name parameter` in the master side configuration files.
Review Comment:
`celeborn.hadoop.net.topology.script.file.name parameter` is it desired or a typo?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] codecov[bot] commented on pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "codecov[bot] (via GitHub)" <gi...@apache.org>.
codecov[bot] commented on PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#issuecomment-1573288229
## [Codecov](https://app.codecov.io/gh/apache/incubator-celeborn/pull/1536?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
> Merging [#1536](https://app.codecov.io/gh/apache/incubator-celeborn/pull/1536?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (a8ed1e7) into [main](https://app.codecov.io/gh/apache/incubator-celeborn/commit/4f1ca8c960eba453d6abd64a1a2beaeb28a8ecf2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (4f1ca8c) will **not change** coverage.
> The diff coverage is `n/a`.
```diff
@@ Coverage Diff @@
## main #1536 +/- ##
=======================================
Coverage 45.91% 45.91%
=======================================
Files 158 158
Lines 9888 9888
Branches 967 967
=======================================
Hits 4539 4539
Misses 5048 5048
Partials 301 301
```
:mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] pan3793 commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "pan3793 (via GitHub)" <gi...@apache.org>.
pan3793 commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1214376932
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by set conf `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
Review Comment:
... by setting ...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-celeborn] AngersZhuuuu commented on a diff in pull request #1536: [CELEBORN-629][DOC] Add doc about enable rac-awareness
Posted by "AngersZhuuuu (via GitHub)" <gi...@apache.org>.
AngersZhuuuu commented on code in PR #1536:
URL: https://github.com/apache/incubator-celeborn/pull/1536#discussion_r1215637218
##########
docs/configuration/index.md:
##########
@@ -151,6 +151,35 @@ If you have 8192 mapper tasks, you could set `spark.celeborn.push.maxReqsInFligh
If `celeborn.worker.flush.buffer.size` is 256 KB, we can have total slots up to 327680 slots.
+## Rack Awareness
+
+Celeborn can be rack-aware by setting `celeborn.client.reserveSlots.rackware.enabled` to `true` on client side.
+Shuffle partition block replica placement will use rack awareness for fault tolerance by placing one shuffle partition replica
+on a different rack. This provides data availability in the event of a network switch failure or partition within the cluster.
+
+Celeborn master daemons obtain the rack id of the cluster workers by invoking either an external script or Java class as specified by configuration files.
+Using either the Java class or external script for topology, output must adhere to the java `org.apache.hadoop.net.DNSToSwitchMapping` interface.
+The interface expects a one-to-one correspondence to be maintained and the topology information in the format of `/myrack/myhost`,
+where `/` is the topology delimiter, `myrack` is the rack identifier, and `myhost` is the individual host.
+Assuming a single `/24` subnet per rack, one could use the format of `/192.168.100.0/192.168.100.5` as a unique rack-host topology mapping.
+
+To use the Java class for topology mapping, the class name is specified by the `celeborn.hadoop.net.topology.node.switch.mapping.impl` parameter in the master configuration file.
+An example, `NetworkTopology.java`, is included with the Celeborn distribution and can be customized by the Celeborn administrator.
+Using a Java class instead of an external script has a performance benefit in that Celeborn doesn't need to fork an external process when a new worker node registers itself.
+
+If implementing an external script, it will be specified with the `celeborn.hadoop.net.topology.script.file.name parameter` in the master side configuration files.
Review Comment:
Fixed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@celeborn.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org