S A N K H Y A Copyright (c) 2006 Sankhya Technologies Private Limited. All rights reserved. SANKHYA Varadhi: Development Notes for using SANKHYA Varadhi for ARM/XScale Target [ Linux OS ] ============================================================================ SANKHYA Varadhi can be used to develop distributed applications for ARM-XScale target using arm-linux-g++ 3.2. Sankhya Varadhi supports Linux development environment for ARM/XScale targets. SANKHYA Varadhi applications for ARM/XScale target are built on the host system (Red Hat Linux) and executed on the target platform. Pre-requisites Linux Development tools environment should be setup before using SANKHYA Varadhi. a. Linux for ARM/XScale Host : x86 PC Host OS : RedHat Linux 7.2/RHEL Target : ARM/XScale Target OS : Linux adsdebian 2.6.11.11-ep93xx-pxa-ads2 Tools : arm-linux-g++ 3.2 Using Varadhi for ARM/XScale [ Linux ]: Refer to the main samples README in $VARADHI/samples directory to setup Varadhi Target Platform, to build and execute the demos. The steps mentioned in the README file are same for ARM/XScale [Linux] except step (3) "Create a Varadhi Target Platform" and step (7) "Running the demo program". Refer below for creating a Varadhi Target Platform for ARM/XScale and to run demo program under Linux. 1. Create a Varadhi Target Platform for Linux ARM/XScale Target. Varadhi can be customized for a particular target configuration using vconf. Varadhi configuration files are provided under $VARADHI/etc/config directory to create various Varadhi Target Platforms. For example, to create a default platform on Linux host for ARM/XScale target, that supports C++ Exception, use the following. 1.a Change directory to your workspace. In csh % cd $WORK_DIR 1.b Invoke vconf with three config files, one providing configuration options for the ORB, another one specifying the target platform (ARM/XScale using arm-linux-g++) and another one for licensing. In csh % vconf defaults arm-linux-gcc slicense The configuration that is built with 'defaults' configuration file enables C++ Exception support. Config parameters to increase the message parameters size, number of child POAs and number of objects that can be registered in a POA are specified in "se.cfg" config file. Vconf should be invoked with "se.cfg" file also for Varadhi Platform creation to increase the limits of these ORB and POA config parameters. In csh % vconf defaults se arm-linux-gcc slicense 2. Running the demo program Copy the executables (for e.g., 'server' and 'client' for adder demo) to an NFS mounted directory on target environment. You can now run the application programs on the target. For example, to run the adder demo, start the 'server' application and then run the 'client' application. a. Start the Server Application In sh % ./server & b. Run the Client Application In sh % ./client To run other demo programs, follow the steps mentioned in the README files in the individual demo directory. Note: 'server' and 'client' are not required to be run on the same host. If different hosts are used, copy the IOR files created by the server applications to the client host under the same demo location. 3. Performance Considerations Varadhi uses two configuration variables to control timeouts while checking for transport connection state and checking for messages. The default values for these timeouts have been selected based on careful performance measurements. So, for most cases these default settings are recommended. It should be noted that modifying these parameters arbitratily can result in decreased throughput/turn-around time. Any changes to these parameters should be done after carefully measuring the impact on the performance. a. The default value for the timeout while checking for messages is 20ms. This can be overridden either using Varadhi ORB command line option "--VaradhiTIMEOUT" or by overriding the Vconf variable varadhi::orb::default_timeout and rebuilding the Varadhi Platform. b. The default value for the timeout while checking for connection state is set to 0ms. This can be changed by overriding the Vconf variable varadhi::orb::connect_timeout and rebuilding the Varadhi Platform.