awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
puniverse avatar

puniverse/quasar

0
View on GitHub↗
4,553 stars·564 forks·Java·32 viewsdocs.paralleluniverse.co/quasar↗

Quasar

Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state.

The project distinguishes itself through a distributed actor system capable of operating across multiple cluster nodes with location-transparent registries and actor state migration. It utilizes a work-stealing fiber scheduler to manage millions of lightweight threads, allowing tasks to suspend during non-blocking I/O operations without stalling underlying system threads.

The framework encompasses a broad set of capabilities, including supervisory hierarchies for fault-tolerant recovery and CSP-style communication channels for dataflow synchronization. It also provides primitives for coordinate tasks via futures and dataflow variables, as well as tools for monitoring fiber health and detecting runaway execution.

The system is implemented in Java.

Features

  • Actor Models - Implements a complete actor model for managing isolated execution units through asynchronous message passing.
  • Actor Models - Implements the actor model to provide isolated execution units that communicate via asynchronous message passing.
  • Fiber-Based Concurrent Execution - Runs millions of lightweight, non-blocking fibers to achieve high concurrency with minimal resource overhead.
  • Non-blocking I/O - Provides non-blocking I/O primitives that suspend lightweight fibers instead of blocking underlying system threads.
  • Distributed Actor Frameworks - Provides a distributed actor system capable of operating across multiple cluster nodes with location transparency.
  • Supervision Tree Management - Structures actors into hierarchical trees to define restart strategies and lifecycle dependencies for recovery.
  • Behavior Implementations - Provides a framework for encapsulating state and logic within independent actors that communicate via asynchronous messaging.
  • Request-Response Actor Patterns - Provides actors capable of processing synchronous calls with return values and asynchronous casts.
  • Selective Message Filtering - Allows selecting specific messages from an actor's queue based on class, sender, or unique identifiers.
  • Predicate-Based Message Selection - Retrieves specific messages from a mailbox based on predicates to simplify state machine logic.
  • Asynchronous Communication Channels - Implements asynchronous communication channels for messaging between isolated execution environments.
  • Actor Message Handlings - Provides mechanisms to intercept and process every message sent to a specific actor via custom handlers.
  • Type-Based Message Selection - Retrieves specific messages from a mailbox based on type, ignoring others until a match is found.
  • Non-Blocking Suspension Points - Pauses the current fiber during I/O operations and resumes it only when data readiness is notified.
  • Green Threads - Utilizes green-thread style fibers to minimize memory overhead compared to standard OS threads.
  • JVM Concurrency Frameworks - Offers a comprehensive toolkit for JVM concurrency using fibers, channels, and the actor model.
  • Work-Stealing Schedulers - Utilizes a work-stealing scheduler to distribute lightweight fibers across worker threads for optimal CPU utilization.
  • Fiber-Based Schedulers - Manages lightweight thread execution via a cooperative scheduler using a configurable pool of worker threads.
  • Actor Name Registries - Retrieves registered actors using unique names via a location-transparent registry.
  • Actor Name Registrations - Assigns public names to actors to make them discoverable via local or cluster-wide registries.
  • Non-blocking IO Implementations - Implements non-blocking network and file I/O that suspends fibers instead of blocking system threads.
  • Actor-Based Concurrency - Utilizes isolated, message-passing actors to manage state and concurrent execution.
  • Suspendable Execution - Allows tasks to suspend during non-blocking I/O operations without stalling underlying system threads.
  • Fiber Spawning - Spawns memory-efficient fibers within a worker pool to minimize system overhead during task creation.
  • Worker Pool Schedulers - Implements a work-stealing scheduler to distribute lightweight fiber tasks across a pool of worker threads.
  • CSP Communication Channels - Provides a set of CSP-style primitives for synchronizing data flow between concurrent tasks.
  • Fault Tolerance - Employs isolated execution units and message passing to ensure resilience and fault tolerance in distributed applications.
  • Hierarchy Supervision - Implements supervisory hierarchies that detect child actor failures and execute automated restart strategies.
  • Recovery Strategies - Defines supervisor reactions to child failures through strategies like restarting specific actors or escalating errors.
  • Request-Reply Patterns - Implements synchronous-style communication between actors by suspending execution until a response is received.
  • Request-Response Pattern Support - Facilitates synchronous communication where a requester blocks until an actor processes a message and replies.
  • State Migration - Enables the relocation of actor identities and internal states between cluster nodes to optimize availability and load balancing.
  • Type-Based Message Routing - Implements type-based filtering to retrieve messages of a specific class from an actor's mailbox.
  • Linking and Watching - Monitors actor lifecycles to trigger exceptions or notifications when a linked actor terminates.
  • Actor-Based Message Routing - Attaches sender references and identifiers to messages to enable precise routing of replies.
  • Mailbox Capacity Management - Enables setting maximum message capacities for actor queues and defining overflow strategies.
  • Channel Message Transmission - Transmits data to a consumer with options to block, timeout, or attempt a non-blocking send.
  • Message Consumption - Supports retrieving messages from communication ports using blocking or non-blocking polling.
  • Cluster Message Dispatchers - Dispatches asynchronous messages between actors across a cluster without blocking the sender.
  • Pattern Templates - Provides standardized templates for actor lifecycles and message handling to encapsulate complex concurrency patterns.
  • Location Transparency - Provides a location-transparent registry that maps actor names to units across local or remote cluster nodes.
  • Hierarchy Management - Controls child actor lifecycles through creation, retrieval, and removal within a supervisory relationship.
  • Actor Exit Signal Trapping - Converts actor termination signals into manageable messages to prevent cascading failures during the lifecycle process.
  • Graceful Actor Terminations - Provides mechanisms to trigger an actor's own termination process through a specialized shutdown signal.
  • Death Notifications - Sends lifecycle messages and exception causes to linked actors or watchers when an actor terminates.
  • Lifecycle Monitoring - Provides automatic notifications to watchers or linked entities when an actor experiences a termination event.
  • Lifecycle Controllers - Provides a unified control interface to manage the state and lifecycle of lightweight fibers and standard threads.
  • Hot Code Swapping - Allows updating actor behaviors at runtime without requiring a full system restart.
  • Supervision Configurations - Defines restart limits, failure time windows, and shutdown deadlines to manage the recovery of child actors.
  • Channel-Based Concurrency - Uses CSP-style communication channels to synchronize data exchange and propagate changes between concurrent tasks.
  • Node Clustering - Connects actor instances across multiple machines into a cluster to share workload and state.
  • Fiber State Serializers - Allows pausing and converting fiber execution state into byte streams for node migration or persistence.
  • Dataflow Graph Management - Manages values updated by concurrent strands that automatically propagate changes through a dataflow dependency graph.
  • Dataflow Variable Coordination - Implements dataflow variables that block readers until a value is set and automatically trigger re-computation of dependent variables.
  • Supervisory Hierarchies - Implements supervisory hierarchies for fault-tolerant recovery by defining automated restart strategies for failing child actors.
  • Finite State Machine Actors - Provides actors that manage a sequence of states where each state processes logic and determines the next state transition.
  • Message Passing Channels - Provides synchronized communication primitives for exchanging data between concurrent tasks.
  • Channel Data Transformation - Provides capabilities to modify or filter messages passing through channels to produce new data streams.
  • Multi-Channel Selection - Implements a select operation to execute the first available send or receive from multiple channels.
  • Actor State Machine Modeling - Builds actors that transition between different states using callable logic to determine the next state.
  • Actor State Migration - Moves running actors between cluster nodes while preserving their internal state to optimize load and availability.
  • Synchronous Event Dispatchers - Routes incoming events to handlers that execute synchronously on the actor's processing strand.
  • Synchronous Request-Response Loops - Allows sending a request to an actor and blocking the calling fiber until a response is received.
  • Future-Based Result Tracking - Tracks the eventual result of asynchronous operations and blocks the calling fiber until the value is available.
  • Common Frameworks - Provides fibers, channels, and actors for high-concurrency JVM applications.

