Improved Directory Protocol

Improved Directory Protocol preview image

1 collaborator

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.0-M5 • Viewed 295 times • Downloaded 17 times • Run 0 times
Download the 'Improved Directory Protocol' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Info tab cannot be displayed because of an encoding error

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals[
  nodes             ;;list of all the patches that act as nodes in the network (# of nodes = 2^NETWORK-SIZE)
  #-of-rows         ;;# of rows in network
  #-of-columns      ;;# of columns in network
  error-set         ;;if error during setup, will not proceed with simulation

  top-edges         ;;if torus network, identifies the North boundary nodes that will cross to the South boundary nodes
  right-edges       ;;if torus network, identifies the East boundary nodes that will cross to the West boundary nodes
  left-edges        ;;if torus network, identifies the West boundary nodes that will cross to the East boundary nodes
  bottom-edges      ;;if torus network, identifies the South boundary nodes that will cross to the North boundary nodes

  current-workload  ;;sum of read + write sent to each directory
  read-workload     ;;reads sent to each directory
  write-workload    ;;writes sent to each directory

  assigned-nodes    ;;tracks nodes who have already been assigned a directory (used during directory placement)
  assignable-nodes  ;;tracks nodes who have not been assigned a directory (used during directory placement)

  network-set?      ;;flag indicating network set
  directories-set?  ;;flag indicating directories are set

  total-times-write-prioritized  ;;counts the number of times conflict in assigning directories resulted in prioritizing the node with the higher amount of writes to this directory
  total-times-read-prioritized   ;;counts the number of times conflict in assigning directories resulted in prioritizing the node with the higher amount of reads to this directory

  total-hops              ;;counts the total hops every message created has taken once it reaches its home node (destination)
  total-messages          ;;counts the total messages sent and received during the simulation
  total-workload-messages ;;counts the total messages there are for this workload
]

breed [messages message]  ;;messages

patches-own[
  id                          ;;node id number
  directory-id                ;;directory id number
  message-in-transit?         ;;true if this node already has a message traveling the network
  node-workload               ;;workload for this node; indexed by directory number, #of messages sent to that directory
  node-workload-probabilities ;;upper workload probability for each directory for this node; indexed by directory number, used to create messages fairly in a proportioned manner

]

messages-own[
  local-node          ;;node id created at
  home-directory      ;;directory id traveling to
  hops                ;;# of hops taken through network from local-node to home-directory
]


;;setup procedure
;;create the network based on the configuration settings selected

to setup-network
  clear-all
  set error-set false
  set-network            ;; sets if mesh or torus
  set-nodes              ;; creates network of 2^network-size nodes
  set-workload           ;; based on network size and testbench selected: sets up workloads
  set-workload-per-node  ;; creates workloads for each node
  set-globals            ;; global variable set up

  set network-set? true  ;; mark network has been set
  reset-ticks
end 

;;setup procedure
;;assign directories based on placement plan selected, label the nodes with their directory id

to setup-directories

    if-else network-set? != true
    [user-message "The network has not been set, please setup the network before continuing." stop]
    [if not error-set
      [place-directories]  ;; place directories based on algorithm selected

    ask nodes [set plabel directory-id]  ;;show each nodes directory id assigned in the model

    set directories-set? true  ;;mark directories have been set

    set assigned-nodes [] ;;reset globals
    set assignable-nodes n-values (count nodes) [?] ;;reset globals

    reset-ticks]
end 


;;go procedure
;;each node will only have one message in the system at one time
;;each message will travel from its local node to the home node
;;(the node with the matching directory id)

to go

  if network-set? != true [user-message "The network has not been set, please setup the network before continuing." stop]
  if not directories-set? [user-message "The network setup has changed, please setup the diretories before continuing." stop]
  if error-set [user-message "Invalid model settings." stop]
  if (total-messages >= total-workload-messages) or (ticks >= 2000000) [stop]

  ask messages [decide-direction]
  send-one-message-at-time

  tick
end 


;;node procedure
;;if the node doesn't already have a message in the network, send one new message.
;;the message will select a home node directory based on the workload at this node.
;;this allows the messages to be fairly proportioned like the workload but still generated randomly at each tick.

to send-one-message-at-time


  let node-sending []
  let send-to-dir n-values  (count nodes) [-100]
  let max-work 0
  ask nodes with [message-in-transit? = false]
    [

      set node-sending (lput [id] of self node-sending)
      let send-me random-float 100
      let send-to-this-directory 0
      let bigger-than-previous true
      foreach node-workload-probabilities
      [
         if bigger-than-previous and send-me <= ?
         [set send-to-this-directory (position ? node-workload-probabilities)
          ]

         if send-me < ? [set bigger-than-previous false]
      ]

      set send-to-dir (replace-item ([id] of self) send-to-dir send-to-this-directory)
    ]

  let x 0
  let y 0
  foreach node-sending
      [
        ask nodes with [id = ?]
          [set x pxcor
            set y pycor
            set message-in-transit? true
          ]


        create-messages 1
        [setxy x y
          set size 1.5
          set hops 0
          set local-node ?
          set home-directory (item ? send-to-dir)
          if-else (? = watch-messages-from-this-node) ;;for visualization purposes only
             [set color yellow
               watch-me
               clear-output
               output-print home-directory]
             [set color blue]

        ]
      ]
end 

;;node procedure
;;set up each node's unique workload and the probabilies of sending a message
;;to each directory based on that workload

to set-workload-per-node

;;set workload
foreach current-workload
  [ ask nodes
    [set node-workload (lput (item id (but-first ?)) node-workload)] ]

;;set probability upper bounds for each directory for given node
ask nodes
  [ let cumulative 0
    let total sum(node-workload)
    foreach node-workload
    [ set cumulative (cumulative + ?)
      let upper-probability (100 * (cumulative / total))
      set node-workload-probabilities (lput upper-probability node-workload-probabilities)
    ]
  ]
end 


;; turtle procedure
;; messages decides which node to go to next (N-S-E-W or stay if current = home)

to decide-direction

  let node-id 0
  ask patch-here [set node-id id]

  let destination home-directory
  ask nodes with [directory-id = destination] [set destination id]

  let current-row floor(node-id / #-of-columns)
  let desired-row floor(destination / #-of-columns)
  let current-col (node-id mod #-of-columns)
  let desired-col (destination mod #-of-columns)


  if-else node-id = destination ;; ARRIVED
  [let done-sending local-node
    ask nodes with [id = done-sending] [set message-in-transit? false] ;; allow the node to send a new message the next clock cycle
    set total-hops (total-hops + hops)  ;;update global hop count with this message's total hops
    set total-messages (total-messages + 1) ;;increase number of messages successfully sent
    die ;;remove message from simulation
  ]
  [
    if-else  current-row = desired-row ;;Prioritize N-S direction first, followed by E-W
    [
      let wrap-it? abs(current-col - desired-col) > (#-of-columns / 2)
      if-else (not torus? and current-col > desired-col) or (torus? and (wrap-it? and current-col < desired-col) or (not wrap-it? and current-col >= desired-col))
        [go-west set hops (hops + 1)]
        [go-east set hops (hops + 1)]
    ]

    [
      let wrap-it? abs(current-row - desired-row) > (#-of-rows / 2)
      if-else (not torus? and current-row > desired-row) or (torus? and (wrap-it? and current-row < desired-row) or (not wrap-it? and current-row >= desired-row))
        [go-north set hops (hops + 1)]
        [go-south set hops (hops + 1)]
    ]


  ]
end 

;;message procedure
;;travel north through the network; if torus wrap around to the bottom boundary nodes

to go-north

  let my-id id
  let go-x 0
  let go-y 0
  if-else id <= #-of-columns
    [if-else torus?
      [ask nodes with[ id = (#-of-rows * #-of-columns) - (#-of-columns - my-id) ] [set go-x pxcor set go-y pycor]]
      [ask patch-here [set go-x pxcor set go-y pycor]]]
    [ask nodes with[ id = (my-id - #-of-columns)] [set go-x pxcor set go-y pycor]]
  face patch go-x go-y
  move-to patch go-x go-y
end 

;;message procedure
;;travel south through the network; if torus wrap around to the top boundary nodes

to go-south

  let my-id id
  let go-x 0
  let go-y 0
  if-else id >= ((#-of-rows * #-of-columns) - #-of-columns)
    [if-else torus?
      [ask nodes with[ id = ( #-of-columns - ((#-of-rows * #-of-columns) - my-id  ))] [set go-x pxcor set go-y pycor]]
      [ask patch-here [set go-x pxcor set go-y pycor]]]
    [ask nodes with[ id = (my-id + #-of-columns)] [set go-x pxcor set go-y pycor]]
  face patch go-x go-y
  move-to patch go-x go-y
end 

;;message procedure
;;travel east through the network; if torus wrap around to the left boundary nodes

to go-east

  let my-id id
  let go-x 0
  let go-y 0
  if-else id mod #-of-columns =  (#-of-columns - 1)
    [if-else torus?
      [ask nodes with[ id = (my-id - #-of-columns + 1)] [set go-x pxcor set go-y pycor]]
      [ask patch-here [set go-x pxcor set go-y pycor]]]
    [ask nodes with[ id = (my-id + 1)] [set go-x pxcor set go-y pycor]]
  face patch go-x go-y
  move-to patch go-x go-y
end 

;;message procedure
;;travel west through the network; if torus wrap around to the right boundary nodes

to go-west

  let my-id id
  let go-x 0
  let go-y 0
  if-else id mod #-of-columns = 0
    [if-else torus?
      [ask nodes with[ id = (my-id + #-of-columns - 1)] [set go-x pxcor set go-y pycor]]
      [ask patch-here [set go-x pxcor set go-y pycor]]]
    [ask nodes with[ id = (my-id - 1)] [set go-x pxcor set go-y pycor]]
  face patch go-x go-y
  move-to patch go-x go-y
end 

;;setup procedure
;; sets nework to either be a mesh or torus

to set-network
  if-else torus?
    [__change-topology true true]
    [__change-topology false false]
end 


;;setup procedure
;;creates nodes as patches evenly spaced out in the screen
;;number of nodes created = 2 ^ NETWORK-SIZE
;;NOTE: this model screen size supports networks up to NETWORK-SIZE = 8 (256 nodes)

to set-nodes
  ask patches [set id -1] ;;to ensure won't treat patches that are nodes like nodes

  let grid-x-inc 0
  let grid-y-inc 0
  if-else network-size mod 2 = 0
  [
    set grid-x-inc world-width / (sqrt (2 ^ network-size ))
    set grid-y-inc world-height / (sqrt (2 ^ network-size ))
  ]

  [
    set grid-x-inc world-width / (sqrt (2 ^ (network-size + 1)))
    set grid-y-inc world-height / (sqrt (2 ^ (network-size - 1)))
  ]

  set nodes patches with
    [(floor((pxcor + max-pxcor - floor(grid-x-inc - 1)) mod grid-x-inc) = 0) and
      (floor((pycor + max-pycor) mod grid-y-inc) = 0)]

  let n 0
  foreach sort nodes [
    ask ? [
      set id n
      set plabel id
      set n n + 1
      set pcolor green
      set message-in-transit? false
      set node-workload []
      set node-workload-probabilities []
    ]
  ]
end 

;;setup procedure
;;resets all global values

to set-globals
  let row 0
  let col 0

  ask nodes with [id = 1]
  [set row pxcor
    set col pycor]

  set #-of-rows count nodes with [pxcor = row]
  set #-of-columns count nodes with [pycor = col]

  set assigned-nodes []
  set assignable-nodes n-values (count nodes) [?]
  set total-hops 0
  set total-messages 0

  ask nodes [set total-workload-messages (total-workload-messages + (sum node-workload))]
  set total-times-read-prioritized 0
  set total-times-write-prioritized 0
  set directories-set? false
end 

;;setup procedure
;;combines read + write workloads to make a general workload

to make-current-workload

  set current-workload []
  foreach read-workload
    [set current-workload (lput (list (first ?)) current-workload)]

  ;; CREATE READ + WRITE WORKLOAD INFO
  let temp current-workload
  let i 0
  foreach read-workload
    [ let n 1
      let add-me 0
      let add-all-me []
      foreach read-workload
      [

        let read-value item n (item i read-workload)
        let write-value item n (item i write-workload)
        set add-me (read-value + write-value)
        set add-all-me (lput add-me add-all-me)
        set n n + 1
      ]

      let directory-num item i current-workload
      let directory-entry (sentence  directory-num add-all-me)
      set current-workload (replace-item i current-workload  directory-entry)
      set i i + 1
    ]
end 

;; node procedure
;; optimize the directory placement based on the workload given by choosing
;; to assign the most used directories to the node that uses it that often
;; and conflicts arise if workloads for that directory are the same between nodes
;; and thus resolved with the type priority selected.

to optimal-max [this-workload type-priority]
ask nodes
  [
    let index-list []
    let max-list []
    let allowable-node-loads []
    let n 0

    foreach this-workload [

      set index-list lput first (item n this-workload) index-list

      let original-node-loads (but-first (item n this-workload))
      set allowable-node-loads original-node-loads
      let temp-node original-node-loads

      foreach original-node-loads

      [if member? (position ? temp-node) assigned-nodes
        [set temp-node (replace-item (position ? temp-node) temp-node -4)

          let c1 length allowable-node-loads
          set allowable-node-loads (remove-item (position ? allowable-node-loads)  allowable-node-loads)
          let c2 length allowable-node-loads
          if c1 - c2 > 1[print "ERRR 1"]]
      ]

      set max-list lput max allowable-node-loads max-list
      let node-max-list []
      set node-max-list lput (position (max allowable-node-loads) max-list) node-max-list
      set n n + 1

    ]


    let list-pos -1
    let node-selected -1
    let priority-directory []
    let priority-directory-workload []
    let priority max max-list
    let doubles-list filter [? = priority] max-list

    if-else (length doubles-list > 1)

      [ ;; PRIORITY CONFLICT, RESOLVE BASED ON LARGER WRITE or READ WORKLOAD
        let temp-max-list max-list
        let node-conflict []
        let dir-decide []
        let p-workload []
        if-else type-priority = "W"
        [set total-times-write-prioritized total-times-write-prioritized + 1 ;;WRITE PRIORITIZE
          set p-workload write-workload]
        [set total-times-read-prioritized total-times-read-prioritized + 1 ;;READ PRIORITIZE
          set p-workload read-workload]

        let index-list2 []
        let max-list2 []
        let allowable-node-loads2 []
        let n2 0
        let temp-node2 []

        foreach p-workload
        [

          set index-list2 lput first (item n2 p-workload) index-list2
          let original-node-loads2 (but-first (item n2 p-workload))
          set allowable-node-loads2 original-node-loads2
          set temp-node2 original-node-loads2


          foreach original-node-loads2
            [
              if member? (position ? temp-node2) assigned-nodes
                [set temp-node2 (replace-item (position ? temp-node2) temp-node2 -4)
                  set allowable-node-loads2 (remove-item  (position ? allowable-node-loads2)  allowable-node-loads2)]
            ]

           set max-list2 lput max allowable-node-loads2 max-list2
           set n2 n2 + 1
        ]

        let priority2 max max-list2
        let spot (position priority2 max-list2)

          ;;recreate preference list for the node with the highest priority
          set index-list2 lput first (item spot p-workload) index-list2
          let original-node-loads2 (but-first (item spot p-workload))
          set allowable-node-loads2 original-node-loads2
          set temp-node2 original-node-loads2

          foreach original-node-loads2
          [
             if member? (position ? temp-node2) assigned-nodes
                [set temp-node2 (replace-item (position ? temp-node2) temp-node2 -4)
                 set allowable-node-loads2 (remove-item  (position ? allowable-node-loads2)  allowable-node-loads2)]
          ]

          set list-pos (position priority2 temp-node2)
          set node-selected list-pos
          set priority-directory item spot index-list
    ]

    ;;No conflict, so no prioritizing needed
    [set list-pos (position priority max-list)
    set priority-directory item list-pos index-list
    set priority-directory-workload item list-pos this-workload


    set priority-directory-workload item list-pos this-workload
    set node-selected position priority (but-first priority-directory-workload)
    ]


   ;; remove this directory from the workload so it won't be assigned to again
    let this-remove -1
    let write-remove -1
    let read-remove -1
    let counter -1
    foreach this-workload
    [set counter counter + 1
     if first ? = priority-directory
        [set this-remove counter]]

    set counter -1
    foreach write-workload
    [set counter counter + 1
     if first ? = priority-directory
        [set write-remove counter]]

    set counter -1
    foreach read-workload
    [set counter counter + 1
     if first ? = priority-directory
        [set read-remove counter]]

    set this-workload  (remove-item this-remove this-workload)
    set write-workload (remove-item write-remove write-workload)
    set read-workload  (remove-item read-remove read-workload)

   ;;assign the winning node their most used directory
    ask nodes with [id = node-selected]
    [set directory-id priority-directory]


   ;;update global tracking of assigned/still available nodes
    set assigned-nodes (lput node-selected assigned-nodes)
    set assignable-nodes (remove node-selected assignable-nodes)


  ]
end 


;;setup procedure
;;based on algorithm selected, assign directories to nodes

to place-directories

  let r-load read-workload
  let w-load write-workload
  let c-load current-workload

  if placement = "Baseline"
    [ask nodes [set directory-id id]]

  if placement = "Most Used - W Priority"
  [ask nodes [set directory-id -1]
    optimal-max current-workload "W"
    ask nodes [if directory-id = -1 [print "ERROR directory assignment"]]]

  if placement = "Most Used - R Priority"
  [ask nodes [set directory-id -1]
    optimal-max current-workload "R"
    ask nodes [if directory-id = -1 [print "ERROR directory assignment"]]]

  if placement = "Most Used - W Only"
  [ask nodes [set directory-id -1]
    optimal-max write-workload "W"
    ask nodes [if directory-id = -1 [print "ERROR directory assignment"]]]

  if placement = "Most Used - R Only"
  [ask nodes [set directory-id -1]
    optimal-max read-workload "R"
    ask nodes [if directory-id = -1 [print "ERROR directory assignment"]]]

  ;;restore workloads
  set read-workload r-load
  set write-workload w-load
  set current-workload c-load
end 


;; setup procedure
;; assign workload to the model depending on user selection

to set-workload

  if workload = "FFT" [set-FFT]
  if workload = "Radix" [set-Radix]
  if workload = "Ocean" [set-Ocean]

  if-else empty? read-workload
    [user-message "Error: Workload and network size combination currently unavailable. Please choose a different combination."
      set error-set true]
    [make-current-workload]
end 

;; setup FFT workload from the SPLASH2 testbench for given network size
;; these values were obtained through analysis of the testbenches using PinTool

to set-FFT

  if network-size = 2
  [
    set read-workload
    [[0  3123366  3724399  12333  294459]
      [1  1240941  876085  488310  732227]
      [2  2641067  20323  1783150  2272619]
      [3  2581761  377807  2848042  1798971]]

    set write-workload
    [[0  78017  143575  152325  101822]
      [1  105064  174922  129648  38247]
      [2  35436  151924  96745  141078]
      [3  122961  45588  104044  195921]]
  ]

  if  network-size = 3
  [
    set read-workload
    [[0  3418  57247  53387  67488  3399  99897  98794  65940]
      [1  52627  54298  53802  58398  62634  46031  76519  311]
      [2  53117  27475  5725  18254  14414  15660  67177  41791]
      [3  74232  35241  31963  19692  20855  57389  91551  42836]
      [4  15604  89230  45794  93291  26566  92124  11223  69120]
      [5  27565  23168  61268  12391  36496  11956  37015  39426]
      [6  54544  39729  61738  63491  75865  71160  59971  96649]
      [7  62598  18260  50201  33457  74722  12533  30541  39548]]

    set write-workload
    [[0  2124  51486  23865  13038  24269  50806  14806  24334]
      [1  19191  29878  49043  10916  17231  4347  14893  7935]
      [2  53018  57037  3231  15478  28837  29762  30210  5808]
      [3  46002  108  38305  23982  2400  54398  46040  33682]
      [4  20890  30700  51988  11606  11530  23970  24566  24485]
      [5  42770  35471  37773  49987  24089  12582  13697  28098]
      [6  25016  40774  38576  43329  59542  14595  12522  24983]
      [7  42964  33904  22050  34972  25335  11212  19412  31379]]
  ]

  if  network-size = 4
  [
    set read-workload
    [[0  27947  19963  22452  22991  4877  2506  20709  24321  9005  20482  18854  21970  15864  1496  8331  5709]
      [1  4018  22167  29095  10145  2588  17779  13776  13697  2788  9847  28176  140  23360  21652  7589  23905]
      [2  1245  4648  12553  17527  22464  478  8150  1050  4350  23137  894  18431  4543  14743  25481  25457]
      [3  20695  8266  7917  23257  14370  25472  27886  14414  26255  4279  27712  18452  25028  9284  4797  7969]
      [4  21852  6287  29393  6357  27683  14250  5646  15406  16076  18135  19761  12610  18703  29533  16227  7392]
      [5  3365  23672  24042  8104  16590  13202  19721  20839  22782  18521  24560  23488  6177  1508  4803  11798]
      [6  12117  7324  15562  5839  14395  12370  5076  10078  18017  13704  16309  28114  29251  19702  4158  12531]
      [7  13767  16194  17473  8712  560  12453  8157  5939  29583  8369  6212  28466  2057  15635  13000  26526]
      [8  14807  9951  26984  28548  21748  3623  4649  27040  3974  1166  20659  9364  7250  26250  13380  13411]
      [9  25844  8848  11223  22277  2153  2671  8646  3214  18336  3848  2012  29918  13968  2172  1010  17417]
      [10  21053  15002  28053  12507  13719  20516  26981  28188  3240  15423  24160  1387  3235  19728  1491  11745]
      [11  2552  14775  18910  22433  28348  25857  24721  19281  6900  28058  5052  7167  3575  6412  19436  8012]
      [12  2744  26543  21619  7155  28288  11731  3161  13445  8433  23085  10141  13515  1365  19675  21825  9810]
      [13  16762  29514  15579  9661  27014  28917  3893  5979  22904  28059  13724  3155  21045  18368  8271  353]
      [14  6977  17105  8330  23454  20002  11168  8813  20289  27079  28958  4558  1987  25579  14127  12955  24564]
      [15  13853  11470  8180  11119  6732  17867  2872  2662  25834  14853  13338  8609  18962  4379  23716  6386]]


    set write-workload
    [[0  1441  5385  9781  556  1413  8052  10341  6957  13068  12414  10897  8199  11432  7152  11851  680]
      [1  670  5672  2730  13599  10969  11690  12472  4546  11751  9091  12648  9781  6592  11746  4653  14012]
      [2  793  4894  14179  9364  14560  7745  3585  13663  9337  8034  11871  6525  11355  2024  13211  12640]
      [3  2653  8476  10990  3273  13030  2946  11622  4102  9446  11262  5816  14799  6105  8815  2528  4315]
      [4  3542  12371  9945  3880  9545  4673  5373  5535  11170  5116  1107  13224  8957  3406  11983  11032]
      [5  8930  3754  11697  31  2453  7863  1101  9698  4022  8074  1463  273  2652  632  6211  10410]
      [6  13030  10459  13906  5134  6257  6557  11731  2502  3862  10510  9606  10489  2192  803  10997  2803]
      [7  13929  6116  12925  13115  5386  5243  8383  8964  13684  7249  7750  11361  2364  5537  6  1925]
      [8  127  5045  3373  10638  14765  14531  5517  7463  14286  4231  1107  176  2495  1316  9212  7671]
      [9  5148  8438  10936  4630  5322  13212  11366  12306  7623  6256  11584  12243  5038  14208  11780  11208]
      [10  9956  12592  10987  239  1775  4907  11039  5916  13720  8510  10128  6257  1874  2258  12235  14090]
      [11  14370  13383  12168  3586  7706  9797  14657  12571  6520  1895  4878  4936  4520  4144  6430  6269]
      [12  5126  512  7503  7277  3495  11722  11695  9327  3608  3125  1736  2319  3453  9525  11040  11457]
      [13  3186  4996  2445  5289  4864  4569  14350  7355  4463  7120  5194  7381  8794  10611  13562  7622]
      [14  6040  12565  3948  1631  1991  3710  14912  4345  207  1065  10223  12944  12753  11202  2971  9644]
      [15  10113  12568  14722  3165  14505  10445  7075  6898  367  1971  14877  2924  13402  3570  8654  11123]]
  ]

  if  network-size = 5
  [
    set read-workload
      [[0  7586  4914  155  8018  8932  4453  1990  7744  1789  720  7171  1004  1383  7870  8114  7578  8041  830  8883  3208  6965  7457  8341  8962  1718  2109  1725  5521  4652  2511  8085  1256]
        [1  7100  832  2670  2848  3110  3681  4379  8275  1516  510  5749  4242  3823  7356  4281  2562  8905  4940  291  5021  7130  844  7856  8753  623  2855  1496  3832  8882  7866  5014  399]
        [2  4724  3166  4796  5479  5117  112  8875  5226  5790  6534  3447  6692  5796  2794  6950  4560  5518  4248  3602  5870  5000  2866  1710  8161  8634  1744  2970  7370  7434  3746  7109  5137]
        [3  6954  6691  6163  7621  791  2383  6056  1802  5851  4778  8571  1080  4300  8310  6374  4765  8768  797  5045  2356  1626  7755  2716  1006  6211  2925  7406  2986  3478  5592  4813  4954]
        [4  4795  5622  2810  1672  4089  1296  5790  3712  3533  852  8488  4201  4694  3358  718  2256  4454  5422  2200  2772  7570  5422  7318  7202  6453  4968  2507  1230  4380  6833  7429  272]
        [5  7173  5988  8631  4597  5963  3134  199  2161  3320  812  1125  2209  4870  4383  6711  6304  6504  8787  3720  6534  4888  6569  7991  7938  453  3844  4916  2469  1684  6856  1914  6318]
        [6  2165  7259  688  919  8923  6676  5292  5701  4839  3383  1652  7086  5971  8492  1300  4208  3418  5174  6106  2135  285  5408  7663  2486  4735  6748  5075  765  8964  3379  4471  305]
        [7  8246  8225  1859  8876  6647  7729  6100  4266  3136  6675  4156  2214  6889  2631  8553  1961  1051  6056  2143  5321  5072  3468  8893  3266  4530  2822  1209  8116  7863  5035  875  2122]
        [8  7903  3182  2214  4383  6878  4815  2124  6629  2320  184  489  2233  2303  5324  220  6829  908  3698  2608  3543  4138  3411  5814  3829  4532  6803  5044  3500  1500  8140  6857  1177]
        [9  745  6511  8785  1730  4497  4330  4311  4587  3074  7293  2148  3601  5026  7959  7347  36  8451  5309  7751  6735  78  2073  3872  1353  33  5297  7374  7894  5877  4768  4809  7211]
        [10  2580  6341  261  6828  6632  3816  7397  7398  5973  870  6412  5650  6428  4580  1579  579  162  239  911  6673  7067  6384  4249  5844  5078  5626  1250  3554  8143  1324  7912  3624]
        [11  6709  3991  1407  4314  1619  1398  4321  7892  3751  4735  6927  3321  6854  4012  1093  7186  7469  439  1764  4213  489  6930  7326  1129  201  14  5199  3374  3849  7748  1095  1673]
        [12  672  4436  2211  5511  5075  7429  5489  1497  3113  1468  6047  3122  6531  8392  2663  4148  7653  5276  8494  907  3417  56  7077  3017  8850  596  6600  3954  1474  193  2910  1607]
        [13  4689  5970  5898  2712  4199  2750  4825  6089  7731  626  2710  6042  5658  4474  1463  3670  8037  991  5430  1149  1970  7155  2274  7990  8520  2228  2972  8362  4965  3196  2751  84]
        [14  5697  405  4838  3848  6743  4142  7260  5873  1025  2334  1185  5075  5509  3605  6954  838  522  8998  4503  4537  5322  788  4235  6517  1269  6357  6510  6491  4512  8235  778  8036]
        [15  3119  3287  8655  813  2870  8150  1273  7585  2526  5308  4950  3225  8304  6843  4785  840  1555  5773  7698  2351  5460  4482  6283  3205  6424  4879  5972  6432  1524  6847  2817  543]
        [16  2960  2917  2483  6693  3475  6134  7188  514  7932  6269  1167  5719  4094  5959  4968  8650  7612  2259  7810  7644  3603  841  776  3526  928  6263  5802  3414  4695  755  2112  5665]
        [17  5464  5989  7610  7657  3544  3359  6970  4522  8386  2733  2325  8812  6578  7954  3149  3776  6392  1535  881  6622  4857  4543  1071  351  7873  4160  1711  3653  3446  2680  7754  6404]
        [18  689  5469  5669  5266  7342  3532  6891  2247  301  6685  3654  6436  2849  3372  2521  809  107  2139  6860  8179  2393  1735  3564  7514  311  2233  3809  1782  2929  5675  5608  5146]
        [19  6944  847  3884  8758  1466  2590  784  8541  3925  3106  1256  2335  1927  4334  6889  1777  7765  2716  5498  3416  5818  1612  2406  860  3316  8222  5438  4546  1337  7123  8044  4771]
        [20  7081  4999  1693  2813  3371  5047  3466  1050  1050  8777  7322  7860  3216  3503  2115  3873  4243  4532  5893  4424  8550  1073  4438  2399  4676  5723  8400  5014  1317  1893  7519  359]
        [21  8695  90  3017  8400  1317  8064  2748  1622  3703  1216  8777  3577  2794  8224  7825  6881  4848  1069  5121  6138  7015  7911  2472  2159  7801  6932  3075  2334  4289  7398  6308  870]
        [22  3601  5029  3157  2397  2536  2334  3195  7950  5846  1644  7624  5788  1915  599  1479  7400  1006  4454  5656  5013  168  1683  7734  1679  5341  277  130  593  6461  3595  2679  3923]
        [23  6568  1122  6516  2699  4114  113  4952  259  5413  6752  6575  2888  6656  5713  445  6511  8637  5265  4547  5048  1823  7820  329  3537  1379  4951  6046  3448  483  8150  5429  2374]
        [24  7313  5145  2257  5800  7297  5724  636  6791  5943  6378  3972  954  6939  3332  1908  737  670  4135  179  5268  288  575  1587  7053  3166  6834  5180  71  7374  7148  6057  8339]
        [25  1163  5458  7640  807  5592  5621  7551  7791  3544  7635  8450  7552  1377  6393  8248  5722  5985  8745  8157  1771  2879  2900  8531  6954  3424  5233  819  5362  7133  6053  3254  5082]
        [26  7958  3964  1776  2602  2029  7468  6199  5588  4727  5508  2293  8597  5558  3360  5434  297  1182  3215  373  8933  2466  2043  5498  1418  8949  8185  1937  5077  543  5265  2911  6376]
        [27  7898  4124  4238  482  2866  2438  5213  327  1908  986  5724  1511  2966  1739  961  2174  4626  5340  2270  1793  3731  1004  2185  4922  5646  2457  5587  428  5488  735  5756  8396]
        [28  4721  1347  7780  4513  5975  4902  424  2178  5139  126  831  7664  1207  8535  6766  1243  2385  1360  6754  7644  2602  2488  6657  2257  1641  7497  1104  7261  7648  8933  644  911]
        [29  1587  2927  1462  8303  349  1867  3773  809  1418  7553  5743  409  4342  6392  7146  5822  7177  6888  419  6399  7519  8554  2948  1794  8623  473  1007  3860  569  7408  5943  7974]
        [30  4913  1448  6672  99  4716  4291  2392  5595  8953  4244  8209  8852  2659  286  2543  5754  3206  5392  8093  3613  2083  541  8568  6800  5766  5768  8590  4797  3366  1331  2756  4931]
        [31  591  186  7532  6021  7359  6027  6368  7232  352  1071  2011  8842  1488  2630  7758  3637  5327  2411  3977  4191  3498  4203  8993  417  5515  3006  350  4212  6325  2075  1528  8091]

      ]

    set write-workload
      [
        [0  720  1208  4522  4530  2972  3506  3760  3952  1721  4631  4242  2090  4991  2717  2753  363  859  2642  2586  2599  3738  489  4342  462  1908  474  574  2118  2021  1392  3  2462]
        [1  1385  1253  2599  1674  3939  4156  3625  3976  3820  2009  4235  129  1468  4096  85  994  380  3926  187  2731  3370  2329  2729  4673  1996  4983  2826  1327  2536  2909  796  2688]
        [2  1577  1080  2913  3594  4549  319  1286  4504  2483  481  4124  3520  2629  3435  1585  1202  29  3537  2732  2244  509  1366  3222  385  2819  1826  2227  4975  3673  4228  3627  2397]
        [3  3501  4923  711  800  2866  521  1665  1269  327  431  3039  1271  1506  2939  4233  2919  4019  526  1437  2047  1093  1520  2747  2543  1102  97  3620  25  4802  1678  2691  3852]
        [4  3447  2501  1555  2023  2217  2835  167  1604  4781  851  2766  4691  2614  465  4347  1482  4733  558  1311  727  240  3541  1439  2685  4879  3177  1860  1962  2682  2965  3477  2042]
        [5  1344  2995  1113  2128  3983  2260  3505  2832  1488  871  2989  308  4023  809  4738  2352  1084  1406  4973  1882  715  1983  677  4840  4576  1350  1229  2341  3204  3965  3145  2490]
        [6  3633  3594  4440  1003  4628  283  2718  4001  1700  3077  1255  2473  4595  3719  4241  686  2673  1965  853  4126  3231  2523  1593  421  3956  3372  498  2232  1497  2108  2865  684]
        [7  3192  1638  394  2761  3972  244  4684  1158  4361  4838  1665  2802  2600  1178  1043  3802  3516  4942  3228  193  3545  2772  4482  4729  1141  4099  1605  3072  3061  2260  2269  4801]
        [8  3996  784  2709  4348  3564  4882  4896  4512  896  1245  2296  837  3801  4685  3086  1070  97  4851  3472  1501  3503  1852  4291  3549  2353  4511  2882  3827  2742  623  3178  2378]
        [9  962  4191  3321  4562  3268  1498  4124  2450  847  3573  3552  4926  2962  1503  3305  1750  4781  4861  397  2790  1629  2355  3829  1647  3876  1205  1974  2009  2649  4504  2456  2714]
        [10  4970  3333  2784  2750  957  2155  921  3411  93  4596  4807  153  2536  4339  1037  2528  3467  2734  3402  107  2301  4635  3379  1389  1244  1895  754  1931  1585  2657  4481  615]
        [11  2890  1283  2622  2045  1031  310  44  1910  3655  4366  4297  3580  3759  3899  1894  4624  3681  4118  574  2431  353  1686  4753  1516  397  4024  3842  2551  1342  4646  221  439]
        [12  2217  2756  4859  2856  468  1214  1525  4626  1920  2176  1409  3118  1022  3511  4867  742  3232  2206  2293  492  1077  1122  1969  2320  4509  4686  3244  1440  4361  5  818  3202]
        [13  4814  2231  662  4547  3102  2754  4282  3760  44  1872  1442  389  1763  2772  1861  4047  153  1665  3332  3070  398  2309  1670  1785  3842  4062  1377  4218  548  4576  1875  3050]
        [14  159  2060  2675  2047  2752  1613  2362  1995  4316  3978  4690  1083  2280  835  832  1905  450  592  38  34  4694  3170  179  1486  3840  4487  1326  4349  2205  4931  3789  3590]
        [15  962  97  4959  4409  4128  677  3974  3034  3404  745  1298  2628  4632  290  963  4587  998  88  2875  2266  2006  4488  4898  3892  4919  3297  2435  1929  3718  1529  224  2135]
        [16  68  4264  1333  263  4202  2083  3613  2173  3139  788  4940  2163  3808  4549  98  898  2881  2610  2743  3820  806  666  209  959  1607  1983  2354  4403  2967  2266  2015  3087]
        [17  3039  4141  1066  602  4733  1845  1835  2710  993  277  4715  4148  2968  4897  1212  2643  74  1424  750  380  2864  3751  3458  96  3410  982  4048  555  2487  773  1711  3380]
        [18  4661  355  3867  2334  3301  4248  4855  405  1860  3174  3667  3844  4879  1065  2807  4196  1435  3201  4355  281  1221  1742  2963  113  701  1712  435  2806  4916  932  4843  1978]
        [19  701  1230  3418  1360  2031  4058  3495  1787  4904  4956  4670  659  2209  4537  1290  1780  1243  4303  2937  4594  2647  1147  3920  439  1913  2708  4131  3249  2597  4867  2998  3177]
        [20  3814  2824  856  88  1735  4072  11  1657  4728  672  1270  476  3805  233  3868  405  1376  2632  4347  552  406  1195  4794  3255  2033  3248  3518  2293  704  2345  3302  540]
        [21  949  1384  1935  479  72  3630  4126  1725  4213  4749  1056  1258  1076  4645  493  3207  3576  3033  3866  1491  2315  631  792  2226  4755  3063  3796  4247  25  1045  4288  2798]
        [22  4231  1012  4416  2632  1568  2001  805  2455  4199  611  2041  1102  783  681  2896  2310  874  904  4436  1987  4691  3880  884  4922  4675  158  2162  1848  2498  4268  1323  1340]
        [23  3013  2177  3492  1031  1865  4826  473  2480  3451  902  2411  436  4079  1207  3919  3124  1852  3156  3453  2995  4000  206  4993  3420  3779  1514  2392  1458  4049  4778  623  1036]
        [24  810  1654  2319  4308  791  868  4078  1070  3635  646  1413  667  4969  33  1959  2186  4932  4431  1787  4796  3224  143  2802  3334  2696  3705  3118  1232  447  1058  4524  4424]
        [25  2178  2377  2163  2560  1311  325  130  3274  4649  4475  3628  566  2945  26  4784  433  3898  3487  2962  1410  813  897  2507  4700  87  1724  1861  4446  3741  4227  154  1581]
        [26  3629  2947  2171  701  693  1064  3755  4995  1574  3392  4008  2346  2944  4138  1966  1690  2317  1259  3361  3144  130  4173  1722  3294  1258  4592  2774  2358  1159  741  3218  4135]
        [27  3814  3530  3382  2452  2630  1844  4917  223  3653  4444  854  4616  2554  1903  2478  3814  4152  2447  13  700  2712  1539  111  3947  4287  2563  361  3775  1775  1602  2121  4252]
        [28  4386  592  2186  1208  697  2556  3863  993  2443  3591  3062  2155  710  2814  2343  2809  2536  3180  4952  4973  2446  4359  3197  3080  986  1758  90  1734  4948  2802  3937  297]
        [29  4825  1175  4883  289  4927  2087  3916  2060  310  1719  3992  2810  2359  2380  2377  4223  2218  3299  138  3867  4618  1475  861  2914  2315  819  2632  2482  16  1453  1803  784]
        [30  1846  161  4526  1409  2486  3411  516  4017  43  307  982  4685  4069  3564  2893  1172  2080  2853  2041  1732  1816  3405  83  3529  3499  368  4696  4375  482  4595  2515  3936]
        [31  3728  2328  3543  4472  3701  4387  3719  1936  189  4723  3599  2055  4641  3364  2313  2797  1701  4802  154  3236  972  192  1695  4660  4442  1158  1618  3620  4136  3499  4236  3622]
      ]
  ]
end 

;; setup Radix workload from the SPLASH2 testbench for given network size
;; these values were obtained through analysis of the testbenches using PinTool

to set-Radix


  if network-size = 2
  [
    set read-workload
    [[0  501521  1206542  1335202  707538]
      [1  236172  1260530  1051076  728173]
      [2  675169  1130905  28240  191512]
      [3  98046  1401476  730308  291291]]

    set write-workload
    [[0  730011  730036  600602  674270]
      [1  29510  540043  238158  490604 ]
      [2  394906  791706  280125  765747]
      [3  442590  661344  819524  76638 ]]
  ]

  if  network-size = 3
  [
    set read-workload
    [
      [0  159402  51587  115093  210357  219232  118035  365312  189910]
      [1  162001  187542  2267  65649  377493  33901  291840  65194]
      [2  166961  20408  38517  357839  85253  63100  38354  180196]
      [3  126531  32076  63689  279096  355235  205224  22179  375214]
      [4  90227  21423  339344  298038  31119  354084  241239  4221]
      [5  73312  85972  107469  267545  176897  202312  303325  341522]
      [6  286367  150708  255914  41042  140579  298271  223688  122500]
      [7  52921  365310  267788  341641  57449  313972  159792  88002]
    ]

    set write-workload
    [
      [0  12331  148783  178884  101291  104016  45096  209294  115687                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [1  153215  28548  63048  42293  208572  140180  106192  118014                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [2  53034  6558  131161  984  138574  153545  209089  145419                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ]
      [3  150397  10280  119812  145941  160531  36207  63746  195865                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [4  147854  147929  37977  182901  69116  191916  82769  125577                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [5  23745  19785  122639  148876  49044  7744  110314  169920                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [6  188720  137800  80886  122082  205562  83420  35929  196951                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ]
      [7  109135  128039  100159  160659  164361  54334  15580  9992]]
  ]

  if  network-size = 4
  [
    set read-workload
    [
      [0  108901  89931  103509  38964  29089  104655  456  51381  57877  9523  41550  83923  94598  15109  5224  51600]
      [1  105921  28663  64523  107553  73551  66223  21893  64672  21081  29517  95253  60162  1083  29868  64384  95785]
      [2  37796  108036  11950  62982  10292  54597  91255  20407  35653  88785  56631  77823  3100  87111  90115  32322]
      [3  15225  34350  5254  35059  2220  72195  100457  103700  32610  50427  24919  24746  19421  76361  34395  8072]
      [4  86711  73260  79489  57480  88045  16950  35677  13641  39362  15103  3981  86202  45322  29546  109425  63189]
      [5  83900  77247  55629  2719  31568  105593  13049  7959  98309  63909  66413  23131  69672  31744  81182  32835]
      [6  18687  9328  67566  73264  69747  37521  23391  70171  50919  104167  25424  104094  58489  30932  106863  98552]
      [7  16730  100625  23681  35503  59957  10499  891  51065  43432  63777  51409  95518  52349  95402  44272  6177]
      [8  98009  15280  91365  60941  8251  94267  109106  19654  26373  61107  97456  82716  98167  39388  92980  11093]
        [9  98739  88956  30188  106232  8816  25643  19639  3817  67589  21322  24988  13016  12298  99288  17192  74060]
        [10  19631  26197  95860  3825  28701  82797  109071  7170  64884  2142  87936  23598  754  86274  35071  80342]
        [11  83136  44365  5920  25157  90451  28935  3533  77526  44469  99988  83625  12210  37467  49873  79091  100351]
        [12  76623  41790  19350  23576  109989  20341  7544  29654  32809  53520  61793  86021  18221  22146  69415  73838]
        [13  77331  81995  99951  92170  43275  36856  65028  24009  79196  37851  16961  40930  43744  32689  33056  17797]
        [14  97097  97784  45691  76981  28749  133  43902  107435  8408  92819  57933  95680  106051  22133  31730  84918]
        [15  70576  66717  61573  90730  101506  11609  78560  74113  46428  20781  50263  18716  22124  21046  16391  8311]]

    set write-workload
    [[0  45902  60538  58209  896  55173  68326  29969  42486  36819  36455  33512  21947  47723  41135  68426  19424 ]
      [1  22429  66778  12211  66889  2727  13278  36957  48484  692  38298  28474  57892  13501  1653  34922  1930 ]
      [2  1115  2921  31298  48148  69669  24123  59874  656  52042  67412  25409  52142  61591  56523  62818  2457]
      [3  28573  3925  41423  34692  24195  48956  562  17383  58410  21219  69973  32934  20751  10616  15837  18268 ]
      [4  9823  11028  27798  68149  53549  30101  34634  30958  11532  930  42017  13514  31170  13996  26670  7274 ]
      [5  14411  31852  32141  30932  12487  22272  46139  14721  16121  18223  263  10002  66932  43924  39483  47940]
      [6  10935  52599  69646  68489  30446  10463  53964  44372  5945  31124  3750  56856  48447  24516  21028  40226]
      [7  34081  45039  33780  9737  14379  10989  36297  58223  976  57215  31766  42448  2487  63224  10945  32979]
      [8  33967  25784  8476  23282  3472  18653  69612  42819  20176  27513  65908  27789  28311  7645  51449  7626 ]
      [9  62920  31007  52903  22753  19909  21397  4268  61743  5498  47325  20768  29875  33557  23187  35554  66952]
      [10  46909  26293  53882  65660  67888  28578  15738  53825  29900  1532  15021  47307  40609  9815  7763  3643]
      [11  1827  4437  38176  37040  27599  15168  59170  21627  65051  60433  26042  8881  38409  23902  32127  12119]
      [12  51204  15237  36693  24711  9635  46501  58536  25961  8603  33795  62591  64825  62260  58223  29876  69346]
      [13  32665  59588  35478  12921  39028  32710  56771  57499  35895  18219  9856  5692  26904  12819  16399  3864]
      [14  51299  38941  49657  3594  2218  29932  1546  10548  46608  31548  34820  56109  53610  15392  4580  38335]
      [15  11770  12006  1337  3628  27567  57535  22654  11482  53144  18375  55637  35116  32602  24141  1138  46158]]]

  if  network-size = 5
  [
    set read-workload
    [[0  7592  14236  10736  387  8179  15703  22079  19240  9324  14632  8446  10623  7295  1514  21932  56  1024  7149  17752  14981  19971  14136  547  11118  12491  1184  18317  19983  10749  1853  5089  1240                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [1  21903  19978  2393  16788  19582  5890  21367  13989  16559  19447  13500  6901  12257  2605  5914  9017  1706  7343  18029  20210  1348  21579  4627  12032  21162  7706  7246  19706  13234  6352  21810  13620                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
    [2  10157  20144  20954  7830  6550  278  2277  12169  20534  3835  10107  3626  5221  18781  8434  2316  15008  20777  5148  17885  6934  2469  15798  19565  6886  15368  15345  16641  17247  1542  2766  4770                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
    [3  9389  8010  9406  11175  11191  8140  7663  6778  10167  6255  13666  15588  15131  3988  3670  6854  7803  21861  4732  18686  7449  14667  18698  10630  2315  10804  206  10801  5363  19479  14485  14598                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [4  8575  18253  15258  18444  19820  4961  20582  461  7659  4765  15361  9293  6493  8871  85  7253  6169  4414  16986  19230  14788  15626  9543  17248  8163  3113  19629  8192  14270  720  4191  14339                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
    [5  9070  9807  19800  2735  5952  8083  6741  17673  9766  18858  10828  20146  14091  15412  16081  1334  10174  18020  9409  5994  21639  16117  11367  1795  1900  9325  17378  11192  7167  18543  20285  851                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ]
    [6  11358  5537  12529  19089  13656  5252  17827  15717  17400  17240  14486  17945  5925  19046  20834  19261  74  14989  5802  20784  3770  7754  11405  14272  9221  20574  16303  17491  9548  8667  5817  3035                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
    [7  10278  20831  20463  1251  10055  8391  15105  2678  399  14703  3638  4449  5908  13648  9840  16267  10355  7853  11280  1454  10187  14013  561  10331  10356  3486  6151  2944  14310  2278  5537  3098                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [8  5880  5417  4448  20770  5722  9732  15825  12863  4088  14122  9998  20523  4389  3921  19387  5268  537  16223  9342  16658  815  18390  3623  7971  2537  21567  5918  6366  12410  7940  9137  4488                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [9  733  13622  8554  11592  20209  8595  13864  4481  9082  8144  1526  6190  14480  13424  10317  3202  19030  18902  7069  7686  7325  19362  14299  5685  16513  6606  11909  809  6787  12751  14791  4098                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [10  5449  2769  10198  17752  3282  9134  13945  3880  1234  12464  21035  20629  18252  2120  6106  20984  6370  4791  5234  18892  10595  17297  4664  8312  6197  8508  10332  13995  6866  10456  16722  44                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ]
    [11  3618  12231  19600  20320  19195  16244  18523  10850  19799  17465  21237  2131  1276  19131  7287  15136  11285  6032  6393  6582  17919  10697  19846  1898  8602  15902  15734  13972  5079  9666  1392  19569                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
    [12  13242  14416  19976  16265  19121  19807  21061  21390  112  21712  16901  15550  3609  12568  14301  4868  4554  14300  19764  11198  14005  12085  14146  813  10639  18276  8830  19360  16037  13497  70  2176                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [13  19818  6848  19  15061  1306  1452  10369  13570  20747  7014  20927  3268  13240  16388  19461  2047  15147  13374  12921  1502  15331  20311  8860  8435  13500  17054  21313  2958  4785  21156  1800  17049                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [14  13261  19482  2597  11870  3817  7585  2984  21486  20172  10291  2941  22039  21628  10787  11333  10999  9759  21670  21900  4330  22000  17736  14324  21407  2255  1645  5823  3937  9341  17483  12043  17315                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
    [15  7151  588  17538  10647  10019  14856  4339  10728  12079  20525  21658  21724  6749  1800  224  15023  9204  13660  9725  1748  1776  9405  5660  19877  1060  1421  16133  10391  3960  17333  21341  12461                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
    [16  7762  4757  19112  11627  10797  6733  2076  2719  6508  12213  4612  6018  3403  18453  2277  3111  9771  4707  16493  13432  1091  15012  14376  10548  5439  8157  11493  21233  4392  20470  18943  4861                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [17  11330  17102  15093  12954  15791  4414  2889  5365  3310  18649  8930  6110  4742  11435  13238  3970  1103  14706  9561  1886  1253  14655  9048  175  2356  12308  14907  164  17439  4796  11408  734                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ]
    [18  1863  8531  5494  3720  1340  15010  6612  3619  3380  14064  13998  9557  19885  18072  9253  7861  14700  2595  10341  11737  5383  10873  5215  1356  16057  4662  6902  15902  9798  11417  10597  3103                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [19  507  21222  15519  8537  11728  2335  5289  2056  3602  9703  21926  9013  20823  19995  12723  4036  736  1831  15632  6843  5845  7489  21281  16740  19550  2803  20266  1593  4527  20359  10601  12695                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
    [20  421  6309  5381  15708  15361  21062  21740  21002  10488  13559  19209  11737  11076  5813  7394  141  16597  19337  7559  371  5826  8105  3624  1275  2133  16513  12275  5872  18830  14211  9795  10155                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
    [21  21157  2406  783  5318  3770  13568  2230  10100  17587  3413  8702  21496  6908  5543  9091  3439  16717  4461  11953  16620  3356  14718  2791  7812  5881  12717  13427  17494  18014  8153  17640  16784                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [22  16653  17165  3595  7011  14628  9497  15443  1666  8565  11019  4009  21050  14514  7072  14099  5448  17885  18722  20676  7897  16943  19837  16256  12706  16279  11878  10368  226  10056  20758  5823  16654                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [23  4826  13681  1986  3985  16507  3723  5440  15593  5451  7450  4535  11002  20153  7649  18624  16674  13505  17836  10614  709  1320  5145  22011  14559  8723  11208  18958  13222  10813  2301  21402  2543                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
    [24  5044  8761  717  20390  21331  16902  14841  15747  17487  14675  3280  7742  4  1995  249  6191  16110  3355  12857  6621  20383  3577  8504  10265  14862  15659  9782  18356  419  15900  4602  21793                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
    [25  7328  1845  11938  13455  2625  7136  11517  1501  2460  21104  20121  19718  10105  6660  16865  16113  18516  17277  1406  14320  19974  6073  16206  18399  10500  13050  3935  21507  11659  7906  10522  2796                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [26  16422  21868  21132  2132  16137  16626  12287  1614  17601  7091  14108  18284  10046  10222  15215  4547  4593  1107  20762  6635  16640  12042  13021  837  3138  2975  15034  8422  17643  8224  8989  5914                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
    [27  12524  10498  12171  19426  18403  15099  9582  7841  16329  1032  19276  13945  5044  15624  7005  15030  12922  2266  20307  12780  14021  13579  20207  17125  17389  4123  15929  4761  11459  11509  9321  3029                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [28  3102  18562  7348  18916  12266  13037  14907  16912  17714  13674  4839  20521  2147  19301  6821  11293  21074  13302  4259  14721  8572  6587  21048  18180  14325  19617  2194  4372  18665  6737  926  16057                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [29  21280  6120  6687  1373  18251  849  3126  17808  15171  16439  11585  3617  4256  3426  15257  17531  8500  10161  13637  10345  2359  14031  20822  20042  4203  2042  9517  12332  19925  19976  3387  20415                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [30  17556  15098  6108  2746  9236  21856  12022  9838  8620  14585  15530  11820  19686  5147  269  1288  18432  11554  5451  6126  19769  18598  5998  2068  3752  13743  2367  3236  21955  17341  3313  16313                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
    [31  1137  22016  7280  10973  2186  20066  20776  15699  15642  12548  2774  12740  18569  8330  13731  13731  15674  58  21486  754  17713  18068  6267  4080  14323  14977  15393  17876  5030  13158  7002  14826]]


    set write-workload
    [[0  215  10962  3684  1090  4152  76  1937  9651  9694  8010  9422  763  5522  4535  9330  10332  5620  3376  12061  3918  10875  8675  9980  6468  4498  6368  199  1928  5270  11930  7922  6806                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [1  6613  6336  7095  829  10204  2880  11801  3069  3221  9015  11214  9419  4067  927  9735  7730  7458  10395  389  793  10007  10572  3973  10863  3855  8741  11818  12189  2498  5855  5797  4237                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [2  5509  1492  8229  8342  8850  8768  11764  9343  11121  8391  3821  5539  11909  2632  2556  8337  8174  603  5143  2710  7181  227  5196  10803  4559  468  5210  1203  2319  3507  5288  2870                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [3  9782  7421  6620  7080  10771  6382  2911  1117  2107  8642  4304  2976  10378  11102  5556  4470  1949  5944  9355  2317  3062  3480  10798  5496  6502  5502  3085  8494  7283  8675  4522  5014                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [4  5058  1201  7829  5207  5875  8356  7704  3265  4306  7115  7198  10842  1584  9677  7641  11467  7591  9783  10359  2515  5381  2830  3489  6953  1493  1129  10885  5748  9982  1941  1002  8887                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [5  11638  5371  9127  1820  10580  8451  9840  7755  6682  7821  11380  1826  4169  518  5243  4609  3426  6099  404  4261  2557  173  380  1893  8910  7008  2842  7768  8704  6534  7760  2256                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [6  758  3160  2923  6944  10685  6029  6510  8104  10352  6017  7645  9718  785  3242  7335  1685  7704  6817  5668  7916  9906  10272  10999  6053  10948  10628  11005  4002  1317  5161  12001  2532                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [7  8707  11148  7262  6827  526  9583  8187  4739  1987  6992  8658  1652  5088  6801  3443  4149  11529  467  12077  746  8984  8312  3993  4739  1968  3393  9074  7611  11443  11822  665  152                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ]
    [8  948  8598  2935  2696  6238  11484  789  3109  6604  4123  2935  5219  5820  8263  3590  12140  7250  2889  7636  8685  12143  10848  2488  10222  675  1813  2171  77  11679  4593  1252  1465                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [9  7050  7701  10084  728  2579  591  11255  10066  11521  8102  3709  10666  717  3055  8229  5889  7652  1959  4943  6375  2058  5949  9638  10677  5991  10403  11333  3248  6413  8666  517  3655                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [10  10496  1545  7254  10656  7141  9772  8220  8232  6368  7191  2684  9481  10405  8566  11249  6667  4122  1133  8685  6025  6620  1515  8769  1208  3646  986  1578  8284  79  11473  3112  11803                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
    [11  3657  1110  11949  12189  4381  5762  6102  4347  8338  893  6505  1006  529  8618  5416  7747  3347  5844  11738  11612  2091  395  11618  2206  11375  6718  5160  10273  6571  2771  196  1952                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [12  7278  9411  8340  436  10828  7387  6775  5696  5498  6350  4370  5923  1787  4521  9174  3487  6670  6817  10147  599  11435  3220  5767  8553  8965  3321  2426  11495  7393  9153  10430  919                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ]
    [13  1241  3645  7011  974  6313  3373  8302  3531  3869  9142  4602  10960  7172  5025  5530  2958  10242  550  8370  4057  859  2222  11960  2579  9938  11319  10382  1398  8303  5102  8466  4693                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [14  2022  5235  11368  6572  11079  3900  11305  5075  11370  4507  5349  7086  1059  11646  2080  10276  1598  7636  3652  7281  8939  9285  7228  7273  6106  1165  10722  6683  3791  9523  7711  3583                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [15  6735  1149  5061  7680  6478  6348  8112  221  6448  3420  7060  11179  263  9003  10863  9038  7519  1280  610  8425  8202  5988  1153  6624  2901  3016  8053  2119  5255  885  7247  6432                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [16  11347  8482  4541  9597  7383  2257  3800  12006  1633  2465  8735  1841  962  7579  3478  8247  4155  7158  4188  9187  4534  702  4842  8884  1771  3863  3398  6724  10362  1173  3454  5239                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [17  3832  5204  2953  3303  10105  3108  9857  7099  9651  7622  855  9030  4096  6587  6494  7896  51  11790  7002  8823  7708  8364  8780  918  11007  901  3057  9020  10169  3531  4195  2931                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [18  8815  1961  9167  8194  5995  9563  12043  4701  7181  6464  2639  10811  5261  11596  10046  1940  2455  11114  10546  9859  9919  2770  10980  8827  9464  5381  8321  3216  10842  9529  3308  1743                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [19  10514  4239  4372  4375  4735  8765  8258  4706  5591  2552  309  11754  3118  10642  11720  2216  10328  8440  10435  863  5238  6740  6434  12068  5223  11564  3731  2391  2865  5368  1645  5030                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [20  9848  5257  11753  3395  9546  8058  11336  3398  9327  9679  5677  7671  5697  7234  11218  10182  632  3602  9925  11076  2327  11933  469  11195  11222  12025  9290  10923  4544  8189  2378  242                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ]
    [21  11831  7294  195  1277  2734  1967  5195  2048  1420  6013  5598  11055  4911  8086  10796  6466  2658  403  2282  7657  9720  9582  7775  7375  2925  8680  3070  12074  4173  2849  5907  8578                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [22  12004  7537  643  12070  4845  2232  6823  7138  7402  6687  6295  7477  7054  2821  147  1297  10583  5875  10574  12119  1536  4280  10122  9160  3904  759  6216  2888  11170  5415  6565  6793                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [23  3939  5780  2559  4695  3072  7977  5095  8451  9782  7085  7840  10302  11879  6967  10903  8560  4684  6213  7200  9794  810  1274  9151  2121  1556  6538  1989  4395  5665  542  211  3298                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [24  10587  1873  1387  320  11419  10163  5540  8455  5271  9572  2210  7814  7466  4860  2604  1849  10564  4614  11773  33  6538  11030  7095  11882  11672  5249  11553  8894  11280  6823  5247  4292                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [25  9621  1140  11953  2537  2501  8545  121  3366  6032  805  9712  12024  4352  796  10775  2173  5420  8576  6157  8033  3047  1472  9089  7933  3182  88  10218  7269  1370  4739  4321  6401                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [26  6793  11286  6603  4558  7016  7529  6715  2760  7126  2270  5063  10956  650  8832  5818  2302  7996  1023  6804  12152  1913  2991  2777  7603  9236  8627  232  3377  9146  9578  9735  5400                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
    [27  6805  4541  12  5311  2454  4306  7006  3781  1953  4981  7922  10488  8299  1874  7853  9799  5236  3823  412  7475  3035  9764  2873  8884  2368  7670  2975  6210  5993  6136  9391  11573                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
    [28  9506  9967  3324  5966  4364  11065  4361  10599  856  1362  11871  4274  770  11581  10530  8158  7002  1282  346  1444  2561  3247  9228  1283  11377  83  4182  9147  6287  11587  6313  5596                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
    [29  3767  9068  11794  5252  5789  1124  6850  4380  2111  7313  1587  2771  7084  4056  11952  5838  3591  4699  6972  9606  2875  7751  754  11711  11246  7283  821  2896  12116  4635  6864  11154                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
    [30  10952  8818  6737  5587  9036  7525  7448  9267  3837  1886  8113  9643  8834  811  5287  2122  7010  490  10155  4945  10356  7278  9066  244  3709  9744  6512  3244  2107  9244  2809  4051                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
    [31  294  9393  2741  1204  7715  417  3703  1799  11648  8418  617  11285  5393  9029  7085  6204  5547  7426  1385  4528  2575  5611  6888  2544  1894  2929  11663  8316  9458  5333  6183  3544]]]
end 

;; setup Ocean workload from the SPLASH2 testbench for given network size
;; these values were obtained through analysis of the testbenches using PinTool

to set-Ocean

  if network-size = 2
  [
    set read-workload
[[0  407746  868624  565700  26473                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[1  836291  63400  793597  706485                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[2  771505  87692  423240  261692                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[3  72811  45417  209764  97417                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
  ]
    set write-workload
  [[0  73595  92811  45758  20757                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[1  126919  65754  34933  41154                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[2  80389  12699  3412  104771                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[3  57572  72546  34200  142181                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]

  ]
  ]

  if  network-size = 3
  [
    set read-workload
[[0  432297  185113  11285  264333  327948  358238  181162  307462                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[1  431225  456850  17246  247814  236818  229737  120804  322221                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[2  363024  390450  77401  290627  201747  18720  464363  169531                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[3  469030  98337  179296  48736  453887  9448  100658  361183                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[4  339568  499527  324443  232920  480053  239932  51038  69305                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[5  2193  154438  376589  237667  131835  408753  28149  447350                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[6  440441  305367  138120  254535  183291  174758  156562  469909                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
[7  298509  59571  183576  172693  114675  374239  98223  370603                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ]
  ]

    set write-workload
[[0  61322  43241  79838  43346  35799  3823  31784  67323                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[1  9489  40291  25137  35330  16197  22671  49400  10097                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[2  54779  49577  8359  26067  46161  1383  14946  25588                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[3  75227  32392  58830  2883  2384  32799  2492  1988                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[4  31179  41360  75940  64793  48737  42588  7556  64059                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[5  58437  1392  5676  350  79018  17104  49320  34428                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[6  76343  48097  17031  70864  256  36655  12282  72406                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[7  3866  35045  8173  76600  64878  39697  3178  10676                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
  ]
  ]

  if  network-size = 4
  [
    set read-workload
[[0  70907  14633  75639  87082  35559  3191  38599  69479  59104  49159  94839  94731  74712  78778  44857  7610                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[1  29565  66470  94444  78286  59375  95850  91671  68836  92617  44733  78285  67092  54619  77452  50132  80664                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[2  2417  53320  25468  1556  28020  51856  14993  38  69696  36610  153  83245  55762  431  87762  47742                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
[3  31682  38684  63387  91442  51978  90438  43511  92751  4216  25918  69432  52237  58586  88209  90424  34008                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[4  66374  83668  27257  25022  31634  99820  13901  94234  50644  1753  71396  45244  90609  77850  69941  22955                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[5  63453  23608  64214  88846  18781  77249  9824  87735  43173  33737  34265  42899  90282  67002  20231  48600                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[6  85433  2174  12755  39523  69523  48306  68890  98301  19524  37286  49988  78109  65593  21277  50119  92691                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[7  46770  24590  75794  31649  32871  63439  15152  62175  674  84389  18239  38618  64026  76114  69623  23057                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[8  96512  31679  42221  94273  4577  55943  88889  92741  1223  82731  72868  76370  41487  64182  86639  28637                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[9  63256  98993  95578  48244  40626  65127  13614  66090  60176  86256  66788  88469  21021  2969  73897  15593                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[10  33879  37267  99820  97143  80554  25126  9002  43350  54993  65544  61695  68597  72108  41083  39177  73125                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[11  7403  93819  70580  58795  24597  95971  62326  15575  28665  26658  57996  78082  63654  3628  82705  95369                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[12  26592  93708  28643  95958  70394  17238  17880  4070  86500  15488  63156  74384  59170  63353  58049  77016                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[13  72430  58028  99461  46864  34073  86231  42408  93931  8146  76769  74628  64217  17528  78571  21967  60515                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[14  2067  30632  99303  15005  68921  81257  37458  93210  56639  37346  21118  96706  68184  54471  77404  55260                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[15  54325  38752  430  33667  41452  83309  7006  73642  46966  96827  60326  23584  8607  16230  8717  55764                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
  ]

    set write-workload
      [
        [0  39872  22723  34390  23978  16390  24179  23981  19581  11120  27848  21109  28490  24478  30810  2216  35589                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[1  12078  37306  5253  18959  29148  39584  24982  20165  16225  29724  25205  18573  17313  15996  32466  4270                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[2  2896  21760  15407  2172  8159  21230  23725  37411  3143  22376  8104  33952  21369  4328  6564  4759                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[3  36422  18052  31969  8943  3649  6137  16231  16790  5262  3175  29665  2947  20541  13053  19135  38573                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[4  7185  25438  19942  37480  18118  34685  34064  14668  38343  3314  19239  32842  16580  24999  37383  7166                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[5  10369  24837  32152  25295  24597  11226  10835  4353  20611  19254  7396  26973  17598  25  1527  33495                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[6  3260  27466  35854  33401  12697  12565  31994  32874  29327  27023  12012  27616  13146  304  5377  24050                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[7  39545  501  14723  24274  31221  12917  17766  27055  22048  17947  32746  33970  1751  21354  1255  27977                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[8  6648  8864  11516  5998  370  11575  36788  6068  19183  12789  16309  22825  39716  37799  24604  893                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ]
[9  6015  26950  7552  24776  37826  28092  27891  4616  2227  12443  33624  2210  28818  30120  27734  17059                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[10  9136  24853  9509  2180  11448  25289  30268  21001  3354  18144  20150  39563  29958  239  38701  34734                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[11  28271  24024  5429  25025  198  6827  39513  3758  30206  10025  27956  14344  6425  38020  37306  24034                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[12  5663  11004  36787  26521  10817  8969  25127  16915  32632  22200  33484  37506  34021  30844  35923  39127                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[13  6150  36986  14155  29987  26771  21574  26435  19838  39381  25335  23018  37201  1080  37026  38311  7283                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[14  6711  18959  18867  36691  9258  8056  7508  2108  29249  5756  10976  31344  6770  6078  39679  2130                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[15  6278  1  21824  30299  10797  1310  31750  10789  26023  37528  35248  12636  34733  10072  13471  18783                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]

      ]
  ]

  if  network-size = 5
  [
    set read-workload
[[0  17242  22609  29181  16937  11381  1704  4245  19566  9577  16441  21886  11389  21559  2309  13314  29663  4045  22990  17313  1176  1370  13595  24007  15156  16829  20715  25192  1514  29200  25850  11716  2832                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[1  13279  13077  3544  24501  29550  277  27456  22015  8819  8046  28491  12191  1685  14397  19817  2241  28745  20434  12099  8345  18908  17549  21553  27492  18213  15333  17949  3911  18387  29798  22045  21077                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[2  11901  9740  25168  6906  9172  12176  454  19680  3509  28678  325  4550  21539  8330  6064  13186  10413  16019  23706  28553  18737  1341  5013  21626  25906  27842  1045  9361  19855  28317  6214  15029                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[3  21741  5665  4077  18704  27103  12654  10534  13612  4738  10520  23392  6689  17041  13343  7881  15238  16804  6764  26002  16082  2100  4653  8629  9135  1819  18432  10816  3446  901  7411  15950  2417                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[4  18648  47  6443  7462  714  9519  13595  21574  14075  19907  18594  14457  22641  28528  5871  21916  24965  10589  6612  8463  10130  8293  20027  21569  21307  25076  20324  3724  2982  11069  16201  11692                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[5  20148  22885  3930  17416  13221  19761  760  15871  21053  3849  21750  713  16461  7631  1983  21619  18323  8856  6609  20814  7198  3252  9778  2349  25945  21000  5388  23779  4452  13681  7486  3193                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[6  18411  24820  27672  9978  4401  25877  12120  23966  2570  12633  18290  19706  25095  18984  16641  19747  3180  15568  14964  19556  20928  29898  24359  20762  914  9307  25553  15681  11487  28815  22910  20054                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[7  25948  11922  861  25765  11771  13076  28563  4750  10258  27108  13149  19695  18740  10192  22814  14990  20722  22005  26292  22543  21200  24114  14857  26010  26170  1827  17533  2369  2489  14762  1242  9676                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[8  14419  7207  1343  29515  12350  29190  21285  15094  25619  17158  12069  25143  1052  15970  19808  1975  29831  23938  8321  15706  25818  3200  12499  8628  25683  17408  24298  17926  1860  22462  11033  27786                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[9  25905  15041  8166  14181  10204  1399  1839  5294  14635  2664  6625  13155  23402  20269  29738  11639  14878  2002  3533  9625  15781  29021  22200  19920  24500  23333  11885  14565  21588  9046  7013  10985                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[10  8527  21212  29974  16891  9683  19858  24902  5637  11722  20977  15735  13101  25894  13593  12607  12661  20482  7186  3533  18997  21413  5704  340  3446  14374  19944  9721  974  25735  22998  21537  4052                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[11  26579  28905  2411  8418  19121  10361  7952  5622  21365  11177  22092  13308  16643  9339  5404  2384  819  21909  15656  21248  15001  18842  10316  11974  16236  18506  13210  7756  2737  28090  13321  25291                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[12  24387  903  24159  3440  20454  3125  1506  20444  7521  1109  26536  7783  27289  22593  5316  24728  11204  16149  17026  18148  21380  28717  10750  8999  8217  23375  8312  8462  18318  17131  12210  3572                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[13  11911  11169  2435  29096  1668  8355  1205  14104  8686  17270  5644  16009  22135  16156  2509  17007  16248  26456  7479  7299  19659  17578  22258  20920  5274  14754  19389  4469  18042  19680  25956  16869                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[14  27668  15674  22788  7880  6297  1512  15268  3308  28818  4583  1162  652  24750  11534  4890  23410  4888  11213  29987  71  23667  13113  24476  20640  29689  7705  29826  29057  3090  20448  24736  10626                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[15  26668  21229  4068  24363  29191  19605  9114  12052  11894  10263  17442  27933  19343  28296  16500  25553  1685  14453  28863  12005  17561  27597  939  4913  22891  3266  12838  5898  5391  4977  815  14536                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[16  28865  11285  26135  13057  10506  27964  19109  20939  11608  15339  10103  17096  6906  5877  17378  16913  13168  16417  1745  25809  18193  20995  19274  21099  24502  16776  27382  11090  28617  4329  9101  5253                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[17  20354  22682  26779  4275  10339  3380  15538  7363  25479  5174  25232  2399  22011  22648  10634  22600  905  26638  11900  20091  11510  6179  19412  6840  12289  19517  17579  9737  8757  10704  15765  17406                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[18  2785  16972  13205  2324  27666  5345  8017  459  9515  25126  8946  2286  24177  23552  24934  15540  11676  23621  24904  14240  5133  3967  27423  3782  1727  9518  14127  3357  5421  19192  3103  5213                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[19  873  17649  2701  20781  19305  7582  3228  6410  7085  6615  29820  19773  1641  17726  19705  10171  29654  11357  28056  21425  8115  23415  16846  4520  16053  22398  1892  15428  28341  4408  5008  20292                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[20  10989  8580  12873  9009  13875  1263  26324  27856  9779  9847  12402  17550  26517  2513  13905  19206  8580  8273  2004  12335  1647  9458  26109  24380  17912  19048  15991  28228  5928  15154  10121  9159                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[21  16492  3756  9594  2277  18249  18487  10483  20324  8731  24380  4420  827  20821  21974  9493  13722  7803  6686  18971  15907  12976  11682  7637  24926  1757  29328  232  9517  2094  27302  16258  13335                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[22  21790  20047  14092  5769  28525  16131  3483  19097  7777  20562  11670  16707  9458  27656  16259  11666  14253  355  7316  4501  21230  27720  28947  28713  26179  24965  21103  17875  25847  1369  6715  21445                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[23  29310  2884  9040  13963  10820  18809  10508  20588  19863  25960  4276  25393  28011  11284  3974  1869  25289  8747  26335  13451  24062  12345  28585  20850  4450  4729  1880  26735  12537  7111  15348  9267                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[24  28046  17584  18868  9826  8619  7729  20866  21238  17601  1103  24168  22831  4333  2352  4228  12838  3730  5417  15529  23774  29964  3557  28822  9509  18129  17401  4881  11919  11597  17623  14456  11761                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[25  16014  26181  25791  3086  12497  19915  19910  4705  29989  769  10940  8524  27280  11014  29607  634  16047  7749  20405  9701  19343  29081  16447  17590  15234  17361  14329  7120  18274  25650  207  17249                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
[26  20594  12678  13321  26029  13872  124  4841  14875  20205  7196  9229  3372  5848  4041  11409  13302  4020  8141  8253  27457  4389  23132  17182  13053  2324  9549  20738  13045  23420  29998  20286  26939                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[27  8986  3767  13056  8148  13898  25120  660  18409  5532  27936  497  22178  11968  23981  27572  21814  20070  27431  19367  4659  3164  16358  20465  876  21847  13285  5377  15806  10641  25870  15406  16383                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
[28  16301  14038  13029  24173  2335  23108  24234  5310  8130  26725  17698  24082  10916  14351  7545  25719  25021  12800  19956  20086  11125  15164  15375  5102  10225  26040  10820  29787  24813  8269  23187  12697                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[29  3819  17530  19682  4901  16158  2587  10741  10170  1058  9336  18167  11358  21591  19984  18962  3013  6757  6382  6923  18609  13580  3379  3690  22170  6833  18804  26256  18297  10477  27181  16600  4651                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[30  576  3383  13436  26319  26167  27420  4787  20923  16972  1178  3422  5052  13126  11791  3721  9757  8646  10866  1059  29372  8004  4736  9662  4375  25617  1382  8189  10520  22832  25986  7806  20667                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[31  1595  15179  24493  20324  15806  865  15151  21065  4242  10851  16014  17389  14307  19843  12073  6215  8281  11637  28928  26708  23392  11029  18645  19954  24705  10829  29409  15447  14835  21125  21113  26531                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
]

    set write-workload
[[0  3762  13498  10676  3489  9659  8363  974  8773  14196  11980  11889  14209  11012  13182  4425  13834  11755  5914  2977  674  4267  11716  14032  12912  11433  11151  8749  1002  10636  11259  14107  7787                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[1  5827  4959  3096  214  1783  9436  10817  14792  421  12914  9422  14616  9204  5246  12032  11557  10272  12344  8802  11748  1900  12114  14193  13788  11046  68  10604  8054  13434  6523  7535  12022                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
[2  12680  2486  3772  2724  10530  12160  12039  8951  1884  8768  4077  11578  10193  11697  4999  6876  4526  1371  8241  191  1523  7034  15000  2280  12455  1520  4217  12325  12453  6863  8703  13346                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[3  3625  4023  7963  4003  6013  10036  8740  8991  13216  5395  8825  3061  6442  13348  11859  4457  13191  214  5617  5310  4030  8027  8887  7147  8741  7342  4438  3597  7876  13649  1750  7527                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[4  10678  1892  9340  14599  6757  5393  13138  11768  14738  4826  11630  10429  10887  3174  3414  14413  4326  13333  938  8930  12499  11523  2508  11402  12132  8712  12735  13064  7899  1845  13472  3771                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[5  456  11867  11583  10995  14914  10830  1733  879  3762  14175  12837  6954  9442  13007  14201  8637  6669  10890  2346  1447  10170  13923  1525  7450  3961  5652  7701  5673  285  13676  628  12895                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[6  13914  10897  3329  1787  9232  14783  7565  4731  10415  11343  4145  14589  2503  627  2413  5845  4149  1980  14957  5413  6119  9926  915  6179  7081  7582  14642  2418  10198  6314  14279  8641                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[7  6855  12314  2027  13305  13503  9024  6330  6294  2454  8821  7344  13598  5130  62  1366  2989  2677  8075  9366  9416  6394  8343  7018  14225  1827  7564  2530  10948  4639  633  2334  3988                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[8  10970  12165  6939  2475  13111  9630  10201  757  4774  14562  9380  8401  2526  2152  14507  9505  7628  256  2056  2593  6224  12199  759  5878  8277  13847  11984  2829  947  9894  12020  14055                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ]
[9  305  13078  5565  10153  5707  13430  2252  7044  13250  4287  8455  58  8592  2296  12953  14230  188  10611  13771  13496  6972  9721  4521  10885  6365  13605  7383  1338  240  6383  13919  3079                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[10  5243  898  7800  13008  4402  80  13930  4208  492  2215  9604  12642  548  6531  2872  8765  1877  2170  2256  589  1690  7910  7524  7615  13924  14802  1530  9908  9891  5925  14618  6640                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[11  2510  6321  3415  5641  1244  9053  251  10098  3449  13261  5303  5026  10958  7413  6951  10876  13030  6726  2661  14468  4210  13238  2645  2034  11221  3404  13600  13847  5004  7660  14505  12336                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[12  8934  2269  13760  7959  7800  5817  12372  8629  2305  5334  4665  2729  11180  11561  2446  812  4368  11318  4212  10745  1062  4215  13229  6161  3332  11127  4759  8479  1898  12183  4059  7999                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[13  4825  1870  2823  10191  7285  645  7482  13442  6773  14734  12087  2671  11333  3052  4324  2539  2874  7094  4903  13268  14828  10383  872  14039  14925  11571  14219  14026  3774  2395  5375  14285                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ]
[14  4112  14969  1042  8862  9974  11565  12610  7180  14144  883  7660  11356  4596  4775  10308  13544  12621  1400  9112  12114  14523  1616  164  11665  11133  8617  3614  8849  13714  471  10521  2860                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
[15  14041  14212  1303  708  14412  13566  2832  1597  14522  11675  9353  9617  10453  737  8934  4479  8446  8597  4656  4058  2939  13607  14521  14755  4135  14777  8605  7886  504  2852  727  8257                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
[16  45  12206  4785  10385  4982  10158  11932  11746  4839  12136  14349  6414  8006  4887  8582  13857  456  2330  4660  2214  13143  8770  14872  14892  12592  3154  9633  14888  6388  7703  6975  6831                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[17  7090  6937  9924  11970  11238  6972  2105  8478  10125  7060  906  13562  11380  10757  1649  4472  1194  513  14978  3383  14773  2857  5915  13899  13471  13414  4254  13368  11402  587  2543  7177                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ]
[18  1177  3301  641  12878  7466  6629  2378  7385  6199  13709  11160  166  4693  6489  1682  10674  8562  14378  7155  4965  8452  11927  11571  8164  14811  9847  12156  12662  2093  6167  13859  9629                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[19  8137  14041  3631  9400  11338  5931  7058  12299  10664  11934  27  7317  10712  1396  1109  12787  11192  8961  5076  3575  8758  8934  10322  5137  2040  8896  1727  4873  10616  5324  7276  12898                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[20  10384  12357  7425  5290  11215  9413  9528  5583  7639  1322  5670  7082  12626  5550  8575  11881  11234  36  9720  1739  560  7122  14194  1614  9173  5846  5300  9851  7115  8663  13329  4460                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[21  1153  8891  12772  14072  13995  13985  6709  12098  3822  12742  12857  9942  13082  8982  13927  3311  4292  5129  8604  111  6489  4779  9200  4141  11221  1347  11618  10959  10100  2816  765  6404                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[22  9574  7225  13173  14419  9089  9272  1871  6671  4252  9469  8970  6534  8363  11692  8855  2026  13120  8123  1387  8  10218  8582  13336  8617  8246  5041  8281  1712  14829  6915  12268  14816                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[23  8641  8165  4883  235  150  11301  2844  10303  3011  8310  1587  6954  7734  5603  618  769  14219  9939  10588  6336  4564  9103  10298  10989  2274  6335  5362  8469  2930  11779  863  7462                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[24  1941  8187  1858  8228  3409  8019  10  5221  6312  5838  10959  14994  8704  3838  11732  7428  4936  3808  7466  1772  9258  4335  6788  9419  207  12  3801  14895  11286  8469  4463  172                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ]
[25  10546  8366  13510  11781  13436  3598  4412  2133  12747  717  2020  14489  4942  6899  285  2109  6863  10788  11307  4632  1168  2290  2214  5475  6407  12152  1389  7860  4472  8757  10579  3609                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ]
[26  3555  734  503  3172  13929  330  6904  10101  4577  1737  12690  11514  13241  1170  3038  4498  7369  2503  3694  6356  10952  3256  14720  14798  6759  4180  1108  6117  12917  7459  9279  12001                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ]
[27  8617  9394  7910  2255  9240  8777  5934  6547  6326  2651  7470  11319  6690  4397  2751  485  12306  11273  7158  1188  1733  9217  3254  11250  8040  8084  1789  11597  3463  8852  8552  969                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ]
[28  1843  12863  72  10608  8440  10345  5232  3768  14803  6751  11618  10035  13269  9313  7805  12847  11128  1818  3080  12281  4838  7357  12645  8760  14694  8462  7007  4339  219  13512  969  938                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ]
[29  6752  5748  12891  14263  192  12843  13082  8601  9891  14404  4264  1876  13228  6124  5648  2400  13610  2755  2439  13325  6223  9433  3001  1403  9428  2488  11181  10788  5293  3149  6333  2755                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ]
[30  11992  11020  2391  12558  1911  9800  11251  11306  13788  8604  9615  12081  2401  14232  12302  10579  12941  13741  6534  6534  11037  2352  9705  1280  2242  1924  10480  7064  11310  7144  932  13740                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ]
[31  7228  5423  12202  4064  11330  3826  14095  14258  4354  4084  7808  7318  5158  12545  13358  1120  8414  13221  2766  12282  10920  3512  2611  4380  8168  2162  9226  12246  14654  1419  4135  8039                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ]
]
  ]
end 

There are 4 versions of this model.

Uploaded by When Description Download
Magdalena Olewinska almost 8 years ago updated References in Info Tab Download this version
Magdalena Olewinska almost 8 years ago renamed directory placement Random to be Baseline Download this version
Magdalena Olewinska almost 8 years ago fixed spelling errors! Download this version
Magdalena Olewinska almost 8 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Improved Directory Protocol.png preview Preview for 'Improved Directory Protocol' almost 8 years ago, by Magdalena Olewinska Download

This model does not have any ancestors.

This model does not have any descendants.