Konzeption von Data Mining-Prozessen im Kontext von massiv parallelen Architekturen Inauguraldissertation zur Erlangung der Würde eines Doktors der Wirtschaftswissenschaft der Fakultät für Wirtschaftswissenschaft der Ruhr-Universität Bochum vorgelegt von Christian Klimetzek aus Beckum 2013 Dekan: Prof. Dr. Helmut Karl Referent: Prof. Dr. Roland Gabriel Korreferent: Prof. Dr. York Tüchelmann Tag der mündlichen Prüfung: 13.02.2013 Berichte aus der Wirtschaftsinformatik Christian Klimetzek Konzeption von Data Mining-Prozessen im Kontext von massiv parallelen Architekturen Dissertation Shaker Verlag Aachen 2013 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Zugl.: Bochum, Univ., Diss., 2013 Copyright Shaker Verlag 2013 Alle Rechte, auch das des auszugsweisen Nachdruckes, der auszugsweisen oder vollständigen Wiedergabe, der Speicherung in Datenverarbeitungsanlagen und der Übersetzung, vorbehalten. Printed in Germany. ISBN 978-3-8440-1869-1 ISSN 1438-8081 Shaker Verlag GmbH • Postfach 101818 • 52018 Aachen Telefon: 02407 / 95 96 - 0 • Telefax: 02407 / 95 96 - 9 Internet: www.shaker.de • E-Mail: [email protected] “One of the things I want to say about performance is that a lot of people seem to think that performance is about doing the same thing, just doing it faster, and that is not true. That is not what performance is all about. If you can do something really fast, really well, people will start using it differently.” --- Torvalds, 2007 “As for the future, it will be stranger than we can imagine. The spreading computing infrastructure will offer untold opportunities for learning. Data mining will be in there, behind the scenes, playing a role that will turn out to be foundational.” --- Frank, Witten & Hall, 2011 Geleitwort Unternehmungen stehen heute bei zunehmender Digitalisierung und Vernetzung vor großen Herausforderungen bei der Gestaltung und beim Einsatz leistungsfähiger Informationssysteme Dies gilt vor allem für die Bereitstellung und Auswertung großer Datenmengen (Big Data). Moderne Lösungsansätze, die im Begriff Business Intelligence (BI) zusammengefasst werden, bieten hier erfolgreiche Unterstützungsmöglichkeiten, die auf Data Warehouse-Konzepten basieren. Ziel ist es, relevante Informationen zu generieren und diese zur Analyse und Entscheidungsvorbereitung der gegebenen betriebswirtschaftlichen Problemstellung auszuwerten. Hierbei offenbaren sich zwei zentrale Problematiken: Zum einen ist es notwendig, die Extraktion von Informationen aus den gegebenen Daten zu ermöglichen und zum anderen ist dies in einer für alle Beteiligten akzeptablen Geschwindigkeit durchzuführen. Als grundlegender Begriff für das Aufdecken von Informationen in großen Datenmengen spielt das Gebiet des Data Mining eine wichtige Rolle. Data Mining tritt hier als interdisziplinäres Forschungsfeld in Erscheinung und soll helfen, Datenanalysen auch in komplexen Umfeldern und Fragestellungen zu ermöglichen. Insbesondere die Erforschung von Regel- und Gesetzmäßigkeiten sowie unterliegenden Trends und Mustern steht dabei im Vordergrund. Die Frage nach einer akzeptablen Verarbeitungsgeschwindigkeit ist hierbei besonders interessant da, begingt durch die Entwicklungen der vergangenen Jahre, parallele HardwareArchitekturen zunehmend wieder in den Fokus der allgemeinen Software-Entwicklung rücken. Diese Entwicklung ist dabei vor allem vor dem Hintergrund zu betrachten dass, obwohl derartige Architekturen in der Theorie hohe Geschwindigkeiten versprechen, diese in der Praxis nicht immer problemlos zu erreichen sind. Die vorliegende Arbeit von Dr. Christian Klimetzek liefert hier einen Ansatz, beide Forschungsfelder zusammenzubringen. Sie geht dabei sowohl auf die organisatorischen als auch technischen Herausforderungen eines solchen Unterfangens ein. Die vorgestellte Vorgehensweise fußt auf einer ausführlichen Betrachtung der notwendigen Grundlagen beider Forschungsfelder und beschreibt anhand von Praxisbeispielen, wie die Beschleunigung eines Data Mining-Prozesses auf einer parallelen Architektur geplant und durchgeführt werden kann. Besonders beachtenswert ist hier die ganzheitliche Würdigung aller Teilprobleme, welche durch den vorgestellten Ansatz abgedeckt und betrachtet werden. Bochum, März 2013 Roland Gabriel Danksagung Mein Dank gilt allen, die mich über die Jahre freundlich und unterstützend begleitet haben. Insbesondere möchte ich meinen Eltern danken, ohne die ich sicherlich nicht diesen Weg beschritten hätte. Mein besonderer Dank gilt auch meiner Frau Katrin für die liebevolle und geduldige Unterstützung. Bochum, März 2013 Christian Klimetzek Seite |I Inhaltsverzeichnis INHALTSVERZEICHNIS ...................................................................................................................................................... I ABKÜRZUNGSVERZEICHNIS ............................................................................................................................................. IV ABBILDUNGSVERZEICHNIS .............................................................................................................................................. VI TABELLENVERZEICHNIS ................................................................................................................................................. VII FORMELVERZEICHNIS ................................................................................................................................................... VII QUELLCODEVERZEICHNIS ............................................................................................................................................. VIII 1 2 EINFÜHRUNG UND PROBLEMSTELLUNG ...................................................................................................... 1 1.1 PROBLEMSTELLUNG UND MOTIVATION.................................................................................................................... 2 1.2 ZIELSETZUNG UND FORSCHUNGSFRAGEN ................................................................................................................. 5 1.3 AUFBAU DER ARBEIT ............................................................................................................................................ 6 DATA MINING UND KNOWLEDGE DISCOVERY IN DATABASES ALS PROZESSE ZUR INFORMATIONSGEWINNUNG ............................................................................................................................... 9 2.1 DEFINITION UND ABGRENZUNG VON KDD UND DATA MINING .................................................................................. 11 2.2 BETRIEBSWIRTSCHAFTLICHE ANWENDUNGSGEBIETE VON KDD UND DATA MINING PROZESSEN ....................................... 28 2.2.1 Web Mining ......................................................................................................................................... 31 2.2.2 Text Mining ......................................................................................................................................... 33 2.2.3 Spatial Data Mining ............................................................................................................................ 36 2.3 EIGENSCHAFTEN VON DATEN IM DATA MINING-PROZESS ......................................................................................... 37 2.3.1 Stetige und diskrete Werte ................................................................................................................. 38 2.3.2 Skalenniveaus ...................................................................................................................................... 40 2.3.3 Qualität und Quantität ....................................................................................................................... 43 2.3.4 Merkmalstypen und ihre Eigenschaften ............................................................................................. 43 2.4 DATA MINING AUS PROZESSORIENTIERTER SICHT .................................................................................................... 44 2.4.1 Extraktion ............................................................................................................................................ 45 2.4.2 Selektion .............................................................................................................................................. 47 2.4.3 Vorverarbeitung .................................................................................................................................. 49 2.4.4 Transformation ................................................................................................................................... 54 2.4.5 Methodenanwendung ......................................................................................................................... 56 2.4.6 Ergebnisdarstellung ............................................................................................................................ 56 2.5 METHODENKLASSEN IM DATA MINING .................................................................................................................. 57 2.5.1 Klassifikation ....................................................................................................................................... 59 2.5.2 Kategorisierung ................................................................................................................................... 64 2.5.3 Prognose ............................................................................................................................................. 80 2.5.4 Assoziation .......................................................................................................................................... 81 II | S e i t e 3 PARALLELE KONZEPTE UND ARCHITEKTUREN ............................................................................................ 85 3.1 ANWENDUNGSFELDER FÜR PARALLELE VERARBEITUNG ............................................................................................. 86 3.2 MOTIVE FÜR DEN EINSATZ PARALLELER BERECHNUNGSANSÄTZE ................................................................................ 94 3.2.1 Geld- und/oder Zeitersparnis .............................................................................................................. 94 3.2.2 Lösen „großer“ Probleme ................................................................................................................... 95 3.2.3 Nutzung von nicht-lokalen Ressourcen .............................................................................................. 96 3.2.4 Limitationen sequenzieller Prozessoren ............................................................................................. 97 3.3 4 3.3.1 Flynns Taxonomie ............................................................................................................................. 103 3.3.2 Erweiterungen zu Flynns Taxonomie ................................................................................................ 119 3.4 SPEEDUP UND EFFEKTIVITÄT .............................................................................................................................. 123 3.5 AMDAHLSCHES GESETZ .................................................................................................................................... 123 3.6 GUSTAFSONS GESETZ ....................................................................................................................................... 125 3.7 KLASSIFIKATION VON PROBLEMEN IN BEZUG AUF IHRE PARALLELE LÖSBARKEIT ........................................................... 128 3.7.1 Sequenzielle Probleme - SP ............................................................................................................... 129 3.7.2 Parallel lösbare Probleme mit Abhängigkeiten - PPmA ................................................................... 131 3.7.3 Parallel lösbare Probleme ohne Abhängigkeiten - PPoA.................................................................. 133 3.7.4 Problemklassen Charakteristika ....................................................................................................... 134 PARALLELISIERUNGSSTRATEGIEN UND DEREN BEWERTUNG ................................................................... 135 4.1 PARALLELISIERUNGSSTRATEGIEN ........................................................................................................................ 136 4.1.1 Aufgabenparallelität......................................................................................................................... 136 4.1.2 Datenparallelität .............................................................................................................................. 140 4.2 KONTROLL- UND STEUERSTUKTUREN FÜR PARALLELE DATENFLÜSSE .......................................................................... 141 4.2.1 Mutex ................................................................................................................................................ 142 4.2.2 Barrier ............................................................................................................................................... 144 4.2.3 Semaphore ........................................................................................................................................ 145 4.2.4 Message Passing............................................................................................................................... 147 4.3 5 KLASSIFIKATION VON SEQUENZIELLER UND PARALLELER VERARBEITUNG..................................................................... 101 BEWERTUNG VON PARALLELISIERUNGSSTRATEGIEN IN KOMBINATION MIT PARALLELEN HARDWARE-ARCHITEKTUREN ....... 149 4.3.1 Hardwarearchitekturen .................................................................................................................... 150 4.3.2 Softwarestrategien ........................................................................................................................... 153 KONZEPTION EINES AUF PARALLELE MUSTEREXTRAKTIONSVERFAHREN OPTIMIERTEN KDD- UND DATA MINING-PROZESSES .......................................................................................................................................... 157 6 5.1 MUSTEREXTRAKTION ....................................................................................................................................... 162 5.2 DATA MINING-PROZESS ................................................................................................................................... 165 5.3 KDD-PROZESS................................................................................................................................................ 168 ANWENDUNGSSZENARIEN FÜR PARALLELE KDD- UND DATA MINING-PROZESSE ................................... 173 S e i t e | III 7 8 6.1 IMPLEMENTIERUNG VON DATENPARALLELITÄT AUF GPGPU ................................................................................... 174 6.2 SZENARIO - KUNDENSEGMENTIERUNG DURCH CLUSTERVERFAHREN .......................................................................... 175 6.3 SZENARIO - SPRACH- UND THEMENKLASSIFIKATION VON DOKUMENTEN .................................................................... 186 MESSERGEBNISSE DER IMPLEMENTIERUNG UND DEREN BEWERTUNG ...................................................197 7.1 ERGEBNISSE DER KUNDENSEGMENTIERUNG DURCH CLUSTERVERFAHREN ................................................................... 197 7.2 ERGEBNISSE DER SPRACH- UND THEMENKLASSIFIKATION VON DOKUMENTEN ............................................................. 204 SCHLUSSBETRACHTUNG UND FAZIT .........................................................................................................209 LITERATURVERZEICHNIS ...................................................................................................................................... XI ANHANG ......................................................................................................................................................... XXVII QUELLCODE KMEANS ................................................................................................................................................ XXVII QUELLCODE NGRAMS .............................................................................................................................................. XXXIV IV | S e i t e Abkürzungsverzeichnis 3D 3-Dimensional BI Business Intelligence BIC Business Identifier Codes CAD Computer Aided Design CC-UMA Cache Coherent Uniform Memory Access CC-NUMA Cache Coherent Non-Uniform Memory Access CPU Central Processing Unit CRISP-DM Cross Industry Standard Process for Data Mining CUDA Compute Unified Device Architecture DWH Data Warehouse ETL Extract-Transform-Load FPGA Field-Programmable Gate Array GB Gigabyte GIS Geoinformationssysteme GPU Graphics Processing Unit GPGPU General Purpose Graphics Processing Unit HPC High-Performance Computing ILP Instruction Level Parallelism IR Information Retrieval IT Informationstechnik KDD Knowledge Discovery in Databases KNN Künstliches Neuronales Netz KMU Kleinere und mittlere Unternehmen MISD Multiple Instruction Single Data MIMD Multiple Instruction Multiple Data MPMD Multiple Program Multiple Data NLP Natural Language Processing OLAP Online Analytical Processing OpenCL Open Computing Language Seite |V PC Personal Computer POC Proof of Concept PPmA Parallel lösbare Probleme mit Abhängigkeiten PPoA Parallel lösbare Probleme ohne Abhängigkeiten SDM Spatial Data Mining SISD Single Instruction Single Data SIMD Single Instruction Multiple Data SEO Search Engine Optimization SP Sequenzielle Probleme TLP Thread Level Parallelism UMA Uniform Memory Access NUMA Non-Uniform Memory Access VLIW Very Large Instruction Word VI | S e i t e Abbildungsverzeichnis ABBILDUNG 1 - AUFBAU DER ARBEIT .................................................................................................................................... 8 ABBILDUNG 2 - DER KDD-PROZESS NACH FAYYAD ET AL. ....................................................................................................... 13 ABBILDUNG 3 - DER DATA MINING PROZESS NACH GROB ET AL. ............................................................................................. 16 ABBILDUNG 4 - DATA MINING IN ABGRENZUNG ZU KDD IN BEZUG AUF DIE SEMIOTISCHE DIMENSION ........................................... 23 ABBILDUNG 5 - DATA MINING IM KONTEXT VON KDD ........................................................................................................... 26 ABBILDUNG 6 - ETL-PROZESS ............................................................................................................................................ 46 ABBILDUNG 7 - SCHEMA EINES KÜNSTLICHEN NEURONALEN NETZES ........................................................................................ 60 ABBILDUNG 8 - BEISPIEL FÜR EINEN ENTSCHEIDUNGSBAUM .................................................................................................... 62 ABBILDUNG 9 - HIERARCHIE VON CLUSTERVERFAHREN ........................................................................................................... 70 ABBILDUNG 10 - ÜBERSICHT ÜBER DIE ANWENDUNGSGEBIETE DER TOP 500 SUPERCOMPUTER .................................................... 88 ABBILDUNG 11 - SCHEMATISCHE DARSTELLUNG EINES DISTRIBUTED NETWORKS ........................................................................ 90 ABBILDUNG 12 - HERSTELLUNGSKOSTEN BEZOGEN AUF DIE ANZAHL DER TRANSISTOREN AUF EINEM COMPUTERCHIP ....................... 98 ABBILDUNG 13 - SINGLE INSTRUCTION SINGLE DATA ........................................................................................................... 106 ABBILDUNG 14 - VON-NEUMANN-ARCHITEKTUR ................................................................................................................ 107 ABBILDUNG 15 - VON-NEUMANN-ARCHITEKTUR ................................................................................................................ 107 ABBILDUNG 16 - LEISTUNGSENTWICKLUNG PROZESSOR/SPEICHER ......................................................................................... 108 ABBILDUNG 17 - HARVARD-ARCHITEKTUR ......................................................................................................................... 109 ABBILDUNG 18 - SINGLE INSTRUCTION MULTIPLE DATA ....................................................................................................... 112 ABBILDUNG 19 - MULTIPLE INSTRUCTION SINGLE DATA ....................................................................................................... 114 ABBILDUNG 20 - MULTIPLE INSTRUCTION MULTIPLE DATA ................................................................................................... 116 ABBILDUNG 21 - SHARED MEMORY MIMD....................................................................................................................... 117 ABBILDUNG 22 - DISTRIBUTED MEMORY MIMD ................................................................................................................ 118 ABBILDUNG 23 - ERWEITERUNG VON FLYNNS TAXONOMIE ................................................................................................... 122 ABBILDUNG 24 - PARALLELISIERUNG BEI FIXER PROBLEMGRÖßE ............................................................................................. 126 ABBILDUNG 25 - PARALLELISIERUNG BEI SKALIERBARER PROBLEMGRÖßE ................................................................................. 127 ABBILDUNG 26 - AUFGABENPARALLELITÄT OHNE FUNKTIONALE ABHÄNGIGKEIT ........................................................................ 137 ABBILDUNG 27 - AUFGABENPARALLELITÄT MIT FUNKTIONALER ABHÄNGIGKEIT......................................................................... 137 ABBILDUNG 28 - DATENPARALLELITÄT MAP & REDUCE ....................................................................................................... 140 ABBILDUNG 29 - BARRIER ............................................................................................................................................... 145 ABBILDUNG 30 - SEMAPHORE ......................................................................................................................................... 146 ABBILDUNG 31 - BEISPIELHAFTES MESSAGE PASSING ZWISCHEN TASKS .................................................................................. 148 ABBILDUNG 32 - CPU/GPU LEISTUNGSVERGLEICH ............................................................................................................. 152 ABBILDUNG 33 - CPU/GPU LEISTUNGSVERGLEICH - RELATIV ............................................................................................... 153 ABBILDUNG 34 - KONZEPTION VON SEQUENZIELLEN UND PARALLELEN KDD- UND DATA MINING-PROZESSABLÄUFEN ..................... 161 ABBILDUNG 35 - ENTSCHEIDUNGEN BEI DER PARALLELISIERUNG VON MUSTEREXTRAKTIONSVERFAHREN ....................................... 163 ABBILDUNG 36 - OPTIMIERTER KDD-PROZESS IM KONTEXT EINES PARALLELEN MUSTEREXTRAKTIONSVERFAHRENS ........................ 172 S e i t e | VII ABBILDUNG 37 - PROGRAMMABLAUF - KMEANS ................................................................................................................. 180 ABBILDUNG 38 - PROZESSABLAUF DER KUNDENSEGMENTIERUNG........................................................................................... 185 ABBILDUNG 39 - ABLAUF DER NGRAM KLASSIFIKATION ........................................................................................................ 187 ABBILDUNG 40 - NGRAM-DISTANZMESSUNG ..................................................................................................................... 189 ABBILDUNG 41 - PROGRAMMABLAUF - NGRAM-KLASSIFIKATION ........................................................................................... 192 ABBILDUNG 42 - PROZESSABLAUF DER NGRAM-TEXTANALYSE ............................................................................................... 195 ABBILDUNG 43 - SEQUENZIELLE PROGRAMMLAUFZEITEN FÜR KMEANS MIT UNTERSCHIEDLICHEN DISTANZMAßEN .......................... 202 ABBILDUNG 44 - PARALLELE PROGRAMMLAUFZEITEN FÜR KMEANS MIT UNTERSCHIEDLICHEN DISTANZMAßEN IN SEKUNDEN............ 203 ABBILDUNG 45 - AUSFÜHRUNGSZEIT DER TEXTKLASSIFIKATION FÜR 256 TEXTE ........................................................................ 204 ABBILDUNG 46 - ENTWICKLUNG DES RELATIVEN SPEEDUPS ................................................................................................... 205 ABBILDUNG 47 - ERKENNUNGSZEIT PRO TEXT ..................................................................................................................... 206 Tabellenverzeichnis TABELLE 1 - INFORMATIONSWISSENSCHAFTLICHER INFORMATIONSBEGRIFF ................................................................................ 18 TABELLE 2 - ÜBERSICHT ÜBER DATA MINING ANWENDUNGEN IM BETRIEBSWIRTSCHAFTLICHEN KONTEXT ....................................... 30 TABELLE 3 - BERECHNUNGSMÖGLICHKEITEN NACH SKALENNIVEAUS .......................................................................................... 42 TABELLE 4 - MERKMALSTYPEN UND IHRE EIGENSCHAFTEN ....................................................................................................... 44 TABELLE 5 - MÖGLICHE WERTKOMBINATION VON ZWEI BINÄROBJEKTEN ................................................................................... 72 TABELLE 6 - ÜBERSICHT ÜBER AUSGEWÄHLTE SUPERCOMPUTER UND DEREN EINSATZGEBIETE ....................................................... 89 TABELLE 7 - FLYNNS TAXONOMIE ..................................................................................................................................... 103 TABELLE 8 - SEQUENZIELLE PROGRAMMLAUFZEITEN FÜR KMEANS MIT UNTERSCHIEDLICHEN DISTANZMAßEN IN SEKUNDEN .............. 198 TABELLE 9 - PARALLELE PROGRAMMLAUFZEITEN FÜR KMEANS MIT UNTERSCHIEDLICHEN DISTANZMAßEN IN SEKUNDEN .................. 199 TABELLE 10 - BESCHLEUNIGUNG DER PARALLELEN PROGRAMMVERSION IN % ........................................................................... 200 TABELLE 11 - SEQUENZIELLE AUSFÜHRUNGSZEIT DER TEXTKLASSIFIKATION FÜR 256 TEXTE......................................................... 207 TABELLE 12 - PARALLELE AUSFÜHRUNGSZEIT DER TEXTKLASSIFIKATION FÜR 256 TEXTE ............................................................. 207 Formelverzeichnis FORMEL 1 - SINGLE LINKAGE-DISTANZERMITTLUNG ............................................................................................................... 67 FORMEL 2 - COMPLETE LINKAGE-DISTANZERMITTLUNG .......................................................................................................... 68 FORMEL 3 - MINIKOWSKI-DISTANZ ..................................................................................................................................... 72 FORMEL 4 - EUKLIDISCHE DISTANZ FÜR INTERVALLSKALIERTE DATEN ......................................................................................... 73 FORMEL 5 - QUADRIERTE EUKLIDISCHE DISTANZ FÜR INTERVALLSKALIERTE DATEN....................................................................... 73 FORMEL 6 - EUKLIDISCHE DISTANZ FÜR BINÄR-DATEN ........................................................................................................... 73 FORMEL 7 - QUADRIERTE EUKLIDISCHE DISTANZ FÜR BINÄR-DATEN ......................................................................................... 73 VIII | S e i t e FORMEL 8 - BILDUNG VON STANDARDISIERTEN Z-WERTEN ..................................................................................................... 74 FORMEL 9 - MANHATTAN-DISTANZ .................................................................................................................................... 75 FORMEL 10 - TSCHEBYSCHEFF-DISTANZ .............................................................................................................................. 75 FORMEL 11 - HAMMING DISTANZ ...................................................................................................................................... 75 FORMEL 12 - PRODUKT-MOMENT-KORRELATION ALS ÄHNLICHKEITSMAß ................................................................................. 76 FORMEL 13 - FUNKTIONALE BEZIEHUNG X ZU Y UNTER EINFLUSS VON PARAMETER P UND RESIDUUM E ......................................... 80 FORMEL 14 - SUPPORT..................................................................................................................................................... 83 FORMEL 15 - KONFIDENZ ................................................................................................................................................. 83 FORMEL 16 - EINORDNUNG DER THEORETISCHEN RECHENGESCHWINDIGKEIT VON SIMT ........................................................... 121 FORMEL 17 - EINORDNUNG VON SIMT NACH FLEXIBILITÄT .................................................................................................. 122 FORMEL 18 - "NAIVE" SPEEDUP BERECHNUNG................................................................................................................... 123 FORMEL 19 - AUSFÜHRUNGSZEIT EINES PROBLEMS AUFGETEILT IN PARALLELE UND SEQUENZIELLE ANTEILE ................................... 124 FORMEL 20 - BERECHNUNG DES SPEEDUPS ....................................................................................................................... 124 FORMEL 21 - BERECHNUNG DES SPEEDUPS UNTER EINBEZIEHUNG DES KOMMUNIKATIONSAUFWANDES ....................................... 124 FORMEL 22 - GUSTAFSONS GESETZ .................................................................................................................................. 128 FORMEL 23 - FIBONACCI-FOLGE ...................................................................................................................................... 130 Quellcodeverzeichnis QUELLCODE 1 - PSEUDOCODE KMEANS ............................................................................................................................... 77 QUELLCODE 2 - KONKURRIERENDER ZUGRIFF VON ZWEI TASK OHNE MUTEX ............................................................................ 143 QUELLCODE 3 - KONKURRIERENDER ZUGRIFF VON ZWEI TASK MIT MUTEX............................................................................... 143 QUELLCODE 4 - KMEANS PROGRAMM-PARAMETER ............................................................................................................. 178 QUELLCODE 5 - AUFRUF EINES PARALLELEN KMEANS GPGPU-KERNELS.................................................................................. 178 QUELLCODE 6 - GPCPU-KERNEL ZUR BERECHNUNG DES NÄCHSTEN CENTROIDEN FÜR JEDEN DATENPUNKT .................................. 181 QUELLCODE 7 - FUNKTION ZUR BERECHNUNG DER NEUEN CENTROIDEN UNTER DER BERÜCKSICHTIGUNG DER KONVERGENZ DES CLUSTERVERFAHRENS ............................................................................................................................................ 183 QUELLCODE 8 - NGRAM PROGRAMM PARAMETER .............................................................................................................. 191 QUELLCODE 9 - GPCPU-KERNEL ZUR BERECHNUNG DER DISTANZ DER EINZELNEN NGRAM-PROFILE ........................................... 193