Environment

Software: Uniffle 0.2.0 Hadoop 2.8.5 Spark 2.4.6

Hardware: Machine 176 cores, 265G memory, 4T * 12 HDD, network bandwidth 10GB/s

Hadoop Yarn Cluster: 1 * ResourceManager + 6 * NodeManager, every machine 4T * 10 HDD

Uniffle Cluster: 1 * Coordinator + 6 * Shuffle Server, every machine 4T * 10 HDD

Configuration

Spark's configuration

spark.executor.instances 100
spark.executor.cores 4
spark.executor.memory 9g
spark.executor.memoryOverhead 1024
spark.shuffle.manager org.apache.spark.shuffle.RssShuffleManager
spark.rss.storage.type MEMORY_LOCALFILE

Shuffle Server's configuration

rss.storage.type MEMORY_LOCALFILE
rss.server.buffer.capacity 50g

TPC-DS

We used spark-sql-perf to generate 1TB data.

query namevanillauniffle
query11618
query103035
query118696
query121417
query1310277
query14a239254
query14b226232
query154448
query165059
query178397
query183135
query191517
query22125
query201516
query2188
query222122
query23a288366
query23b366422
query24a181198
query24b167187
query2593113
query261515
query271617
query283841
query2980102
query3911
query302126
query313040
query321415
query332630
query341216
query353439
query361518
query371620
query382736
query391519
query39a1620
query39b1419
query4205227
query403838
query4156
query42910
query431313
query442022
query453036
query461618
query472225
query482524
query495866
query55659
query505661
query512328
query52910
query531213
query545262
query55910
query562527
query572022
query582326
query592222
query63341
query602528
query612528
query621011
query631212
query64176185
query653237
query662324
query67697775
query681719
query693134
query71717
query702427
query712324
query72335350
query731214
query746899
query755867
query762121
query773537
query78151169
query791616
query81520
query80146163
query811826
query822831
query832124
query841619
query854549
query861417
query872937
query882929
query891113
query93737
query901111
query911721
query921212
query938686
query944042
query959494
query961010
query972934
query981721
query991312
total58216494

Uniffle is a little 9% slower than vanilla Spark. Because the amount of shuffle is tiny.

Tera Sort

We generate 1TB data, we use the code of the repo

Uniffle performance

Overall Time: Overall Time Write Time: Write Time Read Time: Read Time

vanilla Spark performance

Overall Time: Overall Time Write Time: Write Time Read Time: Read Time Uniffle is 30%+ much faster than vanilla Spark when there is a large shuffle.