The present disclosure relates to processing systems and more particularly to techniques for providing enhanced availability in single processor-based systems.
Achieving high-availability is an important design goal for any network architecture. Several networking technologies have been developed to achieve high-availability. Existing technologies facilitate high availability by providing redundant network devices or by providing multiple physical processors. For example, according to one architecture, redundant network devices are provided for forwarding data with one network device operating in active mode and the other operating in standby (or passive) mode. In this active-standby model, the active network device performs the data forwarding-related functions while the redundant second network device operates in standby mode. Upon a failover, which may occur, for example, due to an error on the active device, the standby device becomes the active device and takes over data forwarding functionality from the previously active device. The previous active device may then operate in standby mode. The active-standby model using two network devices thus strives to reduce interruptions in data forwarding.
Some network devices comprise multiple physical processors. For example, a network device may comprise two management cards, each having its own physical processor. One management card may be configured to operate in active mode while the other operates in standby mode. The active management card performs the data forwarding-related functions while the redundant second management card operates in standby mode. Upon a failover, the standby management card becomes the active card and takes over data forwarding-related functionality from the previously active management card. The previous active management card may then operate in standby mode. The active-standby model is typically used to enable various networking technologies such as graceful restart, non-stop routing (NSR), and the like.
As described above, conventional networks facilitate high-availability by providing redundant network devices or multiple physical processors. However, providing this redundancy increases the expense of the network or network device. Further, there are systems, including several network devices, and subsystems of a system that comprise only a single physical processor. These systems and subsystems cannot provide an active-standby capability. For example, line cards in a network device do not comprise redundant physical processors that can enable an active-standby model of operation. As another example, several network devices comprise only a single management card with a single physical CPU and thus do not support an active-standby model.