Tuesday 30 March 2021

Insights into Azure Service Fabric

A great source of insights into Azure Service Fabric (ASF) is the book "Programming Microsoft Azure Service Fabric" (or "Programming ASF or "PASF") by Haishi Bai.

Haishi is a principal software engineer at Microsoft.

The problem of leader election in distributed computing is one of the motivating problem statements that led to the development of ASF. This is the selection of a unique node in a series of nodes to co-ordinate a task. The algorithm details depend on the connection topology of the nodes e.g. rings, hypercubes etc.

Why is leader election an interesting topic in distributed systems?

Distributed systems may experience network outages or process failures. Consequently a leader node may cease to be the leader in a particular scenario.

To solve this problem, many solutions employ a heartbeat or polling method, so nodes are assured of the presence of the leader.  When that leader terminates unexpectedly the nodes must elect a new leader.

Some options are:

1. Node with lowest process ID becomes the leader/

2. Race to acquire a shared distributed mutex.  One caveat here is if the leader terminates, the mutex must be released.

3. Apply a leader election algorithm such as the Bully Algorithm or Ring Algorithm.

Containers and Linux support are newer parts of ASF.

Sunday 14 March 2021

What are glb Files? What does Khronos Group compare them to?

GLB files are binary version of the GL (Graphics Language) transmission format (glTF) file which uses JSON encoding. Its creators (Khronos Group) have called it the "JPEG of 3D". For a good source of news on Khronos check out its twitter feed.