Newsgroups: comp.lang.tcl.announce,comp.lang.tcl,comp.parallel.pvm
From: Jan Nijtmans <nijtmans@nici.kun.nl>
Subject: ANNOUNCE: Tkpvm version 1.1 available
Organization: NICI (Nijmegen Institute of Cognition and Information)
Date: 6 Dec 1996 01:26:07 -0800
Message-ID: <588orf$i0o@non.non.net>


Tkpvm version 1.1 is released. It can now be downloaded from:

	ftp://ftp.nici.kun.nl/pub/tkpvm/tkpvm1.1.tar.gz
	ftp.neosoft.com/pub/tcl/incoming/tkpvm1.1.tar.gz
	http://www.hensa.ac.uk/parallel/environments/pvm3/tkpvm/tkpvm1.1.tar.gz

But later (in a few days, hopefully) it will also be available at:

	ftp://ftp.neosoft.com/pub/tcl/NEW/tkpvm1.1.tar.gz
	ftp://mirror.neosoft.com/pub/tcl/NEW/tkpvm1.1.tar.gz
	ftp://pcrf.anu.edu.au/HENSA/environments/pvm3/tkpvm/tkpvm1.1.tar.gz
	ftp://ftp.ibp.fr/pub/parallel/environments/pvm3/tkpvm/tkpvm1.1.tar.gz
	ftp://ftp.jussieu.fr/pub/parallel/environments/pvm3/tkpvm/tkpvm1.1.tar.gz
	ftp://ftp.gwdg.de/pub/parallel/ipca/pvm3/tkpvm/tkpvm1.1.tar.gz
	ftp://ftp.center.osaka-u.ac.jp/parallel/hensa/environments/pvm3/tkpvm/tkpvm1.1.tar.gz

For more information, the Tkpvm homepage can be found at:

	http://www.cogsci.kun.nl/tkpvm/welcome.html


WHAT'S NEW:
- Works together with Tcl7.5, Tcl7.6 and Itcl2.1. For Tcl7.5 and Tcl7.6
  patches are required (included in the distribution). In Itcl2.1 these
  are already integrated.
- Support for operation in a Safe interpreter. It is even possible now
  to create a special version of the library (libPvm1.1plug.so) which
  can be loaded in the Tcl/Tk Netscape plugin. Using this library will
  turn Netscape into a normal PVM process, which can communicate with
  other PVM processes in the same virtual machine. But creation or
  killing processes is no longer allowed. A patch for safe.tcl is also
  in the distribution, to give the Plugin read access to the tkpvm1.1
  sub-directory. This is still experimental. Version 2 of the Tcl/Tk
  Netscape plugin will hopefully have a better way of registering packages.
- New "conf" command, for reading back the configuration of the PVM
  virtual machine.
- Now you can receive arrays as well as single items. For example:
	set array [recv int(5)]
  In version 1.1, the only way to do this was:
	set array [recv int int int int int]
  It is also possible to receive a variable number of items, e.g.:
	set array [recv string()]
  which can receive an array sent by:
	send <tid> <msgtag> -string() {string1 string2 .......}
- Includes Jeffrey Hobb's TkCon console (version 0.70) as the
  standard console for pvmsh. This allows to use pvmsh as a console
  which can connect to any display, even when spawned as a background
  process. For example:
	spawn -host <host> pvmsh -display <display>
  This will create a new process (pvmsh), which also has a console
  window on any display. Very handy for debugging. From the console
  you can see what the process is receiving. And you can manually
  send anything to other processes, just by typing the command in
  the console window.
  Previously there was a small script "shell.tcl" in the distribution
  for this purpose, but TkCon is just much better

WHAT IS TKPVM

Tkpvm is the result of a wedding. The husband is pvm3.3.x (preferably
3.3.11) and the wife is Tcl7.5/Tk4.1 or Tcl7.6/Tk4.2. As usual with a
marriage, both sides profit from the combination:

PVM-users
     The Tcl-language is an interpreted scripting language. With Tkpvm you
     can now write pvm processes in the Tcl language, as opposed to C or
     Fortran. No compilations are necessary any more, once you created pvmsh
     and pvmwish. The shell program pvmsh can be seen as an enhanced version
     of the pvm console. It can control the virtual machine in the same way
     as the pvm console does, but it is a full shell with history
     substitution ('!!') and variables.
     The pvmwish interpreter has the same function as pvmsh, but in addition
     it has a lot of commands to build your own grapical user interface.
     There are buttons, entry widgets, menu's and so on. Now each process
     can have input and output through it's own X11-window.
Tcl/Tk-users
     PVM is a library for controlling a virtual parallel machine which
     consists of any number of hosts. Processes can spawn and kill each
     other and communicate through a pvm-channel. It can be compared with
     the Tk 'send' command, only it works with sockets. Therefore it runs
     without Tk (X11), and the processes can use different displays and run
     on different hosts. In addition, pvmsh takes control of the event loop
     from Tcl, while pvmwish does the same with Tk. The library can also be
     dynamically loaded in tclsh or wish, only you have to provide your own
     event-loop then (a small patch to Tcl/Tk which makes this not necessary
     any more is provided in the patch subdirectory of the Tkpvm
     distribution).

The pvm-related commands that can be used in Tcl now are:
     send, recv
          Send and recieve anything from or to any other pvm process.
     spawn, kill
          Spawn and kill other processes. (disabled in a safe interpreter)
     tasks
          Request information about running tasks.
     conf (New in versions 1.1)
          Request information about current configuration of the
          PVM virtual machine.
     bind
          Bind pvm-related events in the Tcl/Tk event loop. This is a very
          powerful command which makes programming an event-driven
          application much easier. To do the same in C or Fortran is much
          more difficult. PVM has no equivalent function for this. Tk has,
          but originall it is only used for X-events. Now the same can be
          done with PVM-events.
     And many more.....


Regards,
	Jan Nijtmans
	NICI (Nijmegen Institute of Cognition and Information)
	email: nijtmans@nici.kun.nl
	url:   http://www.cogsci.kun.nl/~nijtmans/

