PDA

View Full Version : Client 2.0



IronBits
05-16-2004, 01:23 AM
With this new client 2.0, is there any tweaking to do? :thumbs:

PCZ
05-16-2004, 06:22 AM
IB

There are not a lot of tweaks.


Java

D2OL does use Java for the GUI, but the process that does the crunching is not a Java app.
So installing a fast JVM and tweaking it to run in server mode is not necessary and would be a waste of time.

There is no need to install Java on your PC.
The windows client has a JVM in a subdirectory which D2OL uses.
So those folks who dislike installing Java on there PC's don't have to

There are 2 Windows clients available, one with JVM and one without.
The client with JVM is much easier to set up, without JVM is for 'experts' only.
D2OL Windows client with JVM (http://www.sengent.com/ddesign/installers/D2OL/Windows/VM/installDDOL.exe)
------------------------------------------------------------

Register yourself

When the client installs it prompts you for your email address.
This does not have to be your real email address but you have to remember what you put here and be consistent when you install more clients.

After your first D2OL client starts you can register yourself.
Look at the top right hand corner of the GUI and you will see the node ID.
Go here (http://app.d2ol.com/memberServices/memberLogin.jsp)
and register the node.

Don't forget to Join Free-DC while you are on the team page :D

--------------------------------------------------------------

Client tweaks

When the client is first run it will have all the eye candy turned on, you need to turn it off.

On the left hand side of the screen there is a window with target written on it, below this there are 6 buttons.
Select the button with a tick on it to adjust the properties.

There are 2 tick boxes on the properties sheet, enable animations and launch main window on startup.

Take the tick OUT of these 2 boxes.

Also there is a box to specify the candidate queue size, if you want to run offline
then select a higher number.
A fast PC can do over 100 candidates a day so be sure to queue enough work.

It is a good idea to select a higher number than the default 50 even if you are working online because you could run out of work in less than 12 hrs if the sengent server goes down.
I use 200 for the queue size on my online PC's.

After changing the properties exit the client and start it again.

You can bring up the GUI by right clicking on the D2OL icon on your taskbar and selecting show agent.

------------------------------------------------------------

Node prp files

It is a good idea to backup your node prp files.
Once a node prp file is lost you cannot recreate it and you will have nodes registered to you which no longer exist.

Decide where you are going to keep your backed up node prp files.
Create a subdirectory for each node prp file with the directory name = to the node.prp ID number.
Copy the node.prp files from your clients D2OL\res directories to your backup device.


-------------------------------------------------------------------

Running as a service.

You can run D2OL as a service using srvany or firedeamon.
One thing to watch out for is that when you stop the service gridwin / dockwin will keep running after d2ol.exe is stopped.
They will stop after a few minutes so be patient and don't kill these processes until you have given them time to stop by themselves.

I use the controller:cli switch when running as a service.
path\d2ol controller:cli
It appears that when running as a service the D2OL client will stop running when someone logs out.
To stop this happening you need to edit the d2ol.lax file and add this line:
lax.nl.java.option.additional=-Xrs





---------------------------------------------------------------------

MerePeer
05-16-2004, 07:23 AM
Two other things to note:
1) The D2OL process launches the Gridwin and Dockwin processes. I read someone saying that if you want to adjust the priority up you need to do it when you start D2OL and not afterward.

2) I was having problems running D2OL as an instsrv/srvany service using controller:file. D2OL stopped when the user logged out; grid/dockwin finish their candidates then discontinue. I solved the 'logout' problem last night by adding this line to the D2OL.lax:

lax.nl.java.option.additional=-Xrs

More details in this TSC thread (http://www.free-dc.org/forum/showthread.php?s=&threadid=6509) if relevant to you.

PCZ
05-16-2004, 07:37 AM
MeerPeer

Are you running the service as localsystem or a specific user ?

MerePeer
05-16-2004, 07:56 AM
As localsystem. I think I tried as myself too and didnt help. One thing perhaps a factor is all my systems have java 1.4.2 and I did not install the 'embedded jvm option' TSC client.

PCZ
05-16-2004, 08:15 AM
That's strange behaviour.
Anything running as localsystem should continue running whilst users log on and off.

Most of my clients are embedded JVM, but I have a few that I had to manually set up to use the installed 1.4.2
I am checking to see if any of my clients are behaving as you describe.

I guess that the service starts OK with no one logged in then continues running whilst they are logged in but stops when they they log out.

So the D2OL app is receiving a sig 15 when a user logs out and stops running, it should of course ignore this as its running as system and that user isn't logging off.


Edit:
MeerPeer I appear to have the same Bug

I just logged in and out of a couple of my boxes and checking the taskstate.xml
file over the network shows it is not being updated.

Have to watch out for this, thanks for the heads up. :cheers:
I will try your fix

MerePeer
05-16-2004, 08:27 AM
Yes. Just reconfirmed this is true for D2OL, here's my quick-ish way (pick a fast cpu) to test (note I have only tested on win2k but will do xp after I get a cup of coffee):

1) start your task manager and observer no D2OL, no gridwin.
2) start your d2ol srvany service. Observer D2OL is running, Grid (or Dock) is running. all is well.
3) log out. then log back in.
4) restart your task manager. Observer: no D2OL is running. srvany is still running and still thinks the service is running. BUT maybe Grid (or Dock)win is still running until they finish their 'task' (note dockwin needs to finish all 20).
5) falls back to 100% system idle process.

