<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">Hello,</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">I would like to announce dispy (http://dispy.sf.net) that can</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">distribute and parallelize computations among computing nodes over</span></font></div><div><font class="Apple-style-span"
face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">network (yes, yet another implementation of parallelization). This is</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">useful for problems in SIMD paradigm where a computation can be</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">executed with multiple data simultaneously. Salient features of dispy</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">are:</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size:
16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> * Computations (Python functions or standalone programs) and its</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> dependencies (files, Python functions, classes, modules) are</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> distributed automatically as and when needed.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times,
serif"><span class="Apple-style-span" style="font-size: 16px;"> * Computation nodes can be anywhere on the network. For security,</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> either simple hash based authentication or SSL encryption can be</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> used.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> * A computation may specify which nodes are allowed to execute
it</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> (for now, using simple patterns of IP addresses).</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> * After each execution is finished, the results of execution, output,</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> errors and exception trace are made available for further</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times,
serif"><span class="Apple-style-span" style="font-size: 16px;"> processing.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> * Nodes may become available dynamically: dispy will schedule jobs</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> whenever a node is available and computations can use that node. If</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> a node fails while executing scheduled jobs, those jobs may
be</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> resubmitted to other nodes if computations allow it.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> * dispy can be used in a single process to use all the nodes</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"> exclusively (simpler to use) or in multiple processes sharing the</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times,
serif"><span class="Apple-style-span" style="font-size: 16px;"> nodes.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">Currently dispy works with Python 2.7 and has been tested with nodes</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">running Linux and OS X.</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;"><br></span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span
class="Apple-style-span" style="font-size: 16px;">Thanks,</span></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><span class="Apple-style-span" style="font-size: 16px;">Giri</span></font></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "><br></div></div></div></body></html>