Von MapReduce liest man in letzter Zeit häufiger. Ich dachte immer, das wären Techniken, für Arrays, dass auf jedes Element eine bestimmte Funktion angewandt werden kann. Aber tatsächlich soll das irgendetwas von Google sein. Was ist der Unterschied? Wäre nett, wenn jemand dieses Missverständnis mal aufklären könnte.
auf wikipedia gibts einen artikel dazu
Ich hätte hier nicht gefragt, wenn ich nicht schon dort geschaut hätte. Leider bin ich kein Mathematiker und tue mich sehr schwer, die besagten Gleichungen nachvollziehen zu können. Gerade diese tragen zum Verständnis bei. Wäre nett, wenn du mir das erklären könntest.
Da gehts doch nur um Konzepte. Die "Formeln" (sind eher Code-Teile/Definitionen/...) kann man auch ignorieren.
Die Aufgabe an Sklaven verteilen und die Ergebnisse zusammenführen. Macht jede Firma. Aber nicht so effizient wie Google.
Interessant dazu ist evtl noch ein Nebensatz aus der ct (über irgendwas, vermutlich parallel-programmieren): wenn komplette Daten des Problemes in den Cache passen (oder man das Problem entsprechend designt, sich den Mund also nicht zu voll stopft), dann kann der Speed-UP durch mehrere Prozessoren überl-linear sein. D.h. man wird mehr als doppelt so schnell (was spacken wohl erstmal pauschal bestreiten würden aber zwei 25kmH(+Tuning ;-)-Pizza-Mopeds liefern 10 Pizzen in der Stadt trotzdem schneller als ein 450kmH-Pizza-Porsche).
Dadurch könnten auf verteilten Normalo-PCs deutliche Steigerungen gegenüber einem fetten SuperRechner für dasselbe Problem (SuchAnfragen, Werbung verteilen) erreicht werden.
Öh, sorry, aber ich kann mit deinem Post rein gar nichts anfangen.
Wenn ich "Die Aufgabe an Sklaven verteilen und die Ergebnisse zusammenführen. Macht jede Firma." richtig verstanden habe, geht es einfach nur um Clustering? Dass man einen Masterserver hat und ganz viele Nodes, die von dem Masterserver Aufgaben entgegennehmen.
Beim zweiten Teil handelt es sich vermutlich darum, dass Daten vorrätig im RAM gelagert werden, aber nicht zu viele, weil sonst die Abläufe verstopfen??? Ich bin sehr verwirrt.
Ich hoffe, dass ich nicht der einzige bin, der gerade ein Brett vorm Kopf hat und absolut gar nichts nachvollziehen kann. :D
Na ja. Vermutlich ist der Trick/das Besondere darin, das man ein FrameWork/Library hat, das einen bei der Verteilung der Arbeit unterstützt und man es vermutlich halbwegs standartisiert macht. Das erleichtert dann das Leben deutlich. Auch kann man dann alle Rechner von Google nutzen und nicht nur die Rechner auf dem eigenen Stockwerk(oder wo auch immer), wo man seine private Lösung für verteilung zusammengeschustert hat.
Die heutige Golem-Meldung über diese Cloud-Control-Software wäre sonst ja auch egal/überflüssig.
Wenn man Probleme lösen will, ist man hungrig auf Lösungen und frisst auch Hinweise statt Komplettlösungen (dafür gibts teure Leute von IBM/SAP/...). Ich schreibe hier keine abgebbaren Referate/Hausarbeiten.
Map-Reduce hilft bei der Verteilung des Aufwands. Ein Cluster mit einen "Master" und 10 "Sklaven" (nach Siga9876 System) soll die Maximum einer Vector mit zehn Milion Elementen berechnen. Jeder Knot bekommt einen Milion elemente, danach wird den 'Master" eine Ergebniss liefern, bassiert auf die 10 Ergebnisse der "Sklaven". Solche einfacher Berechnung entspricht aber viel Programierungsaufwand (netwerkuebertragung, synchronizationen, usw). MapReduce abstractiert die Uebertragungs- und Synchronizationsebene durch eine einfaches Konzept: Map Aktionen laufen parallel auf alle Zelle einer Vector (beispiel: vector durch skalar multiplizieren) warend Reduce Aktionen berechnet etwas wie eine Summe, max/min oder Norm.
Es gibt verschiedene MapReduce implementierungen zum Beispiel fuer Cluster oder fuer Grafikkarte (NVidia-CUDA).
Danke fuer die Erklaerung.
PS: Bist du wirklich Amerikaner?
PS:
Ja.
:)
Hehe, merkt man. :)
Kommentare: 222 | letzter Beitrag 26.05. 23:51
Kommentare: 216 | letzter Beitrag 00:27 Uhr
Kommentare: 160 | letzter Beitrag 26.05. 23:16
Kommentare: 93 | letzter Beitrag 26.05. 19:45
Kommentare: 68 | letzter Beitrag 25.05. 12:17
E-Mail an news@golem.de

Laut Apple-Zulieferern wird das iPhone 5 mit einem neuartigen In-Cell-Touchscreen ausgerüstet. Als Hersteller soll Sony infrage kommen. Bislang hieß es, dass Apple Sharp und Toshiba bevorzugen würde.

Der japanische Spieldesigner Goichi Suda - Fans sagen schlicht "Suda 51" - ist für schräge Actionspiele bekannt. Sein nächstes Werk schickt ein scheinbar braves Schulmädchen in den Kampf gegen Zombies.

Weitgehend unbemerkt hat der US-Händler Tigerdirect die ersten Chromebox-Systeme von Google ausgeliefert. Für 330 US-Dollar bekommt der Nutzer recht gute Hardware in Nettop-Form, die sehr viel leistungsfähiger ist als die des Chromebook mit ChromeOS.

Ein britisches Blog will erfahren haben, dass Facebook den norwegischen Browserhersteller Opera Software kaufen will. Beide Unternehmen wollen sich dazu nicht äußern.

Am 26. Mai 2012 treten neue Datenschutzregeln der EU in Kraft. Websitebetreiber und Werbenetzwerke müssen Nutzer um Erlaubnis fragen, wenn sie Cookies setzen.

Libreoffice könne mehr als Openoffice und biete Entwicklern zudem Vorteile, sagte Michael Meeks auf dem Linuxtag 2012. Außerdem spricht er mit Golem.de über Libreoffice-Online, woran er derzeit arbeitet.