Channels ▼


Python NetWorkSpaces and Parallel Programs

Source Code Accompanies This Article. Download It Now.

The Web Interface

NetWorkSpaces and the variables they contain exist independently of particular client programs. Examining the contents can be helpful when debugging or understanding a program, or monitoring the progress of an application. NWS includes a web interface that displays the workspaces and their contents. Figure 1 is a list of NetWorkSpaces; if you clicked on "test," you'd see something like Figure 2. By clicking on a variable, you can see a list of the current values (Figure 3).

[Click image to view at full size]

Figure 1: List of NetWorkSpaces.

Figure 2: Results of clicking "test".

Figure 3: Clicking on variables displays a list of current values.

Since values are serialized objects not easily interpreted by Python, how can the web interface display values that come from other languages (R vectors, octave matrices, and so on)? The translation is performed by language-specific "babelfish" services that understand how to deserialize and display their own datatypes. Babelfish are just ordinary clients that get translation tasks and return results via NWS.

As you can see, the interface provides a limited capability to alter the NWS state by deleting workspaces and variables. Appropriately designed code can make good use of this as a signaling mechanism. We use it, for example, to provide a web-intermediated process initialization for certain deployments of the Sleigh system.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.