|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
appl.parallel.server.XuluServer
public class XuluServer
The Server manages the remote execution of program code. It may be started
using the main(String[])
method.
The Server reads the following properties from XuluConfig
- the
values given should be the defaults.
Property | Default | Desc |
---|---|---|
XuluServer.useCodeDownloading | false | if true, the server tries to download task class files from a HTTP-server at the client-url |
XuluServer.registryPort | 1099 | The port at which a new registry is created, if no running registry was found |
XuluServer.multicastgroup | 239.1.1.1 | The default multicast group |
XuluServer.multicastport | 10000 | The default multicast port |
XuluServer.eventDelay | 50 | Events generated on server side may be delayed to collect multiple Events and send them at once (this saves communication time).Time is given in milliseconds |
XuluServer.log4j.logLevel | info | the level can be 'debug','info','warn','error'
or 'fatal' and can be overridden by commandline - Parameters |
XuluServer.log4j.mode | console | the mode can be 'file','chainsaw' or 'console'.
File means that the configurationfile xuluserverlog4j.cfg is read. 'chainsaw' means that the server tries to configure the logger each time a new client for a chainsaw instance running at the client ip (standardports) |
XuluServer.benchmarkclass | appl.util.benchmark.SimpleBenchmark | The Benchmark to get a rating for this machine. Notice that you can override the rating with the -rating parameter |
XuluServer.useThreads | max | The number of threads to be used by the server for tasks that support multi-threading. Per default one thread is created for every available Processors (value='max'). More threads than processors may be useful for testing tasks which support multihreading or for processors which support hyperthreading. |
XuluServer.runbench | true | the benchmark is run automatically |
main(String[])
for details about command line parameters
ServerMulticastReceiver
,
Serialized FormField Summary |
---|
Fields inherited from class java.rmi.server.RemoteObject |
---|
ref |
Constructor Summary | |
---|---|
XuluServer()
Creates a new instance at the standard port |
|
XuluServer(boolean configLogging,
boolean isInternalServer,
int port)
|
|
XuluServer(boolean configLogging,
ClientDataServer clientDataServer)
This is used when a Server is running inside the Xulu-Client. |
|
XuluServer(int port)
|
Method Summary | |
---|---|
boolean |
connect()
Only a connected client has access to all functionality. |
PartitionDataServer |
createDataServer(String[] IPs)
|
void |
disconnect()
disconnects from the resource |
int |
getRating()
|
int |
getRegistryPort()
|
ComputingResourceProperties |
getResourceInformation()
Should return Information about the ComputingResource. |
boolean |
isAvailable()
|
boolean |
isClientConnected()
|
static void |
main(String[] args)
Starts the server. |
Object |
ping(Object... o)
Can be used to ping the object |
Object[] |
runSPMDModelTask(String spmdTaskName,
int referenceID,
Object... parameters)
Every time runSPMDModelTask(String, int, Object[]) is called the
newest class is loaded from the client. |
void |
stopServer()
This method frees all resources. |
Methods inherited from class java.rmi.server.UnicastRemoteObject |
---|
clone, exportObject, exportObject, exportObject, unexportObject |
Methods inherited from class java.rmi.server.RemoteServer |
---|
getClientHost, getLog, setLog |
Methods inherited from class java.rmi.server.RemoteObject |
---|
equals, getRef, hashCode, toString, toStub |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public XuluServer() throws RemoteException
RemoteException
public XuluServer(boolean configLogging, boolean isInternalServer, int port) throws RemoteException
configLogging
- enable or disable loggingisInternalServer
- set to true if you want to make method calls purely local.
This is for performance reasons (see
RemoteServer.getClientHost()
port
- port the server is bound to (0 for default)
RemoteException
public XuluServer(boolean configLogging, ClientDataServer clientDataServer) throws RemoteException
configLogging
- enable or disable loggingclientDataServer
- a local client for faster access
RemoteException
public XuluServer(int port) throws RemoteException
port
- the port to which the Server is bound
RemoteException
Method Detail |
---|
public static void main(String[] args)
args
- The following parameters are valid: LEVEL
- where LEVEL
is 'debug','info'
(DEFAULT),'warn','error' or 'fatal' CONFIG
- where CONFIG
is 'file','chainsaw' or 'console'
public boolean connect() throws RemoteException
PartitionDataServer
is reset!
connect
in interface ComputingResource
RemoteException
ComputingResource.connect()
public PartitionDataServer createDataServer(String[] IPs) throws RemoteException
createDataServer
in interface SPMDResource
IPs
- the IP addresses of all other participating servers. They MUST
have the same index as their according partition in the
SplitMap
has.
PartitionDataServer
on this resource and
returns it
RemoteException
public void disconnect() throws RemoteException
ComputingResource
disconnect
in interface ComputingResource
RemoteException
public int getRating()
public int getRegistryPort()
public ComputingResourceProperties getResourceInformation() throws RemoteException
ComputingResource
getResourceInformation
in interface ComputingResource
RemoteException
public boolean isAvailable() throws RemoteException
isAvailable
in interface ComputingResource
RemoteException
ComputingResource.isAvailable()
public boolean isClientConnected()
public Object ping(Object... o) throws RemoteException
ComputingResource
ping
in interface ComputingResource
o
- the object to ping with
RemoteException
public Object[] runSPMDModelTask(String spmdTaskName, int referenceID, Object... parameters) throws RemoteException
runSPMDModelTask(String, int, Object[])
is called the
newest class is loaded from the client. For performance reasons this will
happen only one time per connection.
runSPMDModelTask
in interface SPMDResource
spmdTaskName
- name of the taskclass to be executedreferenceID
- the ID of the Grid which should be the reference resourceparameters
- parameters for the given Task
RemoteException
- if the connection failsSPMDResource.runSPMDModelTask(String, int,
Object[])
public void stopServer()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |