Page Tools


    Hello, this is the documentation for the ADAGE JuxMem Plugin. This plugin can be used to deploy the JuxMem service, starting from release 0.5. If you plan to deploy older version based on JXTA please read the jxta page.

    There is no support for file transfer at the moment, which means that JuxMem library and binaries (at least examples/omnipeer) have to be installed on each deployed node. If you are using a shared NFS this can help with this problem.

    Describing a JuxMem application

    A JuxMem application is composed by three types of peers. The manager peer which is unique, several provider peers and clients. Please refer to the JuxMem documentation to understand how these roles are acting and, possibly, what you are doing.

    This plugin is designed for JuxMem-C 0.5 and later.

    The description of the applications starts as follow:

    <?xml version="1.0"?>
    <!DOCTYPE JUXMEM_application>
    <JUXMEM_application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="../../src/plugin/juxmem/JUXMEM_application.xsd"
    >

    Describing a JuxMem cluster

    You can define clusters using the juxmem_cluster tag.

    <juxmem_cluster id="cluster1">
     <managers>
      <manager id="manager1" port="9876" uptime="60" />
     </managers>
     <providers>
      <provider id="provider1" port="9875" uptime="60" mem="240" card="1" />
     </providers>
     <clients>
      <client id="writer" port="9874" bin="omnipeer"
              args="@peerid @groupid @tcpport writer 10 @managerhostname @managertcpport 1 10" card="1" />
     </clients>
    </juxmem_cluster>
     
    <juxmem_cluster id="cluster2" rdv="cluster1">
     <managers />
     <providers />
     <clients>
        <client id="reader" port="9872" bin="myreader" card="1" />
     </clients>
    </juxmem_cluster>

    Each cluster can contain as many peer as you need, but only one cluster can host a manager peer. Even when a cluster does not contain any peer, managers, providers and clients xml nodes have to be put in the description.

    Describing a JuxMem client

    Use the following tag to declare a client.

    <client id="writer" port="9874" bin="omnipeer"
            args="@peerid @groupid @tcpport writer 10 @managerhostname @managertcpport 1 10" card="1" />

    Binary (bin) can be a full path to the client binary. Please make sure this binary can be used from each deployed node as there is no file transfer support for the moment.

    Arguments (args) can mix up variables and real values. Variables start with a “@” and are instantiated on each deployed node at startup. Here is the list of possible variables:

    • @peerid the JuxMem peer id calculated by ADAGE (ensures to be unique)
    • @groupid the JuxMem group id (ensures to be in the right cluster)
    • @tcpport the TCP port number
    • @managerpeerid the peer id of the manager this client has to connect to
    • @managerhostname the hostname of this manager
    • @managertcpport the TCP port number used by this manager
    • @role role played by this peer (set to 'client')
    • @uptime up time (not used)
    • @memsize memory size (not used)

    Some of these information are also flushed in the local JuxMem configuration file (juxmem.conf).

    Control Parameters

    This plugin recognizes a specific control parameter.

    • binary : the default name for peer.

    Example: ADAGE control parameter file:

    ?xml version='1.0'?>
    <!DOCTYPE ctrl_params>
    <ctrl_params xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/ctrl_params.xsd">
      ...
      <plugins>
        <plugin name="JUXMEM" file="/path/to/ctrl-juxmem.xml"/>
      </plugins>
      ...
    </ctrl_params>

    JuXMeM plugin control parameter file:

    <?xml version='1.0'?>
    <!DOCTYPE ctrl_params_juxmem>
    <ctrl_params_juxmem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=".../ctrl_params_juxmem.xsd">
    <component_server>/path/to/CSD/ComponentService.csd</component_server>
    <binary>/path/to/defaukt/binary</binary>
    </ctrl_params_juxmem>

    Powered by Heliovista - Création site internet