Search This Blog

Thursday, August 7, 2025

Distributed computing

From Wikipedia, the free encyclopedia

Distributed computing is a field of computer science that studies distributed systems, defined as computer systems whose inter-communicating components are located on different networked computers.

The components of a distributed system communicate and coordinate their actions by passing messages to 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 microservices to massively multiplayer online games to peer-to-peer applications. Distributed systems cost significantly more than monolithic architectures, primarily due to increased needs for additional hardware, servers, gateways, firewalls, new subnets, proxies, and so on. Also, distributed systems are prone to fallacies of distributed computing. On the other hand, a well designed distributed system is more scalable, more durable, more changeable and more fine-tuned than a monolithic application deployed on a single machine. According to Marc Brooker: "a system is scalable in the range where marginal cost of additional workload is nearly constant." Serverless technologies fit this definition but the total cost of ownership, and not just the infra cost must be considered.

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.

Introduction

The word distributed in terms such as "distributed system", "distributed programming", and "distributed algorithm" originally referred to computer networks where individual computers were physically distributed within some geographical area. The terms are nowadays used in a much wider sense, even referring to autonomous processes that run on the same physical computer and interact with each other by message passing.

While there is no single definition of a distributed system, the following defining properties are commonly used as:

  • There are several autonomous computational entities (computers or nodes), each of which has its own local memory.
  • The entities communicate with each other by message passing.

A distributed system may have a common goal, such as solving a large computational problem; the user then perceives the collection of autonomous processors as a unit. Alternatively, each computer may have its own user with individual needs, and the purpose of the distributed system is to coordinate the use of shared resources or provide communication services to the users.

Other typical properties of distributed systems include the following:

  • The system has to tolerate failures in individual computers.
  • The structure of the system (network topology, network latency, number of computers) is not known in advance, the system may consist of different kinds of computers and network links, and the system may change during the execution of a distributed program.
  • Each computer has only a limited, incomplete view of the system. Each computer may know only one part of the input.

Patterns

Here are common architectural patterns used for distributed computing:

Events vs. Messages

In distributed systems, events represent a fact or state change (e.g., OrderPlaced) and are typically broadcast asynchronously to multiple consumers, promoting loose coupling and scalability. While events generally don’t expect an immediate response, acknowledgment mechanisms are often implemented at the infrastructure level (e.g., Kafka commit offsets, SNS delivery statuses) rather than being an inherent part of the event pattern itself.

In contrast, messages serve a broader role, encompassing commands (e.g., ProcessPayment), events (e.g., PaymentProcessed), and documents (e.g., DataPayload). Both events and messages can support various delivery guarantees, including at-least-once, at-most-once, and exactly-once, depending on the technology stack and implementation. However, exactly-once delivery is often achieved through idempotency mechanisms rather than true, infrastructure-level exactly-once semantics.

Delivery patterns for both events and messages include publish/subscribe (one-to-many) and point-to-point (one-to-one). While request/reply is technically possible, it is more commonly associated with messaging patterns rather than pure event-driven systems. Events excel at state propagation and decoupled notifications, while messages are better suited for command execution, workflow orchestration, and explicit coordination.

Modern architectures commonly combine both approaches, leveraging events for distributed state change notifications and messages for targeted command execution and structured workflows based on specific timing, ordering, and delivery requirements.

Parallel and distributed computing

(a), (b): a distributed system.
(c): a parallel system.

Distributed systems are groups of networked computers which share a common goal for their work. The terms "concurrent computing", "parallel computing", and "distributed computing" have much overlap, and no clear distinction exists between them. The same system may be characterized both as "parallel" and "distributed"; the processors in a typical distributed system run concurrently in parallel. Parallel computing may be seen as a particularly tightly coupled form of distributed computing, and distributed computing may be seen as a loosely coupled form of parallel computing. Nevertheless, it is possible to roughly classify concurrent systems as "parallel" or "distributed" using the following criteria:

  • In parallel computing, all processors may have access to a shared memory to exchange information between processors.
  • In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.

The figure on the right illustrates the difference between distributed and parallel systems. Figure (a) is a schematic view of a typical distributed system; the system is represented as a network topology in which each node is a computer and each line connecting the nodes is a communication link. Figure (b) shows the same distributed system in more detail: each computer has its own local memory, and information can be exchanged only by passing messages from one node to another by using the available communication links. Figure (c) shows a parallel system in which each processor has a direct access to a shared memory.

The situation is further complicated by the traditional uses of the terms parallel and distributed algorithm that do not quite match the above definitions of parallel and distributed systems (see below for more detailed discussion). Nevertheless, as a rule of thumb, high-performance parallel computation in a shared-memory multiprocessor uses parallel algorithms while the coordination of a large-scale distributed system uses distributed algorithms.

History

The use of concurrent processes which communicate through message-passing has its roots in operating system architectures studied in the 1960s. The first widespread distributed systems were local-area networks such as Ethernet, which was invented in the 1970s.

ARPANET, one of the predecessors of the Internet, was introduced in the late 1960s, and ARPANET e-mail was invented in the early 1970s. E-mail became the most successful application of ARPANET, and it is probably the earliest example of a large-scale distributed application. In addition to ARPANET (and its successor, the global Internet), other early worldwide computer networks included Usenet and FidoNet from the 1980s, both of which were used to support distributed discussion systems.

