Distributed computing

« Back to Glossary Index

Introduction and Overview of Distributed Computing
– Distributed system components are located on different networked computers.
– Components communicate and coordinate their actions by passing messages.
– Distributed computing is a field of computer science that studies distributed systems.
– Challenges of distributed systems include maintaining concurrency, overcoming the lack of a global clock, and managing independent failures.
– When a component fails, the entire system does not fail.
– Distributed systems are groups of networked computers with a common work goal.
– Concurrent computing, parallel computing, and distributed computing have overlap.
– Parallel computing is tightly coupled, while distributed computing is loosely coupled.
– In parallel computing, processors have shared memory, while in distributed computing, each processor has its own memory.
– Distributed systems are represented as a network topology, while parallel systems have direct access to shared memory.

History and Evolution of Distributed Computing
– Concurrent processes communicating through message-passing originated in the 1960s.
– Local-area networks like Ethernet were the first widespread distributed systems.
– ARPANET, the predecessor of the Internet, introduced in the late 1960s.
– ARPANET e-mail was an early large-scale distributed application.
– Distributed computing became its own branch of computer science in the late 1970s and early 1980s.
– Andrews (2000) discusses the historical development of distributed computing.
– Banks (2012) provides insights into the secret history of the internet and its founders.
– Tel (2000) explores the evolution and advancements of distributed algorithms.
– Ohlídal et al. (2006) discuss the application of evolutionary computing in distributed systems.
– Real Time and Distributed Computing Systems (PDF) provides an overview of distributed computing systems.

Architectures and Models in Distributed Computing
– Hardware and software architectures are used for distributed computing.
– CPUs are interconnected with networks at a lower level.
– Processes running on CPUs are interconnected with communication systems at a higher level.
– Distributed programming falls into architectures like client-server, three-tier, and peer-to-peer.
– Architectures can be categorized as loose coupling or tight coupling.
– Parallel algorithms in shared-memory model allow all processors to access a shared memory.
– The parallel random-access machine (PRAM) model is commonly used.
– Shared-memory programs can be extended to distributed systems with communication encapsulation.
– Parallel algorithms in message-passing model involve designing the network structure and program execution for each computer.
– Boolean circuits and sorting networks are used in this model.

Applications and Use Cases of Distributed Computing
– Distributed systems are used when data needs to be shared between multiple computers in different locations.
– They allow for larger storage, faster compute, and higher bandwidth than a single machine.
– Distributed systems provide more reliability as there is no single point of failure.
– They are easier to expand and manage compared to a monolithic uniprocessor system.
– Using a cluster of low-end computers can be more cost-efficient than a single high-end computer.
– Vigna and Casey (2015) explore the impact of cryptocurrencies and blockchain on distributed computing.
– Quang Hieu Vu et al. (2010) discuss the principles and applications of peer-to-peer computing.
– Lind and Alm (2006) present a database-centric virtual chemistry system for distributed computing.
– Chiu (1990) proposes a model for optimal database allocation in distributed computing systems.
– Elmasri and Navathe (2000) provide an overview of distributed database systems.

Algorithms, Techniques, and Challenges in Distributed Computing
– Lynch (1996) describes the fundamentals of distributed computing.
– Peleg (2000) provides an introduction to distributed systems.
– Ghosh (2007) discusses the challenges and benefits of distributed computing.
– Keidar (2008) explores the concepts and principles of distributed algorithms.
– Papadimitriou (1994) presents a comprehensive overview of distributed computing.
– Andrews (2000) discusses various algorithms and techniques used in distributed computing.
– Arora and Barak (2009) explore the trade-offs between bit, message, and time complexity in distributed algorithms.
– Cormen, Leiserson, and Rivest (1990) discuss distributed algorithms and their complexities.
– Herlihy and Shavit (2008) provide in-depth coverage of concurrent programming and synchronization in distributed systems.
– Lynch (1996) discusses the challenges and future directions in distributed computing.

A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another. Distributed computing is a field of computer science that studies distributed systems.

The components of a distributed system interact with one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining concurrency of components, overcoming the lack of a global clock, and managing the independent failure of components. When a component of one system fails, the entire system does not fail. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.

A computer program that runs within a distributed system is called a distributed program, and distributed programming is the process of writing such programs. There are many different types of implementations for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues.

Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one or more computers, which communicate with each other via message passing.

« Back to Glossary Index

Submit your RFP

We can't wait to read about your project. Use the form below to submit your RFP!

Gabrielle Buff
Gabrielle Buff

Just left us a 5 star review

Great customer service and was able to walk us through the various options available to us in a way that made sense. Would definitely recommend!

Stoute Web Solutions has been a valuable resource for our business. Their attention to detail, expertise, and willingness to help at a moment's notice make them an essential support system for us.

Paul and the team are very professional, courteous, and efficient. They always respond immediately even to my minute concerns. Also, their SEO consultation is superb. These are good people!

Paul Stoute & his team are top notch! You will not find a more honest, hard working group whose focus is the success of your business. If you’re ready to work with the best to create the best for your business, go Stoute Web Solutions; you’ll definitely be glad you did!

Wonderful people that understand our needs and make it happen!

Paul is the absolute best! Always there with solutions in high pressure situations. A steady hand; always there when needed; I would recommend Paul to anyone!

Vince Fogliani

The team over at Stoute web solutions set my business up with a fantastic new website, could not be happier

Steve Sacre

If You are looking for Website design & creativity look no further. Paul & his team are the epitome of excellence.Don't take my word just refer to my website "stevestours.net"that Stoute Web Solutions created.This should convince anyone that You have finally found Your perfect fit

Jamie Hill

Paul and the team at Stoute Web are amazing. They are super fast to answer questions. Super easy to work with, and knows their stuff. 10,000 stars.

Paul and the team from Stoute Web solutions are awesome to work with. They're super intuitive on what best suits your needs and the end product is even better. We will be using them exclusively for our web design and hosting.

Dean Eardley

Beautifully functional websites from professional, knowledgeable team.

Along with hosting most of my url's Paul's business has helped me with website development, graphic design and even a really cool back end database app! I highly recommend him as your 360 solution to making your business more visible in today's social media driven marketplace.

I hate dealing with domain/site hosts. After terrible service for over a decade from Dreamhost, I was desperate to find a new one. I was lucky enough to win...

Paul Stoute has been extremely helpful in helping me choose the best package to suite my needs. Any time I had a technical issue he was there to help me through it. Superb customer service at a great value. I would recommend his services to anyone that wants a hassle free and quality experience for their website needs.

Paul is the BEST! I am a current customer and happy to say he has never let me down. Always responds quickly and if he cant fix the issue right away, if available, he provides you a temporary work around while researching the correct fix! Thanks for being an honest and great company!!

Paul Stoute is absolutely wonderful. Paul always responds to my calls and emails right away. He is truly the backbone of my business. From my fantastic website to popping right up on Google when people search for me and designing my business cards, Paul has been there every step of the way. I would recommend this company to anyone.

I can't say enough great things about Green Tie Hosting. Paul was wonderful in helping me get my website up and running quickly. I have stayed with Green...