Pulse is a research prototype scheduler for multi-objective scheduling of service-based applications across multi-cluster Cloud–Edge–IoT infrastructures. It is based on the paper:
Pulse: Multi-objective Scheduling for Service-Based Applications in Multi-Cluster Cloud-Edge-IoT Infrastructures
(see citation below)
The scheduler models scheduling as two interconnected optimization problems:
- Local assignment problem—assigning services to resources within a cluster.
- Global composition problem—composing assignments across multiple clusters.
To explore trade-offs between objectives, Pulse leverages selectors to choose solutions from Pareto fronts.
For multi-objective optimization, Pulse integrates with the MOEA Framework, a Java library for evolutionary multi-objective optimization.
Pulse is implemented as a Java-based Gradle project. It can be used directly as a library within other Java projects. To build and install the library locally:
./gradlew clean build
./gradlew publishToMavenLocalAfter publishing, you can include Pulse in your own Java project via your build.gradle:
dependencies {
implementation 'org.pulse:scheduler:0.1.0'
}The paper describes a Kubernetes-based implementation of Pulse, realized through a custom orchestration system for Kubernetes. This repository does not contain that implementation. Instead, Pulse here is provided as an orchestration-system-independent description of the multi-cluster scheduling architecture and its optimization components.
For questions related to the Kubernetes-based implementation, please contact the authors of the paper.
This project is licensed under the GPLv3—see the LICENSE file for details.
If you use Pulse in your research, please cite:
Marlon Etheredge, Juan Aznar Poveda, Stefan Pedratscher, Abolfazl Younesi, Thomas Fahringer,
Pulse: Multi-objective scheduling of service-based applications in multi-cluster cloud–edge–IoT infrastructures,
Journal of Network and Computer Applications,
Volume 248,
2026,
104439,
ISSN 1084-8045,
https://doi.org/10.1016/j.jnca.2026.104439.
(https://www.sciencedirect.com/science/article/pii/S1084804526000147)
Abstract: The rapid growth of cloud computing and the expansion of edge and IoT technologies are becoming essential for meeting the performance, scalability, and latency requirements of modern distributed service-based applications. While these applications facilitate the accommodation of real-world workloads, their placement across a computing continuum spanning the cloud, edge, and IoT remains challenging. Existing service scheduling works often rely on simulations or orchestration systems limited to a single cluster. While simulations fail to capture real-world constraints, single-cluster orchestration systems introduce significant overhead and cannot capture the heterogeneity, network latency, and cross-cluster dependencies across cloud, edge, and IoT layers. In this paper, we introduce Pulse, a fully distributed scheduling system designed to optimize the deployment of distributed service-based applications across multi-cluster environments. Pulse leverages a two-phase distributed multi-objective optimization approach: locally optimizing for monetary cost and fairness within clusters, and globally optimizing for monetary cost and latency across multiple clusters. Pulse is built atop a lightweight orchestration framework, which enables service coordination across cloud, edge, and IoT layers, ensuring adaptability to heterogeneous infrastructures and the latency among geo-distributed clusters. To validate our approach, we conduct a comprehensive real-world evaluation on the Grid’5000 infrastructure, demonstrating that Pulse outperforms state-of-the-art scheduling methods by improving total resource utilization by 34.5%, reducing monetary cost by 82.6%, and lowering the average end-to-end network latency among services by 75.0%. These results highlight Pulse’s effectiveness in managing large-scale, service-based applications in realistic, multi-cluster environments.
Keywords: Computing continuum; Distributed scheduling; Multi-cluster environments; Multi-objective scheduling; Service-based applications; Orchestration; Multi-objective evolutionary optimization