The study of distributed computing became its own branch of computer science in the late 1970s and early 1980s. The first conference in the field, Symposium on Principles of Distributed Computing (PODC), dates back to 1982, and its counterpart International Symposium on Distributed Computing (DISC) was first held in Ottawa in 1985 as the International Workshop on Distributed Algorithms on Graphs.

Architectures

Various hardware and software architectures are used for distributed computing. At a lower level, it is necessary to interconnect multiple CPUs with some sort of network, regardless of whether that network is printed onto a circuit board or made up of loosely coupled devices and cables. At a higher level, it is necessary to interconnect processes running on those CPUs with some sort of communication system.

Whether these CPUs share resources or not determines a first distinction between three types of architecture:

Distributed programming typically falls into one of several basic architectures: client–server, three-tier, n-tier, or peer-to-peer; or categories: loose coupling, or tight coupling.

  • Client–server: architectures where smart clients contact the server for data then format and display it to the users. Input at the client is committed back to the server when it represents a permanent change.
  • Three-tier: architectures that move the client intelligence to a middle tier so that stateless clients can be used. This simplifies application deployment. Most web applications are three-tier.
  • n-tier: architectures that refer typically to web applications which further forward their requests to other enterprise services. This type of application is the one most responsible for the success of application servers.
  • Peer-to-peer: architectures where there are no special machines that provide a service or manage the network resources. Instead all responsibilities are uniformly divided among all machines, known as peers. Peers can serve both as clients and as servers. Examples of this architecture include BitTorrent and the bitcoin network.

Another basic aspect of distributed computing architecture is the method of communicating and coordinating work among concurrent processes. Through various message passing protocols, processes may communicate directly with one another, typically in a main/sub relationship. Alternatively, a "database-centric" architecture can enable distributed computing to be done without any form of direct inter-process communication, by utilizing a shared database. Database-centric architecture in particular provides relational processing analytics in a schematic architecture allowing for live environment relay. This enables distributed computing functions both within and beyond the parameters of a networked database.

Cell-Based Architecture

Cell-based architecture is a distributed computing approach in which computational resources are organized into self-contained units called cells. Each cell operates independently, processing requests while maintaining scalability, fault isolation, and availability.

A cell typically consists of multiple services or application components and functions as an autonomous unit. Some implementations replicate entire sets of services across multiple cells, while others partition workloads between cells. In replicated models, requests may be rerouted to an operational cell if another experiences a failure. This design is intended to enhance system resilience by reducing the impact of localized failures.

Some implementations employ circuit breakers within and between cells. Within a cell, circuit breakers may be used to prevent cascading failures among services, while inter-cell circuit breakers can isolate failing cells and redirect traffic to those that remain operational.

Cell-based architecture has been adopted in some large-scale distributed systems, particularly in cloud-native and high-availability environments, where fault isolation and redundancy are key design considerations. Its implementation varies depending on system requirements, infrastructure constraints, and operational objectives.

Applications

Reasons for using distributed systems and distributed computing may include:

  • The very nature of an application may require the use of a communication network that connects several computers: for example, data produced in one physical location and required in another location.
  • There are many cases in which the use of a single computer would be possible in principle, but the use of a distributed system is beneficial for practical reasons. For example:
    • It can allow for much larger storage and memory, faster compute, and higher bandwidth than a single machine.
    • It can provide more reliability than a non-distributed system, as there is no single point of failure. Moreover, a distributed system may be easier to expand and manage than a monolithic uniprocessor system.
    • It may be more cost-efficient to obtain the desired level of performance by using a cluster of several low-end computers, in comparison with a single high-end computer.

Examples

Examples of distributed systems and applications of distributed computing include the following:

Reactive distributed systems

According to Reactive Manifesto, reactive distributed systems are responsive, resilient, elastic and message-driven. Subsequently, Reactive systems are more flexible, loosely-coupled and scalable. To make your systems reactive, you are advised to implement Reactive Principles. Reactive Principles are a set of principles and patterns which help to make your cloud native application as well as edge native applications more reactive.

Theoretical foundations

Models

Many tasks that we would like to automate by using a computer are of question–answer type: we would like to ask a question and the computer should produce an answer. In theoretical computer science, such tasks are called computational problems. Formally, a computational problem consists of instances together with a solution for each instance. Instances are questions that we can ask, and solutions are desired answers to these questions.

Theoretical computer science seeks to understand which computational problems can be solved by using a computer (computability theory) and how efficiently (computational complexity theory). Traditionally, it is said that a problem can be solved by using a computer if we can design an algorithm that produces a correct solution for any given instance. Such an algorithm can be implemented as a computer program that runs on a general-purpose computer: the program reads a problem instance from input, performs some computation, and produces the solution as output. Formalisms such as random-access machines or universal Turing machines can be used as abstract models of a sequential general-purpose computer executing such an algorithm.

The field of concurrent and distributed computing studies similar questions in the case of either multiple computers, or a computer that executes a network of interacting processes: which computational problems can be solved in such a network and how efficiently? However, it is not at all obvious what is meant by "solving a problem" in the case of a concurrent or distributed system: for example, what is the task of the algorithm designer, and what is the concurrent or distributed equivalent of a sequential general-purpose computer?

The discussion below focuses on the case of multiple computers, although many of the issues are the same for concurrent processes running on a single computer.

Three viewpoints are commonly used:

Parallel algorithms in shared-memory model
  • All processors have access to a shared memory. The algorithm designer chooses the program executed by each processor.
  • One theoretical model is the parallel random-access machines (PRAM) that are used. However, the classical PRAM model assumes synchronous access to the shared memory.
  • Shared-memory programs can be extended to distributed systems if the underlying operating system encapsulates the communication between nodes and virtually unifies the memory across all individual systems.
  • A model that is closer to the behavior of real-world multiprocessor machines and takes into account the use of machine instructions, such as Compare-and-swap (CAS), is that of asynchronous shared memory. There is a wide body of work on this model, a summary of which can be found in the literature.
Parallel algorithms in message-passing model
  • The algorithm designer chooses the structure of the network, as well as the program executed by each computer.
  • Models such as Boolean circuits and sorting networks are used. A Boolean circuit can be seen as a computer network: each gate is a computer that runs an extremely simple computer program. Similarly, a sorting network can be seen as a computer network: each comparator is a computer.
Distributed algorithms in message-passing model
  • The algorithm designer only chooses the computer program. All computers run the same program. The system must work correctly regardless of the structure of the network.
  • A commonly used model is a graph with one finite-state machine per node.

In the case of distributed algorithms, computational problems are typically related to graphs. Often the graph that describes the structure of the computer network is the problem instance. This is illustrated in the following example.

An example

Consider the computational problem of finding a coloring of a given graph G. Different fields might take the following approaches:

Centralized algorithms
  • The graph G is encoded as a string, and the string is given as input to a computer. The computer program finds a coloring of the graph, encodes the coloring as a string, and outputs the result.
Parallel algorithms
  • Again, the graph G is encoded as a string. However, multiple computers can access the same string in parallel. Each computer might focus on one part of the graph and produce a coloring for that part.
  • The main focus is on high-performance computation that exploits the processing power of multiple computers in parallel.
Distributed algorithms
  • The graph G is the structure of the computer network. There is one computer for each node of G and one communication link for each edge of G. Initially, each computer only knows about its immediate neighbors in the graph G; the computers must exchange messages with each other to discover more about the structure of G. Each computer must produce its own color as output.
  • The main focus is on coordinating the operation of an arbitrary distributed system.

While the field of parallel algorithms has a different focus than the field of distributed algorithms, there is much interaction between the two fields. For example, the Cole–Vishkin algorithm for graph coloring was originally presented as a parallel algorithm, but the same technique can also be used directly as a distributed algorithm.

Moreover, a parallel algorithm can be implemented either in a parallel system (using shared memory) or in a distributed system (using message passing). The traditional boundary between parallel and distributed algorithms (choose a suitable network vs. run in any given network) does not lie in the same place as the boundary between parallel and distributed systems (shared memory vs. message passing).

Complexity measures

In parallel algorithms, yet another resource in addition to time and space is the number of computers. Indeed, often there is a trade-off between the running time and the number of computers: the problem can be solved faster if there are more computers running in parallel (see speedup). If a decision problem can be solved in polylogarithmic time by using a polynomial number of processors, then the problem is said to be in the class NC. The class NC can be defined equally well by using the PRAM formalism or Boolean circuits—PRAM machines can simulate Boolean circuits efficiently and vice versa.

In the analysis of distributed algorithms, more attention is usually paid on communication operations than computational steps. Perhaps the simplest model of distributed computing is a synchronous system where all nodes operate in a lockstep fashion. This model is commonly known as the LOCAL model. During each communication round, all nodes in parallel (1) receive the latest messages from their neighbours, (2) perform arbitrary local computation, and (3) send new messages to their neighbors. In such systems, a central complexity measure is the number of synchronous communication rounds required to complete the task.

This complexity measure is closely related to the diameter of the network. Let D be the diameter of the network. On the one hand, any computable problem can be solved trivially in a synchronous distributed system in approximately 2D communication rounds: simply gather all information in one location (D rounds), solve the problem, and inform each node about the solution (D rounds).

On the other hand, if the running time of the algorithm is much smaller than D communication rounds, then the nodes in the network must produce their output without having the possibility to obtain information about distant parts of the network. In other words, the nodes must make globally consistent decisions based on information that is available in their local D-neighbourhood. Many distributed algorithms are known with the running time much smaller than D rounds, and understanding which problems can be solved by such algorithms is one of the central research questions of the field. Typically an algorithm which solves a problem in polylogarithmic time in the network size is considered efficient in this model.

Another commonly used measure is the total number of bits transmitted in the network (cf. communication complexity). The features of this concept are typically captured with the CONGEST(B) model, which is similarly defined as the LOCAL model, but where single messages can only contain B bits.

Other problems

Traditional computational problems take the perspective that the user asks a question, a computer (or a distributed system) processes the question, then produces an answer and stops. However, there are also problems where the system is required not to stop, including the dining philosophers problem and other similar mutual exclusion problems. In these problems, the distributed system is supposed to continuously coordinate the use of shared resources so that no conflicts or deadlocks occur.

There are also fundamental challenges that are unique to distributed computing, for example those related to fault-tolerance. Examples of related problems include consensus problemsByzantine fault tolerance, and self-stabilisation.

Much research is also focused on understanding the asynchronous nature of distributed systems:

Note that in distributed systems, latency should be measured through "99th percentile" because "median" and "average" can be misleading.

Coordinator election (or leader election) is the process of designating a single process as the organizer of some task distributed among several computers (nodes). Before the task is begun, all network nodes are either unaware which node will serve as the "coordinator" (or leader) of the task, or unable to communicate with the current coordinator. After a coordinator election algorithm has been run, however, each node throughout the network recognizes a particular, unique node as the task coordinator.

The network nodes communicate among themselves in order to decide which of them will get into the "coordinator" state. For that, they need some method in order to break the symmetry among them. For example, if each node has unique and comparable identities, then the nodes can compare their identities, and decide that the node with the highest identity is the coordinator.

The definition of this problem is often attributed to LeLann, who formalized it as a method to create a new token in a token ring network in which the token has been lost.

Coordinator election algorithms are designed to be economical in terms of total bytes transmitted, and time. The algorithm suggested by Gallager, Humblet, and Spira for general undirected graphs has had a strong impact on the design of distributed algorithms in general, and won the Dijkstra Prize for an influential paper in distributed computing.

Many other algorithms were suggested for different kinds of network graphs, such as undirected rings, unidirectional rings, complete graphs, grids, directed Euler graphs, and others. A general method that decouples the issue of the graph family from the design of the coordinator election algorithm was suggested by Korach, Kutten, and Moran.

In order to perform coordination, distributed systems employ the concept of coordinators. The coordinator election problem is to choose a process from among a group of processes on different processors in a distributed system to act as the central coordinator. Several central coordinator election algorithms exist.

Properties of distributed systems

So far the focus has been on designing a distributed system that solves a given problem. A complementary research problem is studying the properties of a given distributed system.

The halting problem is an analogous example from the field of centralised computation: we are given a computer program and the task is to decide whether it halts or runs forever. The halting problem is undecidable in the general case, and naturally understanding the behaviour of a computer network is at least as hard as understanding the behaviour of one computer.

However, there are many interesting special cases that are decidable. In particular, it is possible to reason about the behaviour of a network of finite-state machines. One example is telling whether a given network of interacting (asynchronous and non-deterministic) finite-state machines can reach a deadlock. This problem is PSPACE-complete, i.e., it is decidable, but not likely that there is an efficient (centralised, parallel or distributed) algorithm that solves the problem in the case of large networks.

All Spin Aside, the Emerging AI Data Centers Will Rely on Natural Gas



In an age of unending propaganda and spin, there are still rare times when undeniable evidence leaves no room for argument. Such is the case with the emerging artificial intelligence data centers and the energy needed to sustain and grow them.

The evolving AI technologies and their rapid implementation in almost every walk of life can be intimidating and even frightening. The technology already seems in danger of outpacing the controls and parameters necessary to harness AI’s astounding possibilities. The Stanley Kubrick classic from 1968, “2001: A Space Odyssey,” warned about a future where “thinking” computers would refuse to obey the commands of their human creators.

While ethicists wrestle with the philosophical questions surrounding AI and politicians debate laws to regulate it, the U.S. must not only compete with other nations but make sure it remains the worldwide leader. To that end, AI centers continue springing up across the country, placing demands on electric grids unlike anything seen before.

Penn State’s Institute of Energy and the Environment recently reported that in 2023, AI data centers consumed 4.4% of electricity in the U.S. alone. That’s an impressive number. But the institute went on to predict that by 2030-2035, data centers “could account for 20% of global electricity use, putting an immense strain on power grids.”

MIT’s Energy Initiative noted earlier this year how ubiquitous AI technology has become, with most people not giving it a second thought as they utilize its services daily through companies like Google, Meta, Microsoft and Amazon.

“Without realizing it, consumers rely on AI when they stream a video, do online banking, or perform an online search,” MIT noted. “Behind these capabilities are more than 10,000 data centers globally, each one a huge warehouse containing thousands of computer servers and other infrastructure for storing, managing, and processing data. There are now over 5,000 data centers in the U.S., and new ones are being built every day—both in the U.S. and worldwide.”

Universities such as Penn State and MIT are worried about the data centers’ “environmental footprint.” But many who predicted that “alternatives” would someday power the world are increasingly acknowledging the fact that fueling the data center boom will require traditional energy sources, especially natural gas.

 “While renewables like wind and solar will play an important role in the energy future, they alone cannot power a 24/7 AI infrastructure,” Forbes recently reported. “That’s why natural gas and nuclear are regaining prominence in grid planning. Several utilities have fast-tracked proposals for new natural gas “peaker” plants. Others are evaluating small modular nuclear reactors as potential solutions for delivering steady, low-carbon baseload power.”

