Easy Cluster DLL - Verteiltes Rechnen & mehr

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Intern neues Master/Slave Verwaltungssystem
  • Memory-Leak in den Worker-Threads gefixt
Das neue Verwaltungssystem schafft theoretisch 12 Mio. Anfragen/Sekunde, in der Proxis wird das aber wohl durch das LAN begrenzt. Ein kleines Memoryleak in den Workern verursachte 20 Byte Schwund/Job, viel mir leider erst bei einem Stabilitätstest * mit einigen Millionen Jobs auf.

Schon wieder nur Änderungen unter der Haube, neue Features wenn mir welche einfallen oder wenn ihr sie euch wünscht :D .

Bugreports, Kritik, usw. wie immer bitte hier posten.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip


Dauertest hat geschrieben:* Testaufbau:

1. Master: Intel Core2Quad @ 2.4 GHz, 4 GB Ram, GB LAN
2. Master: Intel Core2Quad @ 2.8 GHz, 4 GB Ram, GB LAN
3. Master: Intel Pentium 4 @ 2.4 GHz, 768 MB Ram, 100 MB Lan
4. Master: Intel Pentium 3 @ 800 MHZ, 512 MB Ram, 100 MB Lan

Slave:
Intel Core2Quad @3.15 GHz, 4 GB Ram, Gigabit LAN (ECluster: 32 Threads)

Bereits nach ein paar Minuten nach ca. 10 Mio Jobs verbrauchte der Slave über 250 MB im Arbeitsspeicher, nach der Korrektur nur mehr zwischen 4.5 - 8 MB, je nach Anzahl anstehender Jobs.

Der Slave arbeitete völlig korrekt, bei Dauerbeschuss mit MD5 Anfragen
über 5h lang.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Bugfix: 2 verschiedene Master konnten die selbe ID erhalten
  • Bugfix: Callback - Proceduren bei Jobs wurden nicht richtig synchronisiert
2 kleine Bugfixes, waren verteufelt schwer zu finden :twisted: .

Hier mal ein kleines Video von ECluster in Aktion (6MB, 1:20 Min) :

http://paladiumproject.q-soft.ch/public ... emoVid.zip



Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

:allright:
Win11 x64 | PB 6.20
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster_Slave_AddService(): Optinaler Parameter für cdecl - Aufrufkonvention
  • Interne Optimierungen
Über den neuen Parameter kann man nun ganz einfach seinen Job mit der cdecl - Aufrufkonvention ausführen lassen (Standard: stdcall). Hilfreich wenn man z.B. direkt C - DLLs usw. aufrufen lassen will.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster_Slave_Job_SendMessage(): Individuelle Daten aus einem Job an den Master Senden.
  • ECluster_Master_Event_Type(): #Event_Job_Message - Event
  • JobQueue weiter optimiert
Mit diesem neuen Befehl kann man innerhalb von Jobs z.B. Progress-Meldungen an den Master zurücksenden. Das ganze wird ganz einfach mit den Event - Managemant geregelt, die Message Daten erhält man per ECluster_Master_Event_JobMem() und ECluster_Master_Event_JobMemSize() oder bei CallBack-Handling über die Memory - Parameter.

Für eine genaue Beschreibung wie immer ins ECluster_inc.pbi sehen.

Viel Spaß damit, Gruß Alex :D

ACHTUNG, neues Download-Verzeichniss:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Bugfix deim Empfangen größerer Daten
Kleiner Bug beim senden von größeren Daten per ECluster, sonst nix gröberes.

Viel Spaß damit, Gruß Alex :D


Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Verbesserte Stacks, nun schneller & dynamischer
  • Fehler bei Strings behoben
  • MemoryLeak im JobManager behoben
Kleines Update:

Eine schnellere Stack-Methode wird nun verwendet die aus alten, verbraucht nebenbei noch weniger Speicher. Ein kleiner Fehler bei Strings allgemein wurde behoben (was ein kleines SizeOf(Character) alles anrichten kann ^^). Das MemoryLeak ist eigentlich keines, lediglich wurde Speicher erst beim kompletten deinitialisieren von ECluster freigegeben, obwohl es dynamisch auch ginge.


Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster_Master_Init(): BlockSize Parameter entfällt
  • Interne Optimierungen
  • kleinere BugFixes
Der BlockSize Parameter war beim letzten Update schon dekorativ, hatte nur vergessen den zu entfernen. Sonst nur kleinere Optimierungen der internen Routinen und fixes kleinere Bugs, die zwar keine Fehler verursachten aber auf Lasten der Performance gingen.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster_Slave_SetMasterJobLimit(): Limitiert die Anzahl der maximal anstehenden Jobs/Master
  • ECluster_Slave_CountMasterJobs(): Zählt die Anzahl der anstehenden Jobs eines Masters
  • ECluster_Master_Event_Type(): #Event_Job_Limit: JobLimit erreicht, Job wird nicht ausgeführt
  • MemoryLeak in ECluster_Master_DeInit() gefix: Events wurden nicht ordentlich bereinigt.
  • Kleinere Optimierungen
So, nun ist es möglich die Anzahl der aktiven Jobs pro Master individuell einzustellen, bzw. für alle Master einzustellen. Dadurch kann verhindert werden das ein Master den Server komplett in Beschlag nimmt, bzw. ihn absichtlich lahmlegen will. Außerdem natürlich alle Befehle & Events drum herum, natürlich funktioniert auch alles mit CallBack - Management.

Für eine detaillierte Beschreibung wie immer im ECluster_inc.pbi im Packet schauen, danke.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://paladiumproject.q-soft.ch/public ... r_Beta.zip
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Antworten