Download

How to download, install and use
Cluster Design Tools

 

Disclaimer

This software was created in support of my PhD thesis. Use it at your own risk.

Introduction

To learn more about the cluster supercomputer design framework and how it can help you, refer to this section: Framework.

Download

To download the entire package, use this link: clusterdesign-0.8.5.zip (4 MBytes)

The archive simultaneously includes the source code (in directory “src”) and binary versions of tools (in directory “bin”) for both MS Windows and GNU/Linux. To open the archive in Windows, you can use the excellent and free 7-Zip archiver.

Install

1. Unpack the archive contents to any folder of your choice.

MS Windows

(MS Windows note: make sure that the name of the destination folder contains only ASCII characters, and none of the custom characters of your language, if any. Therefore, your Windows desktop might be unsuitable if your Windows is not English-based. Try a different folder instead, such as “C:\TEMP”. It’s a long-standing Python bug which is still not fixed).

 

When you unpack the archive, you will see two directories: “src” and “bin”. If you are not going to view or modify the sources, you can remove the “src” directory altogether. All you need to successfully use the Cluster Design Tools is in the “bin” directory, which we implicitly assume in the text below.

2. Make sure you have Python 3.4.2 or higher available on your system.

See detailed instructions for your operating system:

GNU/Linux

Use the command “python3 -V” on your console. This should display version 3.4.2 or higher. If an older version is reported, try to update the “python3” package in your GNU/Linux distribution.

If your GNU/Linux distribution still has an older version of Python, you can install your own Python 3.4.2 or higher version right into your home directory. Download the sources (“bzipped source tarball”), unpack them and run:

./configure --prefix=$HOME

Then follow the usual compilation and installation steps as described in the Python’s README file.

When everything is complete, Python 3.4.2 will be installed into your home directory:

$ ~/bin/python3 -V
Python 3.4.2

Check again for the Python version, without supplying an exact location of the executable: “python3 -V”. (Try to re-login if it doesn’t work)

 

MS Windows

In Windows, you can download a readily available Python installer (as of June 2015, the version is 3.4.3). Note: for 64-bit Windows, use only 64-bit Python. Just make sure to select the option “Add Python to PATH” during installation.

 

3. Launch the Python-based web server.

Navigate to the folder “webserverhome” and run the script that will start a simple Python-based web server on your machine. See below detailed instructions for your operating system:

GNU/Linux

Run “startwebserver.sh”, but make sure you run it in a separate terminal window, so that you can stop the script by simply closing that window.

If you accidentally run the script in the background, there will be no window shown, and you will have difficulties terminating the web server, should you wish to start a new copy. In this case, use the following command to terminate the web server:

kill `ps x|grep python|grep cgiwebserver.py|awk '{print $1}'`

 

MS Windows

Run the script “StartWebServer.bat”. This will open a terminal window that you can later close to stop the web server.

The script will open your web browser so that you can access web services. If error messages such as “Failed to find nss3” (and others) start to scroll down your terminal window, disregard them — they might be caused by the web browser (this particular message is by “Mozilla Firefox”).

 

The script that starts the web server will also start your web browser, and open a page in it. In several seconds, your terminal window will display first lines of a typical HTTP server log file:

127.0.0.1 - - [12/Nov/2012 12:00:00] "GET /index.html HTTP/1.1" 200 -

4. Switch to your web browser and observe the list of web services.

Use the web services

To test that web services work, click their links (you can also open the links in a new tab if you wish). When respective pages load, run web services with default parameters. Check that the output is not garbled (remember that UPS sizing and floor planning web services only provide machine-readable output; it doesn’t count as garbled).

Congratulations! Now you can tweak XML databases of the tools to your liking, and start designing your own fat-tree and torus networks, or UPS systems.

To edit XML files in MS Windows, try another excellent and free tool, the “Notepad++” editor by Don Ho and other contributors.

When you are done

When finished, close the terminal window where you started the script, and the Python-based web server will terminate.

If your web browser is forcibly closed with this action, it may consider this a crash, and will inform you about it on the next start — not harmful, but still. In this case, close the browser window first, and the terminal window next.

Use the “dbcli” tool

“dbcli” is an abbreviation that stands for a database query tool run via a command-line interface. It’s useful when you start modifying XML databases and want to see how it goes. See its own page: “dbcli”.

Use the GUI-based “Cluster Design Tool”

See its own page: Cluster Design Tool.

Use SADDLE, the scripting language for cluster design

See its own page: SADDLE.

Credits

The software suite was created with Free Pascal, Lazarus, Ararat Synapse, Python, GIMP and KompoZer.