While some data center developers may be considering building small nuclear reactors, natural gas has the upper hand because it is readily available and can be utilized more quickly – and it’s increasingly considered “green” energy, including by legislative fiat.

It’s important to step back and recall the conflicting courses being charted less than a year ago by the U.S. government on one hand and the AI boom on the other. While the U.S. desperately needed to keep pace with other nations, particularly China, in building AI data centers, the Biden administration was implementing policies designed to eliminate fossil fuel-based energy in favor of taxpayer-subsidized solar and wind farms.

In essence, the U.S. was on track to power down at the same time that new technologies demanded greater and more reliable power sources than ever before. Thank goodness voters came to the rescue in 2024. President Trump and his administration are working overtime to undo the damage of the previous administration. Trump’s Energy Department, guided by two executive orders – “Removing Barriers to American Leadership in Artificial Intelligence” and “Unleashing American Energy” – is examining ways to facilitate and accelerate the AI infrastructure.

On July 15, the Trump administration announced more than $90 billion in AI and energy investments in Pennsylvania, “including Google’s $25 billion investment in data centers and infrastructure, Blackstone’s $25 billion investment in data centers and natural gas plants, and CoreWeave’s $6 billion investment in data center expansion.”

Last week, Trump delivered the keynote address at a half-day summit in Washington D.C., hosted by the All‑In Podcast and the Hill & Valley Forum, called “Winning the AI Race.” The event also featured other administration officials and leaders in the AI tech world.

The Trump administration’s proactive posture toward AI and associated data centers should be welcomed by all Americans. Likewise, people across the political spectrum should be clear-eyed about the emergent demands on our nation’s electric grid and the fact that “renewables” such as wind and solar are simply not up to the task. No political propaganda or spin will change that immutable scientific reality.

Natural gas is the future, and the future is now. If you’re not sure about that, just Google it – which is possible thanks to an electric grid powered mostly by reliable, affordable and available natural gas.

Critical juncture theory

From Wikipedia, the free encyclopedia

Critical juncture theory focuses on critical junctures, i.e., large, rapid, discontinuous changes, and the long-term causal effect or historical legacy of these changes. Critical junctures are turning points that alter the course of evolution of some entity (e.g., a species, a society). Critical juncture theory seeks to explain both (1) the historical origin and maintenance of social order, and (2) the occurrence of social change through sudden, big leaps.

Critical juncture theory is not a general theory of social order and change. It emphasizes one kind of cause (involving a big, discontinuous change) and kind of effect (a persistent effect). Yet, it challenges some common assumptions in many approaches and theories in the social sciences. The idea that some changes are discontinuous sets it up as an alternative to (1) "continuist" or "synechist" theories that assume that change is always gradual or that natura non facit saltus – Latin for "nature does not make jumps." The idea that such discontinuous changes have a long-term impact stands in counterposition to (2) "presentist" explanations that only consider the possible causal effect of temporally proximate factors.

Theorizing about critical junctures began in the social sciences in the 1960s. Since then, it has been central to a body of research in the social sciences that is historically informed. Research on critical junctures in the social sciences is part of the broader tradition of comparative historical analysis and historical institutionalism. It is a tradition that spans political science, sociology and economics. Within economics, it shares an interest in historically oriented research with the new economic history or cliometrics. Research on critical junctures is also part of the broader "historical turn" in the social sciences.

Origins in the 1960s and early 1970s

The idea of episodes of discontinuous change, followed by periods of relative stability, was introduced in various fields of knowledge in the 1960s and early 1970s.

Kuhn's paradigm shifts

Philosopher of science Thomas Kuhn's landmark work The Structure of Scientific Revolutions (1962) introduced and popularized the idea of discontinuous change and the long-term effects of discontinuous change. Kuhn argued that progress in knowledge occurs at times through sudden jumps, which he called paradigm shifts. After paradigm shifts, scholars do normal science within paradigms, which endure until a new revolution came about.

Kuhn challenged the conventional view in the philosophy of science at the time that knowledge growth could be understood entirely as a process of gradual, cumulative growth. Stephen Jay Gould writes that "Thomas Kuhn’s theory of scientific revolutions" was "the most overt and influential" scholarly work to make a "general critique of gradualism" in the twentieth century.

Gellner's neo-episodic model of change

Anthropologist Ernest Gellner proposed a neo-episodic model of change in 1964 that highlights the "step-like nature of history" and the "remarkable discontinuity" between different historical periods. Gellner contrasts the neo-episodic model of change to an evolutionary model that portrays "the pattern of Western history" as a process of "continuous and sustained and mainly endogenous upward growth."

Sociologist Michael Mann adapted Gellner's idea of "'episodes' of major structural transformation" and called such episodes "power jumps."

Lipset and Rokkan's critical junctures

Sociologist Seymour Lipset and political scientist Stein Rokkan introduced the idea of critical junctures and their long-term impact in the social sciences in 1967. The ideas presented in the coauthored 1967 work were elaborated by Rokkan in Citizens, Elections, and Parties (1970).

Gellner had introduced a similar idea in the social sciences. However, Lipset and Rokkan offered a more elaborate model and an extensive application of their model to Europe (see below). Although Gellner influenced some sociologists, the impact of Lipset and Rokkan on the social sciences was greater.

