| |||||||||
Runprime - Remote model execution Description
Source Files By clicking on a file name, a preview is opened at the bottom of this page. runprimeiodistr.mos (!****************************************************** Mosel User Guide Example Problems ================================= file runprimeiodistr.mos ```````````````````````` Distributed computing: Running a model on a remote Mosel instance. (c) 2013 Fair Isaac Corporation author: S. Heipcke, Jan. 2013 *******************************************************!) model "Run model primeio remotely" uses "mmjobs" declarations moselInst: Mosel modPrime: Model event: Event NumP: integer ! Number of prime numbers found SetP: set of integer ! Set of prime numbers STOPMOD = 2 ! "Stop submodel" user event MODREADY = 3 ! "Submodel ready" user event end-declarations ! Compile 'prime.mos' locally if compile("primeio.mos")<>0 then exit(1); end-if ! Start a remote Mosel instance: ! "" means the node running this model if connect(moselInst, "")<>0 then exit(2); end-if ! Load bim file into remote instance load(moselInst, modPrime, "rmt:primeio.bim") ! Disable submodel output setdefstream(modPrime,"","null:","null:") ! Start execution and run(modPrime, "LIMIT=50000,OUTPUTFILE=bin:rmt:shmem:resdata") wait ! ... wait for an event if getclass(getnextevent) <> MODREADY then writeln("Problem with submodel run") exit(1) end-if wait(2) ! Let the submodel run for 2 seconds if isqueueempty then ! No event has been sent... writeln("Model too slow: stopping it!") send(modPrime, STOPMOD, 0) ! ... stop the model, then wait wait end-if dropnextevent ! Discard end event initializations from "bin:shmem:resdata" NumP SetP as "SPrime" end-initializations writeln(SetP) ! Output the result writeln(" (", NumP, " prime numbers.)") unload(modPrime) ! Unload the submodel end-model | |||||||||
© Copyright 2024 Fair Isaac Corporation. |