Skip to main content
Log in

Klassisches Multi-threading versus MapReduce zur Parallelisierung rechenintensiver Tasks in der Amazon Cloud

Classical Multi-threading Versus MapReduce to Schedule CPU-intensive Tasks in parallel Using Amazon Cloud

  • Spektrum
  • Published:
HMD Praxis der Wirtschaftsinformatik Aims and scope Submit manuscript

Zusammenfassung

Der vorliegende Beitrag befasst sich mit dem Vergleich von rechenintensiven multi-threaded und MapReduce-Lösungen in einer Amazon Cloud unter Nutzung der Amazon AWS-Dienste EC2 und EMR. Als Fallbeispiel für unsere Experimente wurde ein einfaches, aber rechenintensives Geduldsspiel verwendet. Zur Ermittlung aller Lösungen mit der Brute-Force-Methode mussten 15! Permutationen ermittelt und jeweils auf die Lösungsregeln hin getestet werden. Die Implementierung unserer Experimentierlösung erfolgte in der Programmiersprache Java mit einem einfachen multi-threaded Algorithmus und alternativ mit einem MapReduce-Algorithmus. Die Lösungen wurden in Amazon-EC2/EMR-Clustern auf ihre Leistungsfähigkeit und Skalierbarkeit hin verglichen. Die Hadoop-Verarbeitungszeit skalierte annähernd linear (leicht sublinear). Für die Beurteilung der Skalierbarkeit sollten aber unseren Experimenten zufolge auch die Anzahl an Inputsplits, die Auslastung der Hardware und weitere Aspekte herangezogen werden. Der Vergleich der multi-threaded mit der MapReduce-Lösung unter Amazon EMR (Apache Hadoop) ergab, dass die Verarbeitungszeit gemessen in CPU-Minuten bei MapReduce um mehr als 30 % höher war.

Abstract

This article compares CPU-intensive multi-threaded with MapReduce solutions running in the Amazon Cloud using the AWS services EC2 and EMR. As a case study for our experiments a simple, but compute-intensive puzzle was used. In order to compute all solutions of the puzzle with a brute-force method, 15! permutations had to be calculated and tested against the rules of the puzzle. Java was used to implement our experimental solutions. We used a simple multi-threaded algorithm and a MapReduce algorithm alternatively. We compared our solutions concerning performance and scalability by using an Amazon ECR/EMR cluster. The processing time with Hadoop behaves approximately linear (slightly sublinear). In the assessment of scalability according to our experiments also the number of input splits, the hardware utilization and other aspects should be taken into account. The comparison based on Amazon EMR (Apache Hadoop) shows a 30 percent higher processing time of the MapReduce solution.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Abb. 1
Abb. 2
Abb. 3
Abb. 4
Abb. 5
Abb. 6
Abb. 7
Abb. 8
Abb. 9
Abb. 10

Notes

  1. Siehe http://stackoverflow.com/a/14444037. Zugegriffen am: 03. Juni 2017.

  2. Siehe https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html. Zugegriffen: 19. Juni 2017.

  3. Das Amdahlsche Gesetz besagt, dass mit steter Hinzunahme von Prozessoren der zu erzielende Zeitgewinn immer kleiner wird und sich sogar zu einem Zeitverlust entwickeln kann, da sich die Parallelisierung nicht auf die sequentiell auszuführenden Programmteile (Initialisierung, Synchronisation, usw.) auswirkt.

Literatur

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Peter Mandl.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Mandl, P., Döschl, A. Klassisches Multi-threading versus MapReduce zur Parallelisierung rechenintensiver Tasks in der Amazon Cloud. HMD 55, 445–461 (2018). https://doi.org/10.1365/s40702-017-0360-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1365/s40702-017-0360-z

Schlüsselwörter

Keywords

Navigation