Gould's model of sudden, punctuated change (bottom image) contrasts with the view that change is always gradual (top image).

Gould's punctuated equilibrium model

Kuhn's ideas influenced paleontologist Stephen Jay Gould, who introduced the idea of punctuated equilibrium in the field of evolutionary biology in 1972. Gould's initial work on punctuated equilibrium was coauthored with Niles Eldredge.

Gould's model of punctuated equilibrium drew attention to episodic bursts of evolutionary change followed by periods of morphological stability. He challenged the conventional model of gradual, continuous change - called phyletic gradualism.

The critical juncture theoretical framework in the social sciences

Since its launching in 1967, research on critical junctures has focused in part on developing a theoretical framework, which has evolved over time.

In studies of society, some scholars use the term "punctuated equilibrium" model, and others the term "neo-episodic" model. Studies of knowledge continue to use the term "paradigm shift". However, these terms can be treated as synonyms for critical juncture.

Developments in the late 1960s–early 1970s

Key ideas in critical junctures research were initially introduced in the 1960s and early 1970s by Seymour Lipset, Stein Rokkan, and Arthur Stinchcombe.

Critical junctures and legacies

Seymour Lipset and Stein Rokkan (1967) and Rokkan (1970) introduced the idea that big discontinuous changes, such as the reformation, the building of nations, and the Industrial Revolution, reflected conflicts organized around social cleavages, such as the center-periphery, state-church, land-industry, and owner-worker cleavages. In turn, these big discontinuous changes could be seen as critical junctures because they generated social outcomes that subsequently remained "frozen" for extensive periods of time.

In more general terms, Lipset and Rokkan's model has three components:

  •  (1) Cleavage. Strong and enduring conflicts that polarize a political system. Four such cleavages were identified:
    • The center–periphery cleavage, a conflict between a central nation-building culture and ethnically linguistically distinct subject populations in the peripheries.
    • The state–church cleavage, a conflict between the aspirations of a nation-state and the church.
    • The land–industry cleavage, a conflict between landed interests and commercial/industrial entrepreneurs.
    • The worker–employer cleavage, a conflict between owners and workers.
  •  (2) Critical juncture. Radical changes regarding these cleavages happen at certain moments.
  •  (3) Legacy. Once these changes occur, their effect endures for some time afterwards.

Rokkan (1970) added two points to these ideas. Critical junctures could set countries on divergent or convergent paths. Critical junctures could be "sequential," such that a new critical junctures does not totally erase the legacies of a previous critical juncture but rather modifies that previous legacy.

The reproduction of legacies through self-replicating causal loops

Arthur Stinchcombe (1968) filled a key gap in Lipset and Rokkan's model. Lipset and Rokkan argued that critical junctures produced legacies, but did not explain how the effect of a critical juncture could endure over a long period.

Stinchcombe elaborated the idea of historical causes (such as critical junctures) as a distinct kind of cause that generates a "self-replicating causal loop." Stinchcombe explained that the distinctive feature of such a loop is that "an effect created by causes at some previous period becomes a cause of that same effect in succeeding periods." This loop was represented graphically by Stinchcombe as follows:

   X t1 ––> Y t2 ––> D t3 ––> Y t4 ––> D t5 ––> Y t6

Stinchcombe argued that the cause (X) that explains the initial adoption of some social feature (Y) was not the same one that explains the persistence of this feature. Persistence is explained by the repeated effect of Y on D and of D on Y.

Developments in the early 1980s–early 1990s

Additional contributions were made in the 1980s and early 1990s by various political scientists and economists.

Douglass North, coauthor of Institutions, Institutional Change and Economic Performance

Punctuated equilibrium, path dependence, and institutions

Paul A. David and W. Brian Arthur, two economists, introduced and elaborated the concept of path dependence, the idea that past events and decisions affect present options and that some outcomes can persist due to the operation of a self-reinforcing feedback loop. This idea of a self-reinforcing feedback loop resembles that of a self-replicating causal loop introduced earlier by Stinchcombe. However, it resonated with economists and led to a growing recognition in economics that "history matters."

The work by Stephen Krasner in political science incorporated the idea of punctuated equilibrium into the social sciences. Krasner also drew on the work by Arthur and connected the idea of path dependence to the study of political institutions.

Douglass North, an economist and Nobel laureate, applied the idea of path dependence to institutions, which he defined as "the rules of the game in a society," and drew attention to the persistence of institutions.

A synthesis

Political scientists Ruth Berins Collier and David Collier, in Shaping the Political Arena (1991), provided a synthesis of many ideas introduced from the 1960s to 1990, in the form of the following "five-step template":

   Antecedent Conditions ––> Cleavage or Shock ––> Critical Juncture 
    ––> Aftermath ––> Legacy

These key concepts have been defined as follows:

  • (1) "Antecedent conditions are diverse socioeconomic and political conditions prior to the onset of the critical juncture that constitute the baseline for subsequent change."
  • (2) "Cleavages, shocks, or crises are triggers of critical junctures."
  • (3) "Critical junctures are major episodes of institutional change or innovation."
  • (4) "The aftermath is the period during which the legacy takes shape."
  • (5) "The legacy is an enduring, self-reinforcing institutional inheritance of the critical juncture that stays in place and is stable for a considerable period."

