Man könnte auch einfach einen High-Available, Partitioned Torrent-Tracker bauen
PS: Bevor ich zu Hazelcast gekommen bin habe ich mit HZ Gameserver geclustered, es muss also nicht immer BigData sein.
Man könnte auch einfach einen High-Available, Partitioned Torrent-Tracker bauen
PS: Bevor ich zu Hazelcast gekommen bin habe ich mit HZ Gameserver geclustered, es muss also nicht immer BigData sein.
Um den Anreiz noch ein wenig zu vergrößern lege ich noch ein Buch “Getting Started With Hazelcast” (http://www.amazon.de/Getting-Started-Hazelcast-Mat-Johns/dp/1782167307) oben drauf.
Ok denkt dran, alles was am 15.11. abends um 22 Uhr hier nicht erklärt und verlinkt wurde zählt nicht
Bitte it entsprechender Erläuterung wie man es starten kann und eventuellen Testdaten falls erforderlich. Ich werde dann Sa, den 16.11., entsprechend eine 7 Tage laufende Abstimmung erstellen und hoffe auf entsprechend viele Stimmen
Kleinlaut: Hat jemand das Matrix-Multiplication-Ding schon ausprobiert? Ggf. würde ich da noch zwei fertig startbare JARs dazu erstellen…
Mit dem “Spiel” (Schiffe versenken) bin ich noch nicht weiter, aber vielleicht habe ich diese Woche noch etwas Zeit, da weiterzufrickeln…
Nee habe ich noch nicht aber vermutlich ist es zum Testen einfacher eben zwei JARs zu machen
Habe das ganze nochmal etwas glattgezogen. Im speziellen ein Release-Paket gebaut, das man direkt auspacken und starten können sollte:
http://javagl.de/HazelcastMatMulRelease%2020131112c.zip
‚startServer‘ auf dem Server, ‚startClient‘ auf dem Client. Konfigurationseinstellungen (Matrixgröße etc.) stehen in der MatMulClient.properties. Standardmäßig wird ein kurzer, lokaler Testlauf gemacht.
Ich habe auch mal eine Art „Benchmark“-Lauf mit Matrixgrößen um 4000x4000 rum gemacht. Das ganze hatte ich auf 3 Rechnern gestartet. Dabei war einer sowohl Server als auch Client - ich schätze mal, das ist nicht so optimal? Vermutlich sollte man nicht einem Rechner beide Aufgaben aufhalsen. Er schien damit auch ins Stolpern zu kommen, aber WAS genau die Ursache und Bedeutung von Meldungen wie
WARNING: ClientConnectionManager: Connection [Address[XXX.XXX.XXX.XXX]:5701 -> /XXX.XXX.XXX.XXX:58922] failed to heartbeat, closing...
INFO : ClientConnectionManager: Closing connection -> Connection [Address[XXX.XXX.XXX.XXX]:5701 -> /XXX.XXX.XXX.XXX:58918]
SEVERE : HeartBeatChecker: Error during heartbeat check!
ist, hat sich mir noch nicht ganz erschlossen - irgendein „normaler Timeout“? Oder irgendeine Überlastung? Jedenfalls lief er trotzdem weiter, und auf den Servern konnte man im Task-Manager schön sehen, wann die Arbeit ankam und die Prozessorlast auf allen Kernen auf ~100% sprang Damit zusammenhängend vermutlich noch ein Punkt, der nicht so ideal war: Einer der drei Server war etwas schwächer als die anderen beiden. Da Hazelcast das ja nicht direkt erkennen kann, schätze ich mal, dass das im schlimmsten Fall die gesamte Arbeit ausbremsen kann?! Vermutlich könnte man dem bis zu einem gewissen Grad entgegen wirken, indem man die Tasks etwas feingranularer macht, aber das ist sowieso ein Tuning-Parameter, mit dem man noch etwas rumspielen sollte. (Ich hatte da zwar schon ein paar Vergleiche gemacht, aber keinen wirklich „dramatischen“ Unterschied feststellen können).
Wie auch immer auf den 3 Rechnern lief das ganze im Schnitt ca. 30%, im besten Fall etwa 40% schneller, und ich schätze, unter Berücksichtigung der obigen Punkte (Client getrennt von Servern, gleichstarke Server, geeignete Granularität) könnte man da schon noch deutlich mehr rausholen.
Ich werd’s mir mal in Ruhe nächste Woche anschauen, kann man bestimmt noch ein wenig was rausziehen
Ist die Möglichkeit da, dass ganze noch um 1 od. 2 Wochen zu verschieben? Baue gerade ein simples 2D game dessen Client / Server Verbindung auf Hazelcast aufbaut, klar keine besonders sinnvolle Aufabe für ein solches Framework aber immerhin. Kann natürlich passieren das etwas blödes dazwischen kommt oder ich frustriert aufgebe (was ich doch mal nicht hoffe :twisted: ).
Vielleicht eine andere Idee für andere Teilnehmer:
ein Hashcracking tool, wobei ich mir die Synchronisation später relativ komplex vorstelle.
Gäbe es noch mehr Interessierte Leute welche gerne bis Ende Nov verlängern würden?
Nicht “akut”, abgesehen davon, dass ich dann vielleich(!) noch das zweite einreichen könnte, und … es ja bisher, soweit ich das sehe, noch nicht sooooo viele Einreichungen gibt, oder…?
Ich glaube bisher bist du der Einzige
Dann wird die Abstimmung ja nicht so spannend werden
Also plädieren alle für Verlängerung?
Vielleicht sollte man das ganze noch etwas Verlängern. Sich in ein neues Framework einlesen geschieht ja nicht von heute auf morgen. Da wahrscheinlich viele im Dezember Urlaub haben, wird man dort mehr Zeit haben für so etwas (jaja Weihnachtstress und so :eek: ) . 2-3 Teilnehmer finde ich irgendwie etwas wenig.
Ok dann machen wir 1.1.2014? Also Verlängerung bis Sylvester, dann kann ich ja noch selber etwas in dem Buch blättern.
Ach gleich bis nächstes Jahr…!? Gut, wenn man extrapoliert gibt es bis dahin zwei Teilnehmer, aber vielleicht ja doch ein paar mehr
Gibt es eigentlich noch mehr interessierte, werkelnde Leute?
Könnten sich bitte alle Interessenten mal bei mir melden (gerne auch per PN)?
Besten Dank
Chris
Und bei wem es kein Geheimnis ist, wäre es gut, wenn er auch hier was schreiben würde
@Prototype hatte ja nach der Verlängerung gefragt, und @Majora klang so, als wäre er schon dran, was zu basteln… …
“Bump” - HAT sich jetzt eigentlich noch jemand gemeldet, z.B. @Majora oder @Prototype ?
Unabhängig davon nochmal die allgemeine Errinnerung, dass man ja jetzt vermutlich noch 10 freie Tage hat, und da noch ein bißchen was basteln kann…
Oh das habe ich ja ganz vergessen. Also am anfang hatte ich an ein kleines Game gedacht. Den Server kann man nur schlecht auf mehrere Cluster auslagern bzw. ist nicht wirklich sinnvoll. Habe dann angefangen ein Webcrawler zu schreiben jedoch ist dieser dann durch Schulstress in Vergessenheit geraten^^. Naja Codebase steht. Ich muss “nur noch” Testen und eine Client Gui wäre wahrscheinlich nicht schlecht.
Mal schauen wie weit ich komme die nächsten Tage. Zeit ist auf jeden Fall da.
Danke nochmal für den Hinweis.