Implementation Notes

API Description

 

 

If a callback of this form has been registered with the Checkpoint service via ncsCkptRegisterCkptArrivalCallback(), then it will be invoked whenever new or updated checkpoint replica data arrives for the checkpoint identified by checkpointHandle. The checkpoint writer is never called back. Also, applications that have not opened the checkpoint with the SA_CKPT_CHECKPOINT_READ flag are not called back. This callback is invoked in the context of a thread issuing saCkptDispatch() call.

The expected behavior for the client application is to take these very same arguments and use them as-is to invoke saCkptCheckpointRead(), thus fetching the section data that has been modified in the checkpoint.

For the NCS implementation, this callback function shall report that the data available for reading is exactly the same set of data that was described and written by the checkpoint writer that invoked one of saCkptCheckpointWrite(), saCkptSectionOverwrite() or saCkptSectionCreate(). This means/implies that our NCS implementation shall deliver checkpoint data in exactly the same units as was written. However, note that this callback is not invoked when a section is deleted by a writer using the saCkptSectionDelete() API. Therefore this service extension can only be used if sections created are expected to exist through the lifetime of the distributed application, i.e. sections that are created by the service are never deleted.

This function does not conflict or affect the behavior of any other SAF Checkpoint function.

Return Values

n.a.

2.2Implementation Notes

This section summarizes important information that should be kept in mind when writing applications that make use of the Checkpoint service.

2.2.1Usage of Non-Collocated Checkpoints

Checkpoints created without the collocated attribute are called non-collocated checkpoints. The management of replicas of non-collocated checkpoints and whether they are active or not is the responsibility of the Checkpoint Service.

For the non-collocated Checkpoints, NCS06A Checkpoint Service will specify the location of the checkpoint replicas as per the following policy:

zIf a non-collocated checkpoint is opened for the first time by an application residing on a payload blade, the replicas will be created on the local payload blade and both the system manager nodes. In this case, the replica residing on the payload blade is designated as active replica.

zIf a non-collocated checkpoint is opened for the first time by an application residing on the system manager nodes, the replica will be created only on the system manager blade. In this case, this replica on a system manager node will act as the active replica.

zIf another application opens the same checkpoint from a payload node, the checkpoint service will not create the replica on that node.

Checkpoint Service Programmer’s Reference (6806800C47B)

19

Page 19
Image 19
Motorola 6806800C47B manual Usage of Non-Collocated Checkpoints, Implementation Notes API Description

6806800C47B specifications

The Motorola 68000 series microprocessor, which includes the 68000, 68010, 68020, and others, significantly impacted the development of computing technology. Among its variants is the Motorola 68000, often referenced for its advanced features, performance, and capacity for versatility, making it one of the most prominent processors in its time.

The Motorola 68000, with its 16-bit data bus and 32-bit internal architecture, provided a potent combination of speed and efficiency. This processor features a clock speed ranging from 5 to 25 MHz, enabling high-performance computing for a range of applications, from personal computers to embedded systems. It utilizes a sophisticated instruction set that accommodates complex operations, enabling developers to write efficient and powerful software.

One of the main characteristics of the Motorola 68000 is its ability to address 24 bits of memory space, allowing it to access up to 16 MB of RAM directly. This memory addressing capability was an impressive feature during its release, supporting more extensive and more complex applications than most contemporaries could handle at the time.

The architecture of the Motorola 68000 is notable for its orthogonal design, which provides a rich set of addressing modes, making it versatile for various programming tasks. Its instruction set includes operations for arithmetic, logic, and data manipulation, coupled with strong support for multitasking and complex data structures, essential for modern operating systems.

In terms of technology, the Motorola 68000 employed a dual-processor architecture that enabled it to work alongside other processors, such as the Motorola 68881 and 68882 floating-point coprocessors, significantly enhancing its computational capabilities especially in graphics, scientific calculations, and complex algorithms.

Furthermore, the 68000 series processors were known for their excellent interrupt handling capabilities, making them suitable for real-time applications. This feature was particularly valuable in embedded systems, telecommunications, and industrial control systems, allowing for responsiveness in processing external events.

The 68000 microprocessor also gained popularity in the world of gaming and graphics, being utilized in iconic devices like the Sega Genesis and the Atari ST series. Its performance and flexibility in diverse applications ensured that the 68000 series left an indelible mark on the evolution of computing technology, influencing generations of system design.

In conclusion, the Motorola 68000, particularly the 68000 series, is a foundation in microprocessor history, celebrated for its capabilities in memory management, software development, and multi-faceted applications that paved the way for modern computing.