Easy Cluster DLL - Verteiltes Rechnen & mehr

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

cxAlex hat geschrieben:
Andesdaf hat geschrieben:mensch, jetzt sogar mit Logo! :D
Jo, Marketing ist alles 8) .
Genau. Bloß fehlen mir immer die Mittel für solche Logos :(
Win11 x64 | PB 6.20
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Mir fehlt das Talent, drum gibts Online LogoGeneratoren :mrgreen: .
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 »

ein Stichwort für Google :lol:
Win11 x64 | PB 6.20
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • ECluster_Master_PingSlave(): Pingt einen Slave an und gibt die Ping Zeit in Ms zurück
  • ECluster_Slave_Event_Type(): #Event_Master_Ping: Master pingt Slave
  • ECluster verwendet wenn möglich intern nun HighRes - Timer
Die Befehls sollte wohl für sich sprechen, genau Beschreibung im ECluster_inc.pbi und bei Fragen einfach hier posten.

Viel Spaß damit, Gruß Alex.


Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... 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 »

So, ne kleine Arbeitserleichterung beim Umgang mit EasyCluster:

PBProcedure2ECluster Wrapper

Mit diesem kleinen Tool erzeugt ihr im Handumdrehen einen passenden Wrapper von PB-Proceduren für ECluster. (ECluster arbeitet mit Stacking und ich dachte manchen ist das vlt. zu kompliziert). Einfach die 1. Zeile einer Procedure (mit Procedure.f ....) kopieren und ins Eingabefeld einfügen oder direkt entippen und fertig. Nur noch Copy & Paste und alles ist geritz!

Funktioniert mit allen Standart-Rückgabetypen, Default-Parameter, $ - Variablen. Will man Speicherblöcke zurückgeben muss man nachbessern, aber dann kennt man sich ohnehin schon mit ECluster aus:

Bild

Hoffe das hilft euch.

Gruß, Alex

http://www.paladiumx.forgesoft.net/publ ... rMaker.exe
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:
  • Interne Verbesserungen, DLL konnte nun ohne Thread-Safe kompiliert werden
  • Beispiele erweitert
So, kleines Update. Ich konnte die DLL nun ohne Thread-Safe kompilieren, was neben der gewaltigen Verkleinerung der Dateigröße um 2,5 KB außerdem noch etwas Performance bringen sollte :D . Bei Problemen bitte einfach posten.
Der Demo - Slave legt nun bei jedem Master - Connect eine private HashTable für den Master an und deinitialisiert diese wieder beim DisConnect. Außerdem wurden Funktionen hinzugefügt um Werte hinzuzufügen und zu lesen. Auf die Art könnte man auch für jeden Master eine Private Datenbank verwalten, war mir aber jetzt zu viel tipperei für ne Demo.

Wie immer, viel Spaß damit, Gruß Alex.


Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... 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_Job_EventCallBack(): Setzt ein EventCallback für einen bestimmten Job.
  • ECluster_Master_DoJob(): Parameter um direkt eine JobCB festzulegen
Details:

Mit diesen neuen Funktionen kann man anstatt der Event-gesteuerten Ereignisbehandlung von ECluster eine CB - basierende verwenden. In einigen Fällen ist das sehr praktisch, wie das neue Beispiel MD5_Master_Demo_Trigger.pb zeigt. Ein über CBs gesteuerter Job scheint nicht mehr in der normalen Eventverarbeitung auf, da das zu sehr wirren Verhalten führen könnte. Die CBs blockieren ECluster nicht, es kann aber nicht sein das 2 CBs des selben Job parallel laufen, sehr wohl aber 2 oder mehr CBs unterschiedlicher Jobs.

Ausführlich Beschreibungen zu den neuen Befehlen wie immer in der ECluster_inc.pbi

[Hinweis]
Diese neu Jobverwaltung wurde übrigens ganz leicht mit meinem ObjectManager integriert, sehr zu empfehlen für solche Sachen: :mrgreen:
http://www.purebasic.fr/german/viewtopic.php?t=18698
[/Hinweis]


Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... 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:
  • Kleinen Bug beim Aufruf von Job-Callbacks behoben
  • Alle ECluster Funktionen sind nun Thread-Safe
Nur ein paar Änderungen unter der Haube. Die größte Neuerung ist wohl das alle Funktionen nun Thread-Safe sind. d.H. sämtliche ECluster Funktionen können nun in beliebig vielen Threads in euren Programm genutz werden ohne das diese extra per Mutex usw. geschützt werden müssen, darum kümmert sich nun ECluster intern.

Das war u.a. nötig da Job-Callbacks in einem Thread laufen und so gleichzeitiger Zugriff aus dem CB und aus dem MainThread auf denselben Master mit denselben Funktionen möglich war, was wenn der User das nicht selbst absicherte zu komischen Ergebnissen führen konnte. (Threadprogrammierung macht wie ich hier immer wieder sehe vielen Leuten Kopfzerbrechen, damit diese dann trotzdem damit klar kommen mach ichs so einfach wie möglich)

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... r_Beta.zip

//Edit:

Hätte jemand Interesse an einer integrierten optionalen automatischen Verschlüsselung? Also Master Slave würden sich automatisch die Schlüssel aushandeln, es würde nur ein Enable_Encryption() Befehl oder so nötig sein. Damit könnte man sich bei vertraulichen Daten gegen Netzwerk - Sniffer schützen. In wie weit das z.B. gegen Man-in-the-Middle Angriffe hilft kann ich nicht sagen, das hängt dann von der Verschlüsselung ab. Im Angebot währen RC4, AES 256, Blowfisch, Triple-DES.
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:
  • Kleines Memory-Leak in der Angepassten JobQueue beseitigt
  • Interne JobQueue verbessert. Weniger Overhead, jetzt noch performater
  • Serverseitige Fehlerkorrektur verbessert
Wieder nur ein paar interne Verbesserungen, vom Handling bleibt alles gleich.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... 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 bei der Verwendung langsamer Hardware
Das kommt davon wenn man nur auf enorm schneller Angeber Hardware testet :oops: :mrgreen: .

Bei langsamen Routern usw. konnte es immer wieder zu "Buffer Underrun" Fehlern kommen. Da waren ein paar Timeouts usw. ein bisschen zu 'zackig' eingestellt, die werden jetzt dynamisch konfiguriert, dann werden schnelle Systeme auch nicht gebremst.

Viel Spaß damit, Gruß Alex

Download im 1. Post oder:

http://www.paladiumx.forgesoft.net/publ ... 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