Subsections

4.4 Charmdebug limitations

4.4.1 Clusters

Charmdebug is currently limited to applications started directly by the debugger due to implementation peculiarities. It will be extended to support connection to remote running applications in the near future.

Due to the current implementation, the debugging tool is limited to net-* versions. Other builds of CHARM++ might have unexpected behaviour. In the near future this will be extended at least to the mpi-* versions.

4.4.2 Record Replay

The record replay feature does not work well with spontaneous events. Load balancing is the most common form of spontaneous event in that it occurs periodically with no other causal event. As per

Figure 2: Parallel debugger when a break point is reached
Image snapshot3

As per Rashmi's thesis: There are some unique issues for replay in the context of Charm because it provides high-level support for dynamic load balancing, quiescence detection and information sharing. Many of the load balancing strategies in Charm have a spontaneous component. The strategy periodically checks the sizes of the queues on the local processor. A replay load balancing strategy implements the known load redistribution. The behavior of the old balancing strategy is therefore not replayed only its effect is. Since minimal tracing is used by the replay mechanism the amount of perturbation due to tracing is reduced. The replay mechanism is proposed as a debugging support to replay asynchronous message arrival orders.

Moreover, if your application crashes without a clean shutdown, the log may be lost with the application.

October 08, 2008
CharmDebug Homepage
Charm Homepage