Parallel Python
Home arrow Forums arrow Python Forums arrow Parallel Python Forum arrow PP-1.5 is released!
Parallel Python Community Forums rss  
September 17, 2014, 10:35:09 AM *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Parallel python forum is up and running!
 
   Home   Help Search Login Register  
Pages: [1]
  Print  
Author Topic: PP-1.5 is released!  (Read 3780 times)
0 Members and 1 Guest are viewing this topic.
Vitalii
Global Moderator
Parallel Python
*****

Karma: 2
Posts: 518


View Profile WWW
« on: December 10, 2007, 11:43:43 PM »

Parallel Python Software 1.5 is released.

Changes w.r.t. pp-1.5-pre1:

1) versioning is enforced. For instance pp-1.5 client will work exclusively with pp-1.5 ppserver (will NOT work with pp-1.4.5 or future 1.5.1). This is done to eliminate hard-to-trace incompatibility bugs.
Therefore please upgrade all nodes to the same version of PP.

2) Error message at exit on some os "close failed: [Errno 32] Broken pipe" reported here is eliminated.

3) Formating of the code is improved (Thanks to Steve Milner).

4) Doc strings are brought up to date.

5) finished arguments of the job is set to true when job is finished (in most cases you do not need this functionality)
if job.finished:
      print "Job is finished!"

Summary of changes w.r.t. pp-1.4.*:

1) Fault-tolerance
If a remote node fails/crashes/halts or becomes unreachable  due to the network failure all jobs assigned to that node will be rescheduled on the other nodes.

2) Auto-discovery
Previous version of PP supported only a static list of hostnames or IPs which you needed to provide as an argument to server constructor. PP-1.5 supports auto-discovery which is turned on by specifying a wildcard server on client:
Code: (python)
ppservers = ("*",) or ppservers=("*:port",)
and running ppservers on the nodes with -a switch.
Code: (python)
ppserver.py -a

Auto-discovery service is based on broadcasts. Therefore you way want to provide a specific broadcast address (and on some systems you have to), such as:
Code: (python)
ppservers = ("192.168.*.*",)
and running ppservers on the nodes with -a switch.
Code: (python)
ppserver.py -a -b 192.168.255.255

NOTICE 1:
Code: (python)
ppserver.py -a
is equivalent to
Code: (python)
ppserver.py -a -b 255.255.255.255

NOTICE 2: Broadcast address on client must match exactly broadcast address on server. for instance if your server is running with -b 192.168.255.255 client must use 192.168.*.* rather than * (that is a limitation/feature of socket library).

3) Termination on timeout
If ppserver.py is started with -t num switch it will terminate if there are no connections with clients for num seconds (if jobs are running or not is irrelevant).
That is convenient in the following scenario:
You are staring ppservers (with -t 30 switch) on every node of the cluster and immediately start your client application which connects to all the ppservers and goes on with execution. Then you decide that you'd like to cancel the computation. Simply terminate the client process and all ppservers will terminate in 30 seconds.

4)  Module search path
Local directory (the one from which you start your application) is now appropriately included in the module search path.

To trace all the changes with pp-1.4 please follow these threads: beta beta2 beta3 pre

Downloads:
http://www.parallelpython.com/downloads/pp/pp-1.5.zip
http://www.parallelpython.com/downloads/pp/pp-1.5.tar.gz
http://www.parallelpython.com/downloads/pp/pp-1.5.tar.bz2
http://www.parallelpython.com/downloads/pp/pp-1.5.exe

NOTICE: if you had pp-1.4.4 or earlier installed please remove old ppserver.py file. New ppserver.py will be installed in different location and will not overwrite the old one.

Comments are appreciated!
« Last Edit: December 13, 2007, 02:02:44 PM by Vitalii » Logged

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Nutrition facts and analysis