Matlab als Client - Server unter UNIX

Bernhard Seiwald Pierre Schnizer <pierre@fubphpc.tu-graz.ac.at>

Kurzbeschreibung:

Ziel dieses Programmpakets ist es, aus einem Programm heraus auf einem Host Matlab zu starten und als Rechenmaschine zu verwenden. Dadurch können rechenintensive Aufgaben auf einem entfernten Rechner im Netz ausgeführt werden.

Date: 12.1997

Architektur: i86

Operating System: Debian, RedHat - Linux

Matlabversion:

Version 5.1.0.421

Dokumentation

Diese Paket besteht aus zwei Programmen, einem Client und einem Server. Dies ermöglicht die Matlabengine auf einer entfernten Maschine auf dem Netz auszuführen, ohne rlogin zu benötigen. In der unteren Tabelle sind die Funktionen angegeben die anstelle der Matlabfunktionen zu verwenden sind.

In der ersten Spalte stehen die Matlabfunktionen. In der zweiten Spalte die Funktionen, mit der die Aufträge der Queue übergeben werden. Mit den Funktionen der dritten Spalte holt man sich die Returnwerte der Aufträge zurück. Will man den return-wert verwenden, muss man sich den Returnwert der Funktionen der zweiten Spalte merken. Dann wird mit diesem Wert set_next_needed aufgerufen. Nun kann zu einem späteren Zeitpunkt mit der Funktion aus der dritten Spalte der returnwert erhalten werden. !!!Achtung!!! Nicht initaliserte Matlabarray müssen beim Aufruf von user_get_array bzw return_get_array = NULL sein !!!

engOpen net_engine_open  
engClose net_engine_close  
engEvalString user_eval_string return_evalstring
engGetArray user_get_array return_get_array
engPutArray user_send_array return_send_array
engOutputBuffer user_output_buffer return_outputbuffer

Da dieses Programm mit pthreads arbeitet, sollten Sie keinen fork() Systemaufruf verwenden, nachdem die threads generiert wurden. Verwenden sie den entspreche FUnktion der pthread Library.

benötigte Pakete

pthreads, Matlab

source: package.tar.gz


Pierre Schnizer
6/30/1998