140 dépôts
Systems for calculating execution order based on task dependencies and relationships.
Distinguishing note: Focuses on graph-based scheduling rather than general task management.
Explore 140 awesome GitHub repositories matching software engineering & architecture · Task Scheduling. Refine with filters or upvote what's useful.
Fuel Core is a Rust-based implementation of a distributed ledger and a full node for the Fuel v2 protocol. It functions as a layer 2 blockchain client designed to execute binary encoded transactions and synchronize shared state across a decentralized network. The system utilizes a deterministic state machine to ensure all nodes reach the same ledger state and employs a binary-encoded message protocol for network communication. It provides the ability to operate full network nodes or bootstrap private local instances for development and testing. The project covers a broad set of capabilities
Implements a non-blocking task scheduler to handle concurrent blockchain transactions and network requests.
RxJava is a reactive stream processing framework and JVM reactive extensions library. It serves as an asynchronous dataflow orchestrator used to compose event-based programs by transforming, combining, and consuming real-time data flows on the Java Virtual Machine. The project distinguishes itself through integrated backpressure flow control, which manages the emission rate between producers and consumers to prevent memory exhaustion. It further provides mechanisms for concurrent thread management and parallel data processing to offload blocking operations and maintain application responsiven
Offers scheduler-based thread executors to route tasks to specific concurrency managers and decouple processing logic from execution threads.
Airflow is a workflow orchestration platform for authoring, scheduling, and monitoring complex data pipelines as code using Python. It employs a DAG-based task scheduler to manage execution timing and dependencies via directed acyclic graphs, utilizing a distributed task execution engine to run workloads across a cluster of worker nodes. The platform provides a data pipeline monitor for tracking the health and execution history of programmatic workflows. This includes a web interface for workflow progress visualization and health monitoring to identify and troubleshoot pipeline failures. The
Implements a scheduler that calculates task execution order based on Directed Acyclic Graph dependencies.
Lerna is a monorepo management tool, build orchestrator, and package publisher for JavaScript and TypeScript projects. It enables the management of multiple packages within a single shared repository, providing utilities for workspace organization and the coordinated publishing of packages to a registry. The tool distinguishes itself through dependency-aware task orchestration and automated version management. It uses topological sorting to sequence tasks and utilizes content-hash caching to skip redundant executions when input files remain unchanged. Versioning is automated by parsing standa
Runs independent scripts across multiple packages simultaneously while respecting dependency constraints.
This project is a build orchestration engine and development toolkit designed for managing large-scale monorepos. It provides a unified workspace environment that maps project relationships and dependencies, enabling the system to perform intelligent impact analysis and execute only the tasks affected by specific code changes. The system distinguishes itself through a persistent daemon that monitors file changes for near-instant feedback and a content-addressable caching mechanism that stores task outputs to prevent redundant computation across local and remote environments. It further suppor
Executes multiple tasks across projects in parallel while respecting dependency constraints to maximize build performance.
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Calculates execution order and manages timing for timeouts, retries, and deferred tasks.
This project is an autonomous, multi-model orchestrator designed to manage the full software development lifecycle through a command-line interface. It functions as an intelligent agent that decomposes high-level product goals into actionable, prioritized subtasks, manages dependency graphs, and executes development cycles. By automating requirement parsing, technical research, and task tracking, it maintains project alignment and momentum throughout the implementation process. The system distinguishes itself through a provider-agnostic abstraction layer that allows users to assign specific a
Calculates execution order by analyzing task relationships and status updates to ensure logical progression.
Apache MXNet is a deep learning framework and distributed machine learning library designed for training and deploying neural networks across distributed systems, mobile devices, and hardware accelerators. It functions as a cross-platform runtime and a dynamic dataflow scheduler that optimizes neural network execution. The framework provides a multi-language API, enabling the development of machine learning models using Python, R, Julia, Scala, Go, and JavaScript. It supports high-performance model training and the scaling of workloads across multiple GPUs and machines. The system covers cap
Utilizes a mutation-aware dependency scheduler to calculate the optimal execution order of tasks in a dataflow graph.
This project is a deep learning framework designed for constructing, training, and deploying neural networks across diverse hardware environments. It functions as a high-performance tensor computation library that provides both imperative and symbolic programming interfaces, allowing developers to balance flexible, step-by-step model building with the efficiency of compiled computation graphs. The framework distinguishes itself through a hybrid execution engine that integrates declarative graph compilation with imperative runtime logic. It supports scalable, distributed training across multip
Tracks operation dependencies to execute non-conflicting tasks in parallel across hardware devices.
RxAndroid is a reactive programming library and binding layer that integrates RxJava with the Android runtime environment. It provides a framework for composing asynchronous data streams and managing event-driven workflows specifically tailored for Android's threading requirements. The library functions as an Android thread scheduler, routing reactive operations to the main UI thread or specific Android loopers. This ensures that asynchronous task outcomes are dispatched to the primary interface thread for safe updates of visual components while preventing background processing from blocking
Provides a set of schedulers that route reactive operations to the main UI thread or specific loopers.
RPCS3 is a C++ application that functions as a software environment for executing and managing PlayStation 3 console titles on desktop operating systems. It operates by translating proprietary console hardware instructions and graphics commands into formats compatible with modern computer hardware, allowing for the execution of original game software. The emulator distinguishes itself through a comprehensive suite of tools for managing game libraries, applying software patches to modify performance characteristics, and tracking the compatibility status of individual titles. It includes integr
Coordinates the execution of multiple console processor cores by mapping them to host threads to maintain accurate timing and synchronization.
This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through
Implements a cooperative multitasking scheduler using asynchronous patterns to share CPU resources.
DataX is a distributed data integration framework and plugin-based ETL tool designed for synchronizing large datasets between heterogeneous sources and destinations. It functions as a JDBC data migration engine and offline synchronization tool, enabling the movement of data between relational databases, NoSQL stores, and object storage. The system utilizes a plugin-based connector architecture that decouples reader and writer logic, allowing it to map and transform data types across different storage engines using a standardized internal representation. This design supports heterogeneous data
Splits large datasets into concurrent tasks based on primary keys to increase synchronization speed.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Manages data transfer and program flow between the CPU and GPU to offload parallel workloads.
Android-Universal-Image-Loader is an image loading library for Android applications designed to download, cache, and display images. It functions as a bitmap cache manager and processing framework that handles the retrieval of assets from remote URLs or local files. The library includes specialized utilities for extracting static frames from video files to generate thumbnails. It also provides a framework for applying visual transformations to loaded images, such as circular crops and rounded corners. The system manages performance through a two-tier caching hierarchy using both memory and d
Prevents UI blocking by executing image loading tasks using configurable synchronous or asynchronous thread executors.
This project is a collection of educational resources and reference implementations for the Apache Flink stream processing framework. It provides a learning resource focused on mastering distributed stream processing through implementation guides, performance tuning tutorials, and practical examples. The repository features detailed walkthroughs for building real-time data pipelines using the DataStream and Table APIs. It includes specific integration examples for connecting Apache Flink with Kafka brokers and Elasticsearch indices, as well as reference implementations for real-time deduplica
Controls parallelism by dividing task manager memory into fixed resource slots to isolate subtasks on a node.
Cargo is the official build system and package manager for the Rust programming language. It provides a unified command-line interface that orchestrates the entire development lifecycle, including compiling source code, managing complex dependency graphs, running tests, and distributing packages through a centralized registry. By utilizing declarative manifest files, it ensures that builds remain reproducible and consistent across different environments. The tool distinguishes itself through its deep integration with the Rust compiler and its sophisticated approach to project management. It f
Uses a jobserver protocol to manage concurrency across processes and respect system resource limits.
Workflow is an asynchronous C++ task engine designed for building distributed systems and high-performance network services. It provides a framework for orchestrating complex sequences of network, file, and computational operations, allowing developers to compose these tasks into parallel workflows. The library functions as a toolkit for implementing scalable servers and clients for protocols such as HTTP, Redis, MySQL, and Kafka. It distinguishes itself through a task-based concurrency model that manages non-blocking operations and coordinates service discovery, load balancing, and traffic r
Manages non-blocking operations by mapping network and computational tasks to a fixed-size thread pool for high concurrency.
PromiseKit is a future-based concurrency framework and promise library for Swift and Objective-C. It functions as an asynchronous workflow coordinator, representing the eventual result of an operation to simplify concurrency logic and replace nested callback structures. The framework enables the coordination of both sequential and parallel asynchronous tasks. It provides a structured pipeline for chaining operations, allowing the results of one task to be passed into the next and facilitating the execution of multiple operations simultaneously. The library includes a state-machine based reso
Spawns multiple concurrent operations within a shared scope and merges their results upon completion.
This is a scheduling library for executing recurring tasks in Go applications using cron-style timing expressions. It provides a programmatic interface to trigger functions at specific intervals based on standard calendar patterns. The system manages periodic job execution by converting timing strings into rules that determine execution times. It uses a job interface to wrap custom logic, allowing for the automation of repetitive background tasks and data synchronization within a Go runtime.
Implements a goroutine-based execution model to ensure that individual tasks do not block the main scheduler.