Seite 1 von 2

Programmierafugabe 9.4

Verfasst: 27. Jan 2009 02:06
von galking
Hallo!

ich wäre sehr dankbar, wenn jemand mir erklären würde, was "mehrere gleichzeitig aktive Clients sollen möglich sein" bedeutet. Heißt es, dass Clients ihre Tasks unabhängig voneinander erstellen oder dass ein Client die Ergebnisse von dem anderen mitbekommen soll?

Danke im voraus!

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 02:57
von plane
Du startest z.B. 2 Clients und 5 Worker alle im gleichen Tuplespace, die Worker bearbeiten die Jobs von beiden Clienten, jenachdem wo einer gerade frei ist. Danach muss der jeweilige Client seine zugehörigen Jobs wieder aus dem TupleSpace holen.

So hab ich es verstanden,

ich habe eine andere Frage,

ich habe das Problem das bei mehreren Workern bei mir die Worker gleichzeitig auf ein Tupel zugreifen. Dabei kommt ein Fehler im Bild zustande.
Hat jemand ne Idee wie man diese gleichzeitige zugreifen umgehen kann, bzw. hat jemand noch das Problem...


So siehts aus...

Folgende Fehlermeldung gehört dazu:

com.ibm.tspaces.TupleSpaceServerException: com.ibm.tspaces.server.handler.TSHandlerException:
TSHGalaxy: Error processing command. "Error "delete failed. Non-existent id: TupleID: 12649" while processing command "TakeTupleById" for tuple space "MandelBrot".".


Bild

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 08:24
von Anubis
So habe ich es auch verstanden...

Bei mir kommt es auch vor, dass manchmal Bildausschnitte fehlen. Allerdings ohne Fehlermeldung. Ich weiß auch nicht ob sie auf dem Weg zu den Workern oder auf dem Rückweg verloren gehen. Um so mehr Worker ich laufen lasse, desto mehr Ausschnitte fehlen. Könnte also auch das selbe Problem sein....

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 08:38
von bagotios
Es gibt eine maximale Anzahl an Daten die im TSpace liegen können. Sobald diese Menge überschritten wird, kommt es zu massiven Problem. Abhilfe schafft hier das sofortige löschen der Daten aus dem TSpace, sobald man die Daten nicht mehr benötigt. Insbesondere Daten die man per Listener erhalten hat, werden nicht automatisch gelöscht, es sei denn man hat eine Time-to-live angegeben.

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 13:27
von Pascha
Ich kriege auch ab und zu den "delete-fehler", während mein Listener versucht die abgearbeiteten Tuples zu löschen. Ob die Einschränkung der Tupleanzahl im SPace die Ursache dafür ist, bin ich mir nicht sicher, denn genau das Löschen soll verhindern, dass es zuviele Tuple gelagert werden und dadurch übersteigt die Anzahl bei mir keine 100 Tuples und trotzdem kommt es zu diesem Fehler :/

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 15:33
von bagotios
Wenn du EventRegister verwendest, solltest du keine write/delete Operationenim gleichen Thread verwenden. Siehe dazu auch den Programmer's Guide->Event Register

Re: Programmierafugabe 9.4

Verfasst: 27. Jan 2009 16:33
von Pascha
/edit

steht da nicht, dass man es nicht machen darf, wenn newThread auf false ist? Bei mir setze ich es auf true, also darf ich es auch löschen oder nicht?

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 10:13
von der Verwirrte
ich frage mich ehrlich gesagt wie das zu verstehen sein soll
Ein farbiger Balken am linken Bildrand zeigt an, welcher Worker den Bildteil berechnet hat.
wie habt ihr das denn umgesetzt?

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 11:50
von bagotios
Bei mir ist ein 20 Pixel breiter Balken. Jeder Worker kann beim Start festlegen welche Farbe er hat.

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 11:56
von der Verwirrte
kannst du mal nen screenshot zeigen? bin da etwas überfordert wie das aussehen soll...

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 12:18
von Pascha
Einfach die ersten paar pixel jeder zeile anders faerben :)

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 15:26
von easyflow
Hi,

was heißt Listener? Arbeitet ihr da nicht mit waitToTake? Mit was denn sonst?

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 15:59
von plane
Mit einem EventlListener, siehe dir den Programmers Guide an.
- Laut Aufgabenstellung wird für den Client ein EventListener verlangt

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 16:22
von easyflow
Welcher Programmers Guide?

Also hier:
http://www.almaden.ibm.com/cs/TSpaces/h ... Guide.html

steht nichts von EventListener...

Re: Programmierafugabe 9.4

Verfasst: 28. Jan 2009 16:39
von Pascha
punkt 11