Debates in the 2000s–2010s

Following a period of consolidation of critical junctures framework, few new developments occurred in the 1990s. However, since around 2000, several new ideas were proposed and many aspects of the critical junctures framework are the subject of debate.

Critical junctures and incremental change

An important new issue in the study of change is the relative role of critical junctures and incremental change. On the one hand, the two kinds of change are sometimes starkly counterposed. Kathleen Thelen emphasizes more gradual, cumulative patterns of institutional evolution and holds that "the conceptual apparatus of path dependence may not always offer a realistic image of development."[38] On the other hand, path dependence, as conceptualized by Paul David is not deterministic and leaves room for policy shifts and institutional innovation.

Critical junctures and contingency

Einar Berntzen notes another debate: "Some scholars emphasize the historical contingency of the choices made by political actors during the critical juncture." For example, Michael Bernhard writes that critical junctures "are periods in which the constraints of structure have weakened and political actors have enhanced autonomy to restructure, overturn, and replace critical systems or sub-systems."

However, Berntzen holds that "other scholars have criticized the focus on agency and contingency as key causal factors of institutional path selection during critical junctures" and "argue that a focus on antecedent conditions of critical junctures is analytically more useful." For example, Dan Slater and Erica Simmons place a heavy emphasis on antecedent conditions.

Legacies and path dependence

The use of the concept of path dependence in the study of critical junctures has been a source of some debate. On the one hand, James Mahoney argues that "path dependence characterizes specifically those historical sequences in which contingent events set into motion institutional patterns or event chains that have deterministic properties" and that there are two types of path dependence: "self-reinforcing sequences" and "reactive sequences." On the other hand, Kathleen Thelen and other criticize the idea of path dependence determinism, and Jörg Sydow, Georg Schreyögg, and Jochen Koch question the idea of reactive sequences as a kind of path dependence.

Institutional and behavioral path dependence

The study of critical junctures has commonly been seen as involving a change in institutions. However, many works extend the scope of research of critical junctures by focusing on changes in culture. Avidit Acharya, Matthew Blackwell, and Maya Sen state that the persistence of a legacy can be "reinforced both by formal institutions, such as Jim Crow laws (a process known as institutional path dependence), and also by informal institutions, such as family socialization and community norms (a process we call behavioral path dependence)."

Substantive applications in the social sciences

Topics and processes

A critical juncture approach has been used in the study of many fields of research: state formation, political regimes, regime change and democracy, party system, public policy, government performance, and economic development.

In addition, many processes and events have been identified as critical junctures.

The domestication of animals is commonly treated as a turning point in world history. The image depicts an Egyptian hieroglyphic painting showing an early instance of a domesticated animal.

Pre-1760 power jumps

Michael Mann, in The Sources of Social Power (1986), relies on Gellner's neo-episodic model of change and identifies a series of "power jumps" in world history prior to 1760 - the idea of power jumps is similar to that of a critical juncture. Some of the examples of power jumps identified by Mann are:

The end of the Cold War in 1989 is one among many turning points studied as a critical juncture.

Modern era critical junctures

Some of the processes in the modern era that are commonly seen as critical junctures in the social sciences are:

Considerable discussion has focused on the possibility that the COVID-19 pandemic will be a critical juncture.

Examples of research

Barrington Moore Jr.'s Social Origins of Dictatorship and Democracy: Lord and Peasant in the Making of the Modern World (1966) argues that revolutions (the critical junctures) occurred in different ways (bourgeois revolutions, revolutions from above, and revolutions from below) and this difference led to contrasting political regimes in the long term (the legacy)—democracy, fascism, and communism, respectively. In contrast to the unilinear view of evolution common in the 1960s, Moore showed that countries followed multiple paths to modernity.

Collier and Collier's Shaping the Political Arena: Critical Junctures, the Labor Movement, and the Regime Dynamics in Latin America (1991) compares "eight Latin American countries to argue that labor-incorporation periods were critical junctures that set the countries on distinct paths of development that had major consequences for the crystallization of certain parties and party systems in the electoral arena. The way in which state actors incorporated labor movements was conditioned by the political strength of the oligarchy, the antecedent condition in their analysis. Different policies towards labor led to four specific types of labor incorporation: state incorporation (Brazil and Chile), radical populism (Mexico and Venezuela), labor populism (Peru and Argentina), and electoral mobilization by a traditional party (Uruguay and Colombia). These different patterns triggered contrasting reactions and counter reactions in the aftermath of labor incorporation. Eventually, through a complex set of intermediate steps, relatively enduring party system regimes were established in all eight countries: multiparty polarizing systems (Brazil and Chile), integrative party systems (Mexico and Venezuela), stalemated party systems (Peru and Argentina), and systems marked by electoral stability and social conflict (Uruguay and Colombia)."

