X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/22b5d20a7e430ab8d5b69ef1e6a422309d45814d..c137735b718a2bc2eaadd7250d537a4601f1f8ed:/examples/msg/dht-pastry/generate.py diff --git a/examples/msg/dht-pastry/generate.py b/examples/msg/dht-pastry/generate.py new file mode 100755 index 0000000000..3817771641 --- /dev/null +++ b/examples/msg/dht-pastry/generate.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +# Copyright (c) 2011-2012, 2014. The SimGrid Team. +# All rights reserved. + +# This program is free software; you can redistribute it and/or modify it +# under the terms of the license (GNU LGPL) which comes with this package. + +# This script generates a specific deployment file for the Chord example. +# It assumes that the platform will be a cluster. +# Usage: python generate.py nb_nodes nb_bits end_date +# Example: python generate.py 100000 32 1000 + +import sys +import random + +if len(sys.argv) != 4: + print( + "Usage: python generate.py nb_nodes nb_bits end_date > deployment_file.xml") + sys.exit(1) + +nb_nodes = int(sys.argv[1]) +nb_bits = int(sys.argv[2]) +end_date = int(sys.argv[3]) + +max_id = 2 ** nb_bits - 1 +all_ids = [42] + +sys.stdout.write("\n" + "\n" + "\n" + " \n" % end_date) + +for i in range(1, nb_nodes): + + ok = False + while not ok: + my_id = random.randint(0, max_id) + ok = not my_id in all_ids + + known_id = all_ids[random.randint(0, len(all_ids) - 1)] + start_date = i * 10 + line = " \n" % ( + i, my_id, known_id, start_date, end_date) + sys.stdout.write(line) + all_ids.append(my_id) + +sys.stdout.write("")