PCZ
05-16-2004, 08:36 AM
MerePeer

Could you post your d2ol.lax file so that it is clear where to add
lax.nl.java.option.additional=-Xrs

MerePeer
05-16-2004, 08:41 AM
I think the reason FireDaemon keeps D2OL running is that it has special 'sense if process has stopped and restart it' handling. So the good news is it restarts it. The bad news is that because the Sengent software does not checkpoint during the 20-candidate docking (the faq pg says a future release may have this), you have lost some time by restarting.

With the -Xrs solution it does not restart, just keeps tickin.

If you are already using FireDaemon, the -Xrs addition to the D2ol.lax would work to prevent it from stopping during logout too with the following caveat:

THE -Xrs IS NOT A SUPPORTED OPTION IN SOME JAVA RELEASES, perhaps it isnt supported with the embedded jvm that comes with the other d2ol install? I will try to dig up which version Sun added this switch to.

{edit} And if you are using the Microsoft JVM you may not have the logout problem; and I doubt the -Xrs would be understood/dont use it.

MerePeer
05-16-2004, 09:11 AM
I don't think the position within d2ol.lax matters, but to make it easy to find later I went down to the line that starts with
lax.nl.current.vm=
and added a blank line and then the new line

lax.nl.java.option.additional=-Xrs

I will attach a mod d2ol.lax but folks shouldnt use the whole file: the java and sengent install dirs are likely different.

Followup on support of -Xrs in java version.
I'll add the sun description below. Support was added in 1.3.1. If you find java.exe and enter "java -version" on the cmd line it will spill out the version.

From here (http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/java.html#options)


-Xrs
Reduces usage of operating-system signals by the Java virtual machine (JVM). This option is available beginning with J2SE 1.3.1.
In J2SE 1.3.0, the Shutdown Hooks facility was added to allow orderly shutdown of a Java application. The intent was to allow user cleanup code (such as closing database connections) to run at shutdown, even if the JVM terminates abruptly.

The JVM watches for console control events to implement shutdown hooks for abnormal JVM termination. Specifically, the JVM registers a console control handler which begins shutdown-hook processing and returns TRUE for CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT.

The JVM uses a similar mechanism to implement the pre-1.2 feature of dumping thread stacks for debugging purposes. Sun's JVM uses CTRL_BREAK_EVENT to perform thread dumps.

If the JVM is run as a service (for example, the servlet engine for a web server), it can receive CTRL_LOGOFF_EVENT but should not initiate shutdown since the operating system will not actually terminate the process. To avoid possible interference such as this, the -Xrs command-line option has been added beginning with J2SE 1.3.1. When the -Xrs option is used on Sun's JVM, the JVM does not install a console control handler, implying that it does not watch for or process CTRL_C_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT, or CTRL_SHUTDOWN_EVENT.

PCZ
05-16-2004, 09:43 AM
Seems to work OK on the embedded java version

I edited the d2ol.lax file and added

# LAX.NL.JAVA.OPTION.JAVA.HEAP.SIZE.MAX
# -------------------------------------
# max heap size
lax.nl.java.option.additional=-Xrs
lax.nl.java.option.java.heap.size.max=134217728



# LAX.NL.VALID.VM.LIST
# --------------------


Logged on and off a few times and it carries on running ;)

willy1
05-16-2004, 01:03 PM
Does this thing play nice with corporate firewalls? Like only talking on port 80?

PCZ
05-16-2004, 01:16 PM
It communicates with the sengent server using http port 80, so no problem with firewalls.

offamychain
05-16-2004, 04:13 PM
I know nothing about running anything as a service, 'cause I've never tried. But there is a Cmd_Line version of the D2OL client available. I have been useing it for months. Only a little bit faster, but uses lots less memory. Instruct's are in the Read-Me. EvilMoose can help you if you can't get it figgered out.

I've always noticed that after starting on each new candidate, D2OL or TSC's priority will auntomatically drop to "Low", thus it's practically impossible, & totally useless, to run a secondary project with it. After a few minutes, the 2nd project either gets the whole CPU...or nothing. I've never figgered out how to MAKE it stay higher, although I've tried everything.

Just one of the major flaws with the project as all of them have.:( :( :(

IronBits
05-16-2004, 07:26 PM
I suggest rather than a 'flaw' ...

It's more closer to 'methodolgy' you can apply, which you eluded to, doesn't like to work with a 2nd client.

So, I have my CB clients running at BelowNormal, and just leave the d2ol client running by itself.

No biggy, that's what is required to run this project.

Now quit making excuses and get over here and help pound em. :rotfl: