![]() ![]() BRAHMS
User Guide » Developing Systems » Quick Start » Using Concerto
This documentation is offline - click here to go online
Index | Search: Go online to use Search
| ||
OverviewWarnings
You have already run BRAHMS in Solo mode, which takes advantage of multiple cores or processors available within a single shared-memory space. To deploy on multi-processing hardware, use Concerto mode. Concerto will use some communications layer (e.g. TCP/IP) to deploy your system across the distributed hardware. Step 1 - The BabbleA BRAHMS system can be executed all in one process (Solo), or broken up and distributed across multiple processes (voices) that exchange data. To start with, all these voices can be run in the same environment. This will gain nothing in terms of performance (in fact, since Concerto comms is slower than Solo comms, this will tend to degrade performance) but is a useful test; it is referred to as a Babble. ProcedureExample![]() ScriptThis example, along with the others in this section, can be found in the script M Source Code (against 995)
% section header
disp
brahms Expected OutputNote that, on Windows, you may see additional messages when using Concerto. Matlab Console
=== Using Concerto (1) ===
--------------------------------
BRAHMS execution object
--------------------------------
Name: (not set)
Title: (not set)
Precision: 6
Window: (not set)
Encapsulate All: false
Log All: true
Seed: (not set)
Addresses: 127.0.0.1, 127.0.0.1, 127.0.0.1
Affinity: (not set)
Execution Stop: 1
Working Directory: (not set)
Launch Line: each brahms ((EXECFILE)) --voice-((VOICE)) ((ARGS)) ((LOG))
System File (In): unnamed-sys.xml
System File (Out): (not set)
Execution File: unnamed-exe.xml
--------------------------------
out =
sys: [1x1 struct]
resamp: [1x1 struct]
Step 2 - DistributingOnce you have a Babble running successfully, distribution is fairly straightforward. First, you must set the addresses to the IP addresses of the machines you want to deploy on. Then you will need to construct a Launch Line that will invoke your processes on these machines. Retrieve The Launch Line used in the example below works on our development environment to launch the voices on the machines specified by IP in Procedure
ExampleScriptThis example, along with the others in this section, can be found in the script M Source Code (against 995)
% section header
disp
brahms ((EXECFILE))' brahms Expected OutputMatlab Console
=== Using Concerto (2) ===
ans =
each brahms ((EXECFILE)) --voice-((VOICE)) ((ARGS)) ((LOG))
--------------------------------
BRAHMS execution object
--------------------------------
Name: (not set)
Title: (not set)
Precision: 6
Window: (not set)
Encapsulate All: false
Log All: true
Seed: (not set)
Addresses: 192.168.101.1, 192.168.101.2, 192.168.101.3
Affinity: (not set)
Execution Stop: 1
Working Directory: (not set)
Launch Line: each ssh -XC ((ADDR)) "brahms ((EXECFILE)) --voice-((VOICE)) ((ARGS)) ((LOG))"
System File (In): unnamed-sys.xml
System File (Out): (not set)
Execution File: unnamed-exe.xml
--------------------------------
out =
sys: [1x1 struct]
resamp: [1x1 struct]
Notes
Using MPIAbove, we describe how to deploy using TCP/IP. To deploy using MPI, simply use ScriptM Source Code (against 995)
% instruct BRAHMS to use MPI to invoke and connect 3 voices
exe
Expected OutputMatlab Console
ans =
mpiexec -n ((VOICES)) brahms ((EXECFILE)) --voice-mpi ((ARGS))
Notes
|
||
This is a documentation page for the BRAHMS Modular Execution (Simulation) Framework. For details of licensing and distribution, please click here. To advise of an error or omission, please click here. |