Star history

Star history chart for puniverse/quasarStar history chart for puniverse/quasar

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Quasar

Similar open-source projects, ranked by how many features they share with Quasar.
  • actix/actixactix avatar

    actix/actix

    9,223View on GitHub↗

    Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage state through an asynchronous messaging system. It provides a model where independent actors serve as autonomous units of state and logic, communicating via strongly typed messages sent to unique addresses. The framework distinguishes itself by isolating state within these actors, allowing internal data to be mutated safely during message handling without the use of locks or mutexes. It employs an asynchronous mailbox system to buffer incoming requests and uses supervision strateg

    Rustactixactoractor-model
    View on GitHub↗9,223
  • ergo-services/ergoergo-services avatar

    ergo-services/ergo

    4,441View on GitHub↗

    Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi

    Goactor-modelactorsdistributed
    View on GitHub↗4,441
  • lunatic-solutions/lunaticlunatic-solutions avatar

    lunatic-solutions/lunatic

    4,867View on GitHub↗

    Lunatic is a WebAssembly runtime and concurrent process manager that implements an Erlang-inspired model of lightweight concurrency and fault tolerance. It functions as a distributed actor system where isolated processes communicate via message passing across a network of linked nodes. The system utilizes a WebAssembly sandbox environment to isolate memory and restrict system call permissions for each individual process. This capability-based security model ensures that processes are sandboxed to safely execute untrusted code. The platform provides a fault-tolerant supervision tree for hiera

    Rustactorsassemblyscripterlang
    View on GitHub↗4,867
  • asynkron/protoactor-goasynkron avatar

    asynkron/protoactor-go

    5,469View on GitHub↗

    protoactor-go is a framework for building concurrent and distributed systems in Go using the actor model. It provides a distributed actor system that enables isolated entities to communicate via asynchronous messaging and share state across a cluster. The framework implements a multi-language actor protocol, allowing interoperability between actors written in Go, C#, and Java. It further supports a virtual actor implementation, where actors are automatically instantiated across a network based on a unique identity. The system includes a supervision model for managing actor lifecycles and fau

    Goactor-modelactorsakka
    View on GitHub↗5,469
See all 30 alternatives to Quasar→

Frequently asked questions

What does puniverse/quasar do?

Quasar is a JVM concurrency framework that implements the actor model and a lightweight thread library. It provides isolated execution units that communicate via asynchronous message passing to eliminate shared mutable state.

What are the main features of puniverse/quasar?

The main features of puniverse/quasar are: Actor Models, Fiber-Based Concurrent Execution, Non-blocking I/O, Distributed Actor Frameworks, Supervision Tree Management, Behavior Implementations, Request-Response Actor Patterns, Selective Message Filtering.

What are some open-source alternatives to puniverse/quasar?

Open-source alternatives to puniverse/quasar include: actix/actix — Actix is a Rust actor framework and concurrent programming toolkit designed for building applications that manage… ergo-services/ergo — Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the… lunatic-solutions/lunatic — Lunatic is a WebAssembly runtime and concurrent process manager that implements an Erlang-inspired model of… akka/akka — Akka is an actor model framework and distributed systems platform used to build concurrent and distributed… asynkron/protoactor-go — protoactor-go is a framework for building concurrent and distributed systems in Go using the actor model. It provides… lonng/nano — Nano is a distributed application framework designed for building systems using an actor-based messaging model. It…