-
Notifications
You must be signed in to change notification settings - Fork 6
CODES
CODES ANL page: http://press3.mcs.anl.gov/codes/developer-access/
ROSS GitHub repo: https://github.com/carothersc/ROSS
Logical Process (LP): a Terminal or Router
Terminal: a simulated burst buffer, compute node, or MPI process
Router: a simulated network device that connects terminals to other Routers
Kernel Process (KP): a group of Logical Processes, the default is 16
PE: physical MPI process
Event Rate: number of forward events processed per second
Efficiency: number of forward events / number of backward (rollback) events
We will be partitioning the graph resulting from the application mapped to the network topology. This graph is defined at run time in CODES and thus, an in-memory approach will be taken to compute a static partitioning of their graph (we assume that CODES does not support migration). The construction of the CODES partition is done in the function int codes_mapping_init(void) in codes/src/util/codes_mapping.c.
- What method does CODES use to create its partition?
- Can we use the messaging info (send/recv/allreduce/etc..) defined by an application trace (or a pre-defined comm pattern) to define work associated with LPs? The assumption here is that this info is the only thing available a-priori to characterize the number of events each LP will have to process.
- Does CODES support migrating LPs?
- How are KPs defined? If we assign LPs to MPI processes (the partition), will KPs be defined within each process or is something else done that will result in problems (i.e., a KP spread across multiple processes)?