Issues with Distributed Systems

In order to effectively design, debug, and manage your distributed system, it is important to consider the following needs:

  • Determining and ensuring the proper order of activities performed across processes and threads
  • Tracking control flow of messages between processes, unobtrusively
  • Identifying interrelationships between distributed components
  • Identifying opportunities for optimizing performance such as load balancing

When working with a top down architectural view we need to bear in mind:

  • Events and other CORBA messages drive execution
  • Causal relationships across processes are presently difficult to track
  • Very little information is available to support "optimal" component deployment

Standard types of source debugging tools for instance do not address these kinds of issues. The reasons being:

  • Focus is on the execution of a single process
  • Usage affects memory footprint and timing
  • Requires strategic placement of breakpoints to capture flow

Even RTOS oriented tools, which are designed to support the development of quite complex systems only have the perspective of a single-card/board system. As a result they:

  • Cannot provide information about multiple cards/chassis
  • Can only be applied once some sort of fault isolation has narrowed the problem scope.

Copyright © 2006 Object Computing, Inc. All rights reserved. | Privacy Policy