John Ikenberry's After Victory: Institutions, Strategic Restraint, and the Rebuilding of Order After Major Wars (2001) compares post-war settlements after major wars – following the Napoleonic Wars in 1815, the world wars in 1919 and 1945, and the end of the Cold War in 1989. It argues that "international order has come and gone, risen and fallen across historical eras" and that the "great moments of order building come after major wars – 1648, 1713, 1815, 1919, 1945, and 1989." In essence, peace conferences and settlement agreements put in place "institutions and arrangements for postwar order." Ikenberry also shows that "the actual character of international order has varied across eras and order building moments" and that "variations have been manifest along multiple dimensions: geographic scope, organizational logic, rules and institutions, hierarchy and leadership, and the manner in and degree to which coercion and consent undergird the resulting order."

Seymour Martin Lipset, in The Democratic Century (2004), addresses the question why North America developed stable democracies and Latin America did not. He holds that the reason is that the initial patterns of colonization, the subsequent process of economic incorporation of the new colonies, and the wars of independence varies. The divergent histories of Britain and Iberia are seen as creating different cultural legacies that affected the prospects of democracy.

Daron Acemoglu and James A. Robinson’s Why Nations Fail: The Origins of Power, Prosperity, and Poverty (2012) draws on the idea of critical junctures. A key thesis of this book is that, at critical junctures (such as the Glorious Revolution in 1688 in England), countries start to evolve along different paths. Countries that adopt inclusive political and economic institutions become prosperous democracies. Countries that adopt extractive political and economic institutions fail to develop political and economically.

Debates in research

Critical juncture research typically contrasts an argument about the historical origins of some outcome to an explanation based in temporally proximate factors. However, researchers have engaged in debates about what historical event should be considered a critical juncture.

The rise of the West

A key debate in research on critical junctures concerns the turning point that led to the rise of the West.

  • Jared Diamond, in Guns, Germs and Steel (1997) argues that the development reaching back to around 11,000 BCE explain why key breakthroughs were made in the West rather than in some other region of the world.
  • Michael Mitterauer, in Why Europe? The Medieval Origins of its Special Path (2010) traces the rise of the West to developments in the Middle Ages.
  •  Daron Acemoglu and James A. Robinson, in Why Nations Fail: The Origins of Power, Prosperity, and Poverty (2012) and The Narrow Corridor. States, Societies, and the Fate of Liberty (2019) argue that a critical juncture during the early modern age is what set the West on its distinctive path.

Historical sources of economic development (with a focus on Latin America)

Another key debate concerns the historical roots of economic development, a debate that has address Latin America in particular.

  • Jerry F. Hough and Robin Grier (2015) claim that "key events in England and Spain in the 1260s explain why Mexico lagged behind the United States economically in the 20th century."
  • Works by Daron Acemoglu, Simon H. Johnson, and James A. Robinson (2001); James Mahoney (2010); and Stanley Engerman and Kenneth Sokoloff (2012) focus on colonialism as the key turning point explaining long-term economic trajectories.
  • Sebastián Mazzuca attributes Latin America's poor economic performance in the twentieth century to the distinctive state weakness resulting from the process of state formation in the nineteenth century, and the way in which national territories were formed, combining dynamic areas and backward peripheries. This claim complements and refines the usual ideas that attribute all forms of economic and social backwardness in Latin America to colonial institutions.
  • Rudiger Dornbusch and Sebastián Edwards (1991) see the emergence of mass politics in the mid-20th century as the key turning point that explains the economic performance of Latin America.

Historical origins of the Asian developmental state

Research on Asia includes a debate about the historical roots of developmental states.

  • Atul Kohli (2004) argues that developmental states originate in the colonial period.
  • Tuong Vu (2010) maintains that developmental states originate in the post-colonial period.

Reception and impact

Research on critical junctures is generally seen as an important contribution to the social sciences.

Within political science, Berntzen argues that research on critical junctures "has played an important role in comparative historical and other macro-comparative scholarship." Some of the most notable works in the field of comparative politics since the 1960s rely on the concept of a critical juncture.

Barrington Moore Jr.'s Social Origins of Dictatorship and Democracy: Lord and Peasant in the Making of the Modern World (1966) is broadly recognized as a foundational study in the study of democratization.

Ruth Berins Collier and David Collier's Shaping the Political Arena: Critical Junctures, the Labor Movement, and the Regime Dynamics in Latin America (1991) has been characterized by Giovanni Capoccia and R. Daniel Kelemen as a "landmark work" and by Kathleen Thelen as a "landmark study ... of regime transformation in Latin America."

Robert D. Putnam's Making Democracy Work: Civic Traditions in Modern Italy (1993) provides an analysis of the historical origins of social capital in Italy that is widely credited with launching a strand of research on social capital and its consequences in various fields within political science.

Johannes Gerschewski describes John Ikenberry After Victory (2001) as a "masterful analysis."

Frank Baumgartner and Bryan D. Jones's Agendas and Instability in American Politics (2009) is credited with having "a massive impact in the study of public policy."

Within economics, the historically informed work of Douglass North, and Daron Acemoglu and James A. Robinson, is seen as partly responsible for the disciple's renewed interest in political institutions and the historical origins of institutions and hence for the revival of the tradition of institutional economics.

Israeli–Palestinian conflict

From Wikipedia, the free encyclopedia https://en.wikipedia.org/wiki/Israeli%E2%80%93Palestinian_conflict   ...