Atangazaye milimo, si mwana wa liwali.

 


Msemo (aphorism)

Atangazaye milimo, si mwana wa liwali.

The one who allocates the tasks is not [necessarily] the son of the headman.

Liwali:  the local headman.

Milimo (plural of ‘mlimo’): work, probably from kulima: to work the land, farm.

Mlimo - way of clearing a field and growing crops.

Liwali, derived from Wāli, Wā'lī or vali (from Arabic: والي Wālī) is an administrative title that was used in the Muslim World (including Rashidun, Umayyad and Abbasid caliphates and Ottoman Empire) to designate governors of administrative divisions. The division that a Wāli governs is called Wilayah, or Vilayet (Ottoman Empire). In Kenya, the term ‘wilaya’ is a Swahili term which refers to the administrative districts divided from provinces. The Sultanate of Oman, when it ruled Zanzibar and Mombasa, appointed a wali for the city, known locally as Liwali, to look after towns on their behalf, including employing slaves for that purpose. Many rulers of the Trucial states (also called Trucial Oman in the past) appointed walis for the same purpose. Trucial Oman states were seven British protectorate tribal chiefdoms south of the Persian gulf that later became United Arab Emirates.

The aphorism is trying to indicate that simply because it was the duty of the liwali to gather slave labor, the delegation of that duty to another junior person does not mean that the said junior person is necessarily his son. This is because the liwali is also merely a delegated official without any real right to personal fief. The employer of the liwali also employed the junior to the liwali and maintained control through a network of information sharing and verification initiated and stored by the employer/leader.

Peer-to-peer communication/computing

Peer-to-peer computing or networking is a distributed application architecture that partitions tasks/workloads between peers. Content is shared through the network using a gossip protocol.

Gossip protocol

A gossip protocol or epidemic protocol is a process of computer peer-to-peer communication that is based on the way epidemics are spread. The concept of gossip communication can be illustrated by the analogy of neighbours or office workers spreading rumours, though these can have freely higher exponential factor of spread than the computer version which is confined to binary exponentiation. Computer systems using this protocol implement it with a form of random “peer selection”. After the picking up of “data of interest” by the main node, it shares the data with second node,  and within a given frequency, each machine down the chain picks another machine at random and shares the rumor. After each rumour-sharing rendezvous, the number of individuals who have heard the rumour roughly doubles in a multiplier effect. Initially, you have two agents sharing a rumour. In the next round of rumour-sharing, Agent A and Agent B pick additional random peers, maybe C and D. This round-by-round doubling phenomenon spreads the rumour exponentially. The number of machines in the network determines the total number of rounds of gossip needed to reach all agents, or at least a maximum number of agents. This can be calculated logarithmically. The basis of a rumour-round is two agents (the rumor-monger A and the recipient B). The logarithm is therefore calculated at base 2 (binary). Agent A as representative of rumor-mongering nodes in a system 30,000 machines will need ‘x’ number of gossip-rounds calculated as:

Log2 30,000 = X

X = 14.8726748803

Therefore, rumour-mongering nodes will need roughly 15 gossip-rounds to spread the information, and similarly, rumour-recipient nodes will need roughly 15 gossip-rounds to compute the information, selected randomly, to reach all agents. These are 30 gossip-rounds in total. Each gossip-round could take about a tenth of a second without imposing undue load, hence in an internet search scenario, this form of network search could search a big data centre in about 3-5 seconds. After the 5 seconds, if the best match is found, the search-string is assumed to have reached all the 30,000 machines. Within an additional delay of the same approximate length, every agent learns where the best match can be found. In particular, the agent that initiated the search will have found the best match. In this scenario, searches might automatically age out of the network after, say, 10 seconds. By then, the initiator is deemed to have known an answer and there is no point in further gossip about that particular search. At this point the results are displayed.

Gossip protocols have been used to maintain consistency of decentralized/distributed databases, or with other types of data in consistent states. They have also been used in counting the number of nodes in a network of unknown size, sorting nodes in a network, organizing nodes according to some structural policy, computing aggregates, building so-called overlay networks, spreading news robustly, electing leaders and so forth.

Since the basis of a gossip round is facilitated by two agents (the rumor-monger and the recipient), it is useful to distinguish how gossip protocols for each of the two agents differ.

1.     Dissemination protocols (or rumour-mongering/spreading protocols)

These basically work by flooding agents in the network, but in a manner that is random to minimize unreliable data from worst-case load. The flooding of agents in the network can take either of two forms depending on the nature of information.

a.   Event dissemination protocols which use gossip to carry out multicasts. They report events but the gossip occurs periodically, and this has the disadvantage of delay which affects the relevance of potentially high-latent information due to time taken between occurrence of an event until when the information is delivered. An example of high-latent information is information about safe locations of escape in the event of a natural disaster like a flood. The more the delay in such information, the more irrelevant it becomes.

b.    Background data dissemination protocols, which continuously gossip about information associated with participating nodes. Typically, for this type of information, propagation latency isn’t a concern because the information in question changes gradually and there is no significant penalty for acting upon slightly stale data. An example of such low-latent information is a research repository for an archeological institution.

 

2.     Protocols that compute aggregates (or rumour recipients)

These compute a network-wide aggregate by sampling information at the nodes of the network and combining the values to arrive at a system-wide value. The key requirement is that the aggregate must be computable by fixed-size pairwise information exchanges (gossip-rounds). Gossip protocols can aggregate and sort data in qualitative or quantitative fashion. Qualitatively, there are gossip protocols that can arrange nodes in an overlay into a list sorted by node-ID (or some other attribute) in logarithmic time using aggregation-style exchanges of information. Quantitatively, there are gossip algorithms that arrange nodes into a tree diagram and compute aggregates such as “sum” or “count” by gossiping in a pattern based to match the tree structure.

 

References

Demers, Alan; Greene, Dan; Hauser, Carl; Irish, Wes; Larson, John (1987). "Epidemic algorithms for replicated database maintenance". Proceedings of the sixth annual ACM Symposium on Principles of distributed computing - PODC '87. pp. 1–12.

Jelasity, Márk (2011). "Gossip". In Serugendo, Giovanna Di Marzo; Gleizes, Marie-Pierre; Karageorgos, Anthony (eds.). Self-organising Software. Natural Computing Series. Springer Berlin Heidelberg. pp. 139–162.

TUKI (2001), Kamusi Ya Kiswahili-Kiingereza; Swahili-English Dictionary. Published by Taasisi ya Uchunguzi wa Kiswahili (TUKI), Chuo Kikuu cha Dar es Salaam, Tanzania.


Comments