[Version 8.6 and later]

Configuring IBM eXtremeIO (XIO)

[Version 8.6 and later] IBM® eXtremeIO (XIO) is a transport mechanism that replaces the Object Request Broker (ORB).

Before you begin

  • [Version 8.6.0.2 only]If Version 8.6.0.2 is installed on your servers that are running XIO and you have COPY_TO_BYTES configured on the data grids, your WebSphere® eXtreme Scale Client installations must also be at Version 8.6.0.2 or later.
  • To configure XIO, all of your catalog and container servers must be at the Version 8.6 release level. For more information, see Updating eXtreme Scale servers.

About this task

You can configure XIO for all the container servers in your catalog service domain by enabling XIO in the catalog servers. The container servers discover the transport type of the catalog server and use that transport type.

Procedure

  • Enable XIO on the catalog servers. The configuration varies depending on if you are using a stand-alone, WebSphere Application Server, or Liberty environment:
    • Stand-alone catalog servers:

      XIO is enabled by default when you start your catalog server with the startXsServer command. For more information, see Starting container servers that use the IBM eXtremeIO (XIO) transport.

    • Catalog servers that are running in WebSphere Application Server:

      You can enable XIO on your catalog service domain in the WebSphere Application Server administrative console. Click System administration > WebSphere eXtreme Scale > Catalog service domains > catalog_service_domain. Select Enable IBM eXtremeIO (XIO) communication. Apply your changes. For more information, see Configuring the catalog service in WebSphere Application Server.

    • Catalog servers that are running in Liberty:
      To enable XIO in a Liberty server, set transport attribute to XIO in your server.xml file. For example, see the highlighted property in the following code example:
      <featureManager>
        ...
        <feature>eXtremeScale.server-1.1</feature>
      </featureManager>
      
      <xsServer isCatalog="true" transport="XIO" listenerPort="2809" ... />
      Attention: The server must be a catalog server, and therefore, the isCatalog property must be set to true when you configure XIO. The listenerPort setting is not required; however, XIO can recognize this port if you enable it. If you do not enable XIO, then the ORB is used on that port instead.

      Next, run the start command to start your Liberty servers.

  • To prevent the container servers from running out of direct memory, set the maximum direct memory value to 512 MB. Set the -XX:MaxDirectMemorySize=512M Java virtual machine (JVM) argument on the container servers in the environment.
    • Stand-alone container servers:

      Use the -jvmArgs parameter when you run the startXsServer command.

    • Container servers that are running in WebSphere Application Server:

      Add the JVM argument to the process definition for the container server JVM. For more information, see WebSphere Application Server documentation: Configuring the JVM.

    • Container servers that are running Liberty:

      For more information about setting JVM options in Liberty servers, see WebSphere Application Server documentation: Customizing the Liberty profile environment.

    • [Version 8.6.0.5 and later]Tip: When you use the XIO setting, -XX:MaxDirectMemorySize, be sure you have enough tenure space for the grid data, if you are keeping it on heap. Depending on the data grid size and amount of clients, you might need to tune the thread pools.
  • Optional: Use command-line arguments and server properties to configure XIO behavior.
    Update the server properties file for each container server in the configuration to enable XIO properties. After you decide on the properties that you want to set, you can set the values in the server properties file or programmatically with the ServerProperties interface.

Results

The servers that you configured use the XIO transport. To verify that the configuration is correct, see Displaying the transport type of your catalog service domain.

What to do next

You can also use IBM eXtremeMemory to help you avoid garbage collection pauses, leading to more constant performance and predicable response times. For more information, see Configuring IBM eXtremeMemory.