Apache Spark 2.x Benchmarking

Last, but not least, we have Apache Spark. Apache Spark is the poster child of Big Data processing. Speeding up Big Data applications is the top priority project at the university lab I work for (Sizing Servers Lab of the University College of West-Flanders), so we produced a benchmark that uses many of the Spark features and is based upon real world usage.

The test is described in the graph above. We first start with 300 GB of compressed data gathered from the CommonCrawl. These compressed files are a large amount of web archives. We decompress the data on the fly to avoid a long wait that is mostly storage related. We then extract the meaningful text data out of the archives by using the Java library "BoilerPipe". Using the Stanford CoreNLP Natural Language Processing Toolkit, we extract entities ("words that mean something") out of the text, and then count which URLs have the highest occurrence of these entities. The Alternating Least Square algorithm is then used to recommend which URLs are the most interesting for a certain subject.

To get better scaling, we run with 4 executors. Researcher Esli Heyvaert reconfigured the Spark benchmark so it could run on Apache Spark 2.1.1.

Here are the results:

Apache Spark 2.1.1

(*) EPYC and Xeon E5 V4 are older results, run on Kernel 4.8 and a slightly older Java 1.8.0_131 instead of 1.8.0_161. Though we expect that the results would be very similar on kernel 4.13 and Java 1.8.0_161, as we did not see much difference on the Skylake Xeon between those two setups.

Data processing is very parallel and extremely CPU intensive, but the shuffle phases require a lot of memory interactions. The time spent on storage I/O is negligible. The ALS phase does not scale well over many threads, but is less than 4% of the total testing time.

The ThunderX2 delivers 87% of the performance of the twice as expensive EPYC 7601. Since this benchmark scales well with the number of cores, we can estimate that the Xeon 6148 will score around 4.8. So while the ThunderX2 can not really threaten the Xeon Platinum 8176, it gives the Gold 6148 and its ilk a run for their money.

Java Performance: Huge Pages Investigated What We Can Conclude: So Far
Comments Locked

97 Comments

View All Comments

  • Wilco1 - Wednesday, May 23, 2018 - link

    That's your uninformed opinion... Microsoft has different plans.
  • ZolaIII - Thursday, May 24, 2018 - link

    Windows is DOA anyway. M$ makes more money this day's on Linux then it does on Window's combined. Only thing making it still alive is MS Office but even that will change in couple of years.
  • Wilco1 - Thursday, May 24, 2018 - link

    Calling Windows dead when it ships on 95+% of PCs sold is eh... a little bit premature. Get back to me when 50+% of PCs ship with Linux instead of Windows.
  • ZolaIII - Friday, May 25, 2018 - link

    Get back to me when windows ships with 5% in; servers, embedded, router's, smartphones...
  • jimbo2779 - Thursday, May 24, 2018 - link

    In what way is it making more from Linux?
  • ZolaIII - Friday, May 25, 2018 - link

    https://www.computerworld.com/article/3271085/micr...
    Even your Windows PC, Office and everything else from Microsoft this day's is backed up by a cloud which is Linux based.
  • defaultluser - Wednesday, May 23, 2018 - link

    Page 11 has "Apache Spark and Energy Consumption" in the title, but the page only contains
    Apache Spark results. WHERE IS THE ENERGY CONSUMPTION?

    We need power consumption tests during benchmarks to show if the architecture has better perf/watt than Intel. Otherwise, why did you publish this obviously incomplete article?
  • Ryan Smith - Wednesday, May 23, 2018 - link

    Whoops. Sorry, that was a small section that was moved to page 5.
  • ruthan - Wednesday, May 23, 2018 - link

    Well, where is the most important chart performance per dollar comparison with x86 solution?

    That virtualization support, is some arm specific yes i we need feature and proprietary hell like Lpars.. or its finally support Vmware? - that means virtualization.

    Where is could it run Crysis test?
  • HStewart - Wednesday, May 23, 2018 - link

    VMWare is not currently support - and probably not for a long time - unless they ran in emulation mode and it would slower than Atom

    https://kb.vmware.com/s/article/1003882

Log in

Don't have an account? Sign up now