📄 descri.txt
字号:
Author: Lucio Andrade
Name: parmatlab v1.77 Beta 11/01
Summary: This toolbox distributes processes over matlab workers available over the
intranet/internet. This toolbox implements a SPMD parallel architecture
model.
NEW IN v1.77 ---> Solved bugs when tx/rx cells, structs, and sparse
---> Now, also can tx/rx int8, uint8, int16, uint16, int32 and uint32.
Still missing: Capability of tx/rx objects.
Warning: When using chars of 16 bits, it will not tx/rx the HO byte
New in v1.7: ---> Real CROSS-PLATAFORMS, CROSS-OS and CROSS-Matlab versions !,
tested with Solarisv, linux, win98, winNT, win200, matlab 5.3 & matlab 6
---> Error handling capabilities, you can debug the workspace of a worker if
it had an error and without stopping the other workers or the majordomo
---> Improved demo which explains how to use basic functions to implement also
a MPMD parallel architecture model
---> Capability of re-use data which was already transmitted to the workers
worspace
New in v1.05: --> Better explained demo files to introduce faster the user to the tool
Important note: I have received lots of e-mail with ideas to improve this toolbox, I'll
appreciate if you send me an e-mail explaining your application, to plan
future improvments.
Description:
This toolbox distributes processes over matlab workers available over the
intranet/internet. These workers must be running a matlab daemon to be accessed.
This tool is very useful for corsely granular parallelization problems and in the
precesence of a distributed and heterogeneus computer enviroment. You can operate
the toolbox in twomodes:
[MPMD mode] Multiple program-Multiple Data parallel model; the user has the control
to send different matlab tasks to remote machines simultaneusly and retraive results
later.
[SPMD mode] Single program-Multiple Data parallel model; parallelization and managment
of remote workers is done automatically. Input data must be regularly ordered in
matlab hyperblocks.
1) You DO NOT need a common file system, all communications between tasks (tx of
commands/data) are througth tcpip connections.
2) The parallel virtual machine does not need to know which workers are available,
it'll will be listening until workers report ready. New workers can be added even if
the process has been started.
3) Parallelization can be done over different dimensions (up to 5) at the same time
and using contiguous, overlapping or constant hyper-blocks. Indexes can also vary for
different input variables, the only restriction is that the total number of parallel
elements should be the same.
4) Tcpip TOOLBOX 1.2.3 by Peter Rydesater is used for communications, but some
improvments have been done to avoid file writing to serialize data before tx.
Instead, serialization of data is achieved with a low-level MEX file. Serial data to
Matlab variables is also done with a MEX file. The latest version of the Tcpip toolbox
is not available in the Mathworks site, I included version 1.2.3 in this
distribution, but you should visit http://petrydpc.itm.mh.se/tools and check
if there is a newer version available.
Note 1: Please refer to the demos to understand how the tool is used
Note 2: Timeout utilities will be added in a future version.
Note 3: Capability to manipulate data in remote workers will be added in a future
version. But it is not clear for me yet if it is really needed.
This program is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.
=======================================================================
I'll be very glad if you let me know that this toolbox is useful for
you, please let me know any comment (landrade@ece.neu.edu).
Postcards or voluntary monetary contributions to:
78 S. Huntington Av. 12
Boston MA,02130 USA
=======================================================================
Main implementation:
===================
Lucio Andrade
CETYS University, Mexico
e-mail:lucio@cetys.mx
Contents This help file.
THESE ARE THE FILES THAT A NORMAL USER SHOULD USE
initmajordomo.m Initializes communication ports
closemajordomo.m Closes comm ports and realeses workers
parallelize.m Parallel implementation of a function
worker.m Deamon for matlab workers
sendtask.m Send a function (with variables) to a matlab worker
receivetask.m Receive results of a function finished by a matlab worker
distm_demo_1.m Basic demo
distm_demo_2.m Demo with functions from the Image toolbox
SOME UTILITY FILES THAT THE USER MIGHT USE
sendvar.m Send a var with tcpip (No file flushing)
getvar.m Get a var that was sent with sendvar.m
getmyip.m Obtains the IP address of local machine
SOME OTHER TOOLS NEEDED BY THE TOOLBOX
mvar2str.m Converts a matlab var to a string
str2mvar.m Reverses mvar2str.m
msub2ind.m Modyfied version of sub2ind.m, uses a vector of subindexes instead
mind2sub.m Modyfied version of ind2sub.m, uses a vector of subindexes instead
serial2double.c C-Source for Mex file for data conversion tool
double2serial.c C-Source for Mex file for data conversion tool
ADDITIONAL FILES FROM THE TCPIP TOOLBOX by Peter Rydes鋞er (not all used and some modifyed)
tcpip_close Closes an open tcpip connection.
tcpip_open Opens a new tcpip connection.
tcpip_read Reads an array of bytes from pipe.
tcpip_readln Reads a line of chars (bytes) if their is a complete.
tcpip_sendfile Sends a file throw connection to receiving "tcpip_getfile"
tcpip_getfile Receives a data from sending "tcpip_sendfile" and saves to file.
tcpip_sendvar Send matlab variable.
tcpip_getvar Get matlab variable.
tcpip_servopen OLD! Only for compatibility. Blocking wait for connetion!
tcpip_servsocket Creates a socket binded to a port, waiting for connections!
tcpip_listen Checks/Gets connection connected to tcpip_servsocket
tcpip_status Returns status of open connection. Detects broken connections.
tcpip_viewbuff Returns whats in receiving buffer but will not empty it.
tcpip_write Sends an array of bytes to connection.
tcpipmex.c C-source for the mex file that is core of this toolbox.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -