rickyma commented on code in PR #1650: URL: https://github.com/apache/incubator-uniffle/pull/1650#discussion_r1567559025
########## docs/benchmark_netty.md: ########## @@ -0,0 +1,132 @@ +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one or more + ~ contributor license agreements. See the NOTICE file distributed with + ~ this work for additional information regarding copyright ownership. + ~ The ASF licenses this file to You under the Apache License, Version 2.0 + ~ (the "License"); you may not use this file except in compliance with + ~ the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +## Environment + +### Software + +Uniffle 0.9.0, Hadoop 2.8.5, Spark 3.3.1 + +### Hardware + +#### Uniffle Cluster + +| Cluster Type | Memory | CPU Cores | Disk Configuration for Every Shuffle Server | Max IO Read/Write Speed | Quantity | Network Bandwidth | +|--------------|--------|-----------|---------------------------------------------|-------------------------|---------------------------------------|-------------------| +| HDD | 250G | 96 | 10 * 4T HDD | 150MB/s | 2 * Coordinator + 10 * Shuffle Server | 25GB/s | +| SSD | 250G | 96 | 1 * 6T NVME | 3GB/s | 2 * Coordinator + 10 * Shuffle Server | 25GB/s | + +#### Hadoop Yarn Cluster + +2 * ResourceManager + 750 * NodeManager, every machine 12 * 4T HDD + +## Configuration + +Spark's configuration: + + ```` + spark.speculation false + spark.executor.instances 1400 + spark.executor.cores 2 + spark.executor.memory 20g + spark.executor.memoryOverhead 1024 + spark.shuffle.manager org.apache.spark.shuffle.RssShuffleManager + spark.sql.shuffle.partitions 20000 Review Comment: You're right. What I'm trying to express is that the goal of Uniffle should primarily be to serve scenarios with large shuffle data size and high concurrency. Given that it's large data size, using TPC-DS to test would undoubtedly be very time-consuming, so it's impossible to run all SQL of TPC-DS. If we reduce the data size, the time consumption will also decrease, but this test result will be meaningless, because Uniffle mainly focuses on large data size scenarios. I'm not saying that we shouldn't consider optimizing Uniffle's performance at all, but in scenarios with small concurrency and small shuffle size, no matter how much we optimize Uniffle, it can't match the performance of Vanilla Spark/Spark ESS (if they also use SSD), which is not Uniffle's advantage, so there's no need to compare this part in my view. What we should compare are scenarios with 5000, 10000, 20000, 30000 and higher concurrency, not less than 1000... This is actually what I mean... -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
