IMSuite: IIT Madras Benchmark Suite for Simulating
Distributed Algorithms

IIT Madras logo

Frequently Asked Questions

  1. Who can use IMSuite?
    IMSuite is available under EPL license version 1.0. Any person can use the suite in accordance with the license. For further information please visit EPL.
  2. How to install IMSuite?
    To install IMSuite gunzip the downloaded file (tar.gz). The gzipped folder includes a README file which consists of instructions regarding compilation and execution of IMSuite kernels.
  3. Which languages the suite requires?
    At present the IMSuite distribution provides implementation for each algorithm in two languages: X10 and HJ.
  4. What are the X10 and HJ versions used for implementation of IMSuite kernels?
    IMSuite kernels are available in two X10 versions: x10-2.3.0 and x10-2.5.0, and one HJ version hj-1.3.1.
  5. What is the difference between IMSuite subsets: X10-FA and X10-FA-2.5.0 ?
    IMSuite subset X10-FA consists of kernels implemented using x10-2.3.0, while X10-FA-2.5.0 consists of kernels implemented using x10-2.5.0.
  6. What are different execution models for IMSuite kernels?
    IMSuite kernels can run on Unique Place (UP), Single Place (SP) or Multi-Place (MP) model.
    • In UP model at each place tasks corresponding to a specific node are run.
    • In SP model all the tasks run at a single place.
    • In MP model tasks corresponding to more than one node may execute.
    Further explanation of these models is present in the documentation.
    X10 supports all the three models (UP, SP and MP) while HJ supports only SP model.

  7. What are the different command-line options available while executing IMSuite kernels?
    The different command-line options are:
    • -in - For specifying the input file for the kernel.
    • -out - For specifying the output file for the kernel.
    • -ver - For validating the resulting output of the kernel.
  8. How to pass an input to a benchmark?
    To each benchmark kernel the input is passed as a file at the time of execution.
    For this a command line option -in is utilized.
  9. How to get the output from a benchmark?
    Each benchmark writes its output to a file specified by the user at the time of execution.
    To specify name of the file in which output has to be written, command line option -out is used.
    If this option is not provided then output is written to a default file.
  10. How to validate the output generated from a benchmark?
    To validate the output a validation option can be passed at command line during execution of the benchmark kernel.
    -ver or -verify, either of the two can be passed for validation.
    If these options are not passed then validation procedure will not execute.
  11. How to generate an input?
    To generate the input for a benchmark kernel, corresponding input generator can be used. All the input generators are coded in java. The following example depicts the compilation and execution of an input generator.
    Kernel:		inputGeneratorBFSBellman.java
    Input File:	inputbfsBellmanFord_128_-spmax.txt
    Input Size:	128 nodes
    
    Compilation:	javac inputGeneratorBFSBellman.java
    
    Execution:
    java inputGeneratorBFSBellman -in inputbfsBellmanFord_128_-spmax.txt -sz 128 -spmax
    Other options can also be passed at runtime.
  12. How to compile and execute an X10-FA and X10-FAC kernels?
    X10-FA and X10-FAC kernels are implemented in X10. So these require pre-installation of X10 for execution. The following example depicts the compilation and execution of an X10-FA and X10-FAC kernel.
    Kernel:		bfsBellmanFord.x10
    Input File:	inputbfsBellmanFord_128_-spar_max.txt
    Output File:	output.txt
    Input Size:	128 nodes
    
    Compilation: 	x10c bfsBellmanFord.x10
    
    UP Model:
    Set X10_NUMPLACES=128
    Execution: 
    x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
    
    SP Model:
    Set X10_NUMPLACES=128
    Execution: 
    x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
    
    MP Model:
    Set X10_NUMPLACES=16
    Execution: 
    x10 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
    
  13. How to compile and execute an HJ-FA and HJ-FAP kernels?
    HJ-FA and HJ-FAP kernels are implemented in HJ. These require pre-installation of HJ for execution. The following example depicts the compilation and execution of an HJ-FA and HJ-FAP kernel.
    Kernel:		bfsBellmanFord.hj
    Input File:	inputbfsBellmanFord_128_-spar_max.txt
    Output File:	output.txt
    Input Size:	128 nodes
    
    Compilation: 	hjc bfsBellmanFord.hj
    
    Execution:
    hj -places 1:128 bfsBellmanFord -in inputbfsBellmanFord_128_-spar_max.txt -out output.txt -ver
    
  14. I have modified IMSuite kernels, how should I upload them.
    In case you have modifed IMSuite kernels and you wish to share them with the rest of the community then please feel free to contact any of the authors. We would be happy to upload the modifications.

last modified 17:30, 21 December 2014