Proposal to the mapping section in GRP file ( !old : 20nov95! ).
  • first proposal

    This is 2-nd version:

    Section: Mapping
    {
      Group: MappOptions
      {
        static = 2;
        dynamic = 0;
        swgfile = "xyz.grp.swg";
        hwgfile = "xyz.grp.hwg";
        mapfile = "xyz.grp.map";
      }
      Group: TaskGraph
      {
        ntask = 7;
        task_name = "master", "sl1", "sl2", "sl3", "sl4", "sl5", "sl6";
        load  = 2, 1, 1, 1, 1, 1, 1;
        nchan = 12;
        comm0  = 0,1,1, 0,2,1, 0,3,1, 0,4,1, 0,5,1, 0,6,1, 0,7,1;
        comm1  = 1,0,1, 2,0,1, 3,0,1, 4,0,1, 5,0,1, 6,0,1, 7,0,1;
      }
      Group: ProcessorGraph
      {
        nproc = 4;
        proc_name  = "ups", "savba", "sierra", "sfinx";
        speed = 400, 150, 350, 950;
        comm0  =  100, 400, 100, 1200;
        comm1  =  500, 300, 400, 500;
        comm2  =  300, 400, 100, 600;
        comm3  =  700, 800, 700, 100;
      }
    }
    The mapping section includes MappingOption, where can be 2+3 parameters: PS more...(mapping tool options)
  • the choosen static mapping method (greedy/iterative/huge..., i.e. 0/1/2...)
  • the switch if the dynamic load-balancing should take place (i.e. 0/1)
  • sw & hw graph file names and mapping result file name (all the data/sections below are stored also there)

    We need to know the task structure, i.e. task graph. In our proposal there can be

  • number of parallel-running tasks
  • their names (this isn't needed for the mapping)
  • number of communication channels (channel is one-directional)
  • load value for each task
  • communication traffic between all the connected task pairs

    We also need to know the hardware structure, i.e. processor graph. There can be in this group

  • number of (PVM/MPI/...) hosts (nproc)
  • their names (necessary for PVM : pvm_spawn !)
  • their computational powers (additional info, recent mapping tool doesn't use it)
  • their interconnection costs (the diagonale values mean the inter-node comm. costs)

    The output that mapping tool creates can be written in the Result group as follows:

    Section: Mapping
    {
      Group: Result
      {
        location = 0, 1, 2, 3, 1, 2, 3;
        imbalance = 1.34;
        comm_cost = 254;
        method = "diffu";
      }
    
    }
    I propose to use third possibility of "how return mapping results to the application" - direct to the compiled "a.out" binary as external data file, i.e. application need not be recompiled (grapnel nor cc). This external file can have the same looks as the line "location = ...".
    Questions to the GRAPNEL-definition & GRED people:

  • would be the GRP file structured? If yes, further questions may be skipped : Questions to the Mapping and Simulation people:

  • do you agree with this format?
  • are these data sufficient (suggest your requirements)
    -> we had agreed on the format, but world is changing :-(