All Projects → shwetayakkali → Distributed-System-Algorithms-Implementation

shwetayakkali / Distributed-System-Algorithms-Implementation

Licence: other
Algorithms for implementation of Clock Synchronization, Consistency, Mutual Exclusion, Leader Election

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Distributed-System-Algorithms-Implementation

Awesome Parallel Computing
A curated list of awesome parallel computing resources
Stars: ✭ 212 (+443.59%)
Mutual labels:  distributed-systems, distributed-computing
tutorial
Tutorials to help you build your first Swim app
Stars: ✭ 27 (-30.77%)
Mutual labels:  distributed-systems, distributed-computing
Gosiris
An actor framework for Go
Stars: ✭ 222 (+469.23%)
Mutual labels:  distributed-systems, distributed-computing
Dasync
Every developer deserves the right of creating microservices without using any framework 🤍
Stars: ✭ 154 (+294.87%)
Mutual labels:  distributed-systems, cloud-computing
pat-helland-and-me
Materials related to my talk "Pat Helland and Me"
Stars: ✭ 14 (-64.1%)
Mutual labels:  distributed-systems, distributed-computing
Atomix
A reactive Java framework for building fault-tolerant distributed systems
Stars: ✭ 2,182 (+5494.87%)
Mutual labels:  distributed-systems, leader-election
rce
Distributed, workflow-driven integration environment
Stars: ✭ 42 (+7.69%)
Mutual labels:  distributed-systems, distributed-computing
Nats Server
High-Performance server for NATS.io, the cloud and edge native messaging system.
Stars: ✭ 10,223 (+26112.82%)
Mutual labels:  distributed-systems, cloud-computing
learning-computer-science
Learning data structures, algorithms, machine learning and various computer science constructs by programming practice from resources around the web.
Stars: ✭ 28 (-28.21%)
Mutual labels:  distributed-systems, cloud-computing
ripple
Simple shared surface streaming application
Stars: ✭ 17 (-56.41%)
Mutual labels:  distributed-systems, distributed-computing
Orleans.clustering.kubernetes
Orleans Membership provider for Kubernetes
Stars: ✭ 140 (+258.97%)
Mutual labels:  distributed-systems, distributed-computing
protoactor-go
Proto Actor - Ultra fast distributed actors for Go, C# and Java/Kotlin
Stars: ✭ 4,138 (+10510.26%)
Mutual labels:  distributed-systems, distributed-computing
Scalecube Cluster
ScaleCube Cluster is a lightweight Java VM implementation of SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol. features cluster membership, failure detection, and gossip protocol library.
Stars: ✭ 119 (+205.13%)
Mutual labels:  distributed-systems, distributed-computing
Qix
Machine Learning、Deep Learning、PostgreSQL、Distributed System、Node.Js、Golang
Stars: ✭ 13,740 (+35130.77%)
Mutual labels:  distributed-systems, distributed-computing
Parapet
A purely functional library to build distributed and event-driven systems
Stars: ✭ 106 (+171.79%)
Mutual labels:  distributed-systems, distributed-computing
prometheus-spec
Censorship-resistant trustless protocols for smart contract, generic & high-load computing & machine learning on top of Bitcoin
Stars: ✭ 24 (-38.46%)
Mutual labels:  distributed-computing, cloud-computing
Distributedsystem Series
📚 深入浅出分布式基础架构,Linux 与操作系统篇 | 分布式系统篇 | 分布式计算篇 | 数据库篇 | 网络篇 | 虚拟化与编排篇 | 大数据与云计算篇
Stars: ✭ 1,092 (+2700%)
Mutual labels:  distributed-systems, distributed-computing
Distributedsystems
My Distributed Systems references
Stars: ✭ 67 (+71.79%)
Mutual labels:  distributed-systems, distributed-computing
nebula
A distributed block-based data storage and compute engine
Stars: ✭ 127 (+225.64%)
Mutual labels:  distributed-systems, distributed-computing
asyncoro
Python framework for asynchronous, concurrent, distributed, network programming with coroutines
Stars: ✭ 50 (+28.21%)
Mutual labels:  distributed-computing, cloud-computing

Distributed-System-Algorithms-Implementation

Algorithms for implementation of Clock Synchronization, Consistency, Distributed Mutual Exclusion, Leader Election

Clock Synchronization : Implementation of Vector Time stamp in a network of 4 servers for a transaction system where each process like checking balance, deposit or withdrawal is a job and it is synchronized based on arrival of request within the network. to manage the order of requests, vector time is used for co-odinationg time among the different servers. VectorClockThreads.java : Impementation of Clock Synchronization.

Consistency: Implementation of Chandy-Lamport Algorithm for ensuring channel consistency during a snapshot of the network. Follows, the transaction process. Snapshot taken at regular intervals and balance is consistent between the netork of 3 servers. ChandyLamportSnapshot: Implementation of Chandy Lamport Algorithm for channel consistency.

Mutual Exclusion: Implementation of Token-based Raymond's Algorithm for mutual exclusion. A process can execute a task only whn it has the token, if it doesn't have the token, it passes a request to it's parent in the tree and so on till the node which has the token is reached. Similarly, other nodes also can initial a token request, token access is granted in a FIFO order. On receiving the token the node enters critical section and a task is performed and once task is completed token access is granted to the node which requested it first in the queue but if no node has requested for a token, the token will be present with the node. Node can enter critical section only if it has the token. RaymondsDME.java - Implementation of Distributed Mutual Exclusion in a network of 7 servers in the form of a tree structure.

Leader Election in Distributed Systems - Implementation of Bully Algorithm for Leader election. All the servers have a priority. The server with the highest priority is elected as the leader. A heart-beat process is followed wherein all the other servers in the network keep pinging the leader to ensure if the leader is up and running. If a leader fails, which is detected by the heart-beat algorithm, a new leader election process starts. If a new server joins the network again and election process starts. Bully.java - Implementation of Bully Algorithm for leader election in network of 5 servers.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].