)

        # Allocate the resources.
        cluster.allocate()

        # Set the 'instances' of the pipeline to 16. This means that 16 instances
        # of each pipeline step are executed.
        #
        # Execution of the 16 pipeline instances can happen concurrently or
        # sequentially, depending on the resources (cores) available in the
        # SingleClusterEnvironment.
        ccount = CalculateChecksums(steps=1,instances=16)

        os.system('wget -q -o UTF-8-demo.txt http://gist.githubusercontent.com/oleweidner/6084b9d56b04389717b9/raw/611dd0c184be5f35d75f876b13604c86c470872f/gistfile1.txt')

        cluster.run(ccount)

        # Print the checksums
        print "\nResulting checksums:"
        import glob
        for result in glob.glob("checksum*.sha1"):
            print "  * {0}".format(open(result, "r").readline().strip())

        cluster.deallocate()
        cluster.profile(ccount)

    except EnsemblemdError, er:

        print "Ensemble MD Toolkit Error: {0}".format(str(er))
        raise # Just raise the execption again to get the backtrace
            cores=1,
            walltime=15,
            # username=None,
            # project=None,
            # queue = None,
            # database_url='',
            # database_name='',
        )

        # Allocate the resources.
        cluster.allocate()

        # We set both the the simulation and the analysis step 'instances' to 16.
        # If they
        mssa = MSSA(iterations=1, simulation_instances=16, analysis_instances=1)
        # mssa_2 = MSSA(iterations=2, simulation_instances=32, analysis_instances = 2)

        # print mssa_1
        # print mssa_2

        # print mssa_1 == mssa_2
        cluster.run(mssa)

        cluster.deallocate()
        cluster.profile(mssa)

    except EnsemblemdError, er:

        print "Ensemble MD Toolkit Error: {0}".format(str(er))
        raise  # Just raise the execption again to get the backtrace