Initializing help system before first use

Working in a distributed architecture

Topics covered in this section:

Remote Mosel instances

When working with a Mosel model it is possible to start new instances of Mosel either locally to the running system or remotely on another machine through the network, and use these instances to run additional models controlled by the model that has started them. This means that the computing capacity of the running model is not restricted to the executing process.

Moving from a single instance implementation running multiple models to a distributed architecture most often requires only few changes to existing models, namely the setup of the remote connections. There are no restictions on the processor or operating system type: any platforms supported by Xpress can be used jointly in a distributed model run provided that they have a suitable version of Xpress installed and licensed.

Please note that before executing models on remote nodes, you need to start the Mosel server 'xprmsrv' on all nodes you wish to use: in a command line interpreter window type:

xprmsrv

or alternatively, under Windows, double click on the 'xprmsrv' icon.

Two examples show how to run remotely the model file foliomemio.mos located in the directory examples\getting_started\Mosel of your Xpress installation:
The model runfoliodistr.mos is an extension of runfolio.mos presented in the preceding section. It serves as an interface to execute remotely the model foliomemio.mos from which it retrieves the results and generates text output formatted as an HTML page.
The model version runfoliopardistr.mos starts several model instances in parallel, each on a distinct (remote) Mosel instance, and produces the corresponding summary statistics.

Further information

  • Examples: Xpress whitepaper ``Multiple models and parallel solving with Mosel'' (Section `Working with remote Mosel instances').
  • Documentation: Section `mmjobs' of the ``Xpress Mosel Language Reference Manual''.

HTTP

A Mosel model can communicate with external components via HTTP requests. It can act as a client sending HTTP queries (GET, POST, PUT or DELETE) or as a web service by starting the integrated HTTP server.

HTTP client functionality in Mosel can be configured to work synchronously (a request waits for the answer from the server) or asynchronously (functions sending requests return immediatly and termination messages are sent via separate event messages). Other configuration settings involve, for example, the maximum number of simultaneous requests accepted by a server or the TCP port to be used by remote connections.

The example file foliohttpsrv.mos starts up an HTTP server that accepts HTTP requests triggering the execution of the optimization model in file folioxml.mos. The model foliohttpclient.mos shows what the corresponding HTTP client might look like, it exchanges input and result data in XML-format with the HTTP server and displays the solution. Both examples are located in the directory examples\getting_started\Mosel of your Xpress installation.

Further information

  • Documentation: Section `mmhttp' of the ``Xpress Mosel Language Reference Manual''.

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.