# Modelisation and estimation of HPC jobs life expectancy

Robin Chaussemy

► To cite this version:

Robin Chaussemy. Modelisation and estimation of HPC jobs life expectancy. Statistics [math.ST]. 2025. hal-05460569

HAL Id: hal-05460569

https://inria.hal.science/hal-05460569v1

Submitted on 15 Jan 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Modelisation and estimation of HPC jobs life expectancy

Write by:
M. Robin CHAUSSEMY

Supervised by:
Raphaël BLEUSE (UGA)
Franck CORSET (UGA)

Soutenance 29 August 2025

Jury :

Jean-François COEURJOLLY
Jonathan EL METHNI

Scholaire
2024/2025
Acknowledgements

I would like to thank my supervisors, Franck Corset and Raphaël Bleuse, for their support and guidance throughout my internship. In particular, the computer science part was very enriching, especially regarding resource management and performance optimization in the various programs I had to develop. I also appreciated the discussions about modeling and the estimation of the different components of HPC jobs. I would like to thank Mr. Eric Rutten for agreeing to become my PhD advisor to continue my research, which I hope will be fruitful. I also thank my colleagues at LJK for their camaraderie and support, as well as my partner for her unconditional support.
# Contents

<table><tr><td>1</td><td>Introduction</td><td>4</td></tr><tr><td>1.1</td><td>Host structure</td><td>4</td></tr><tr><td>1.2</td><td>Context</td><td>4</td></tr><tr><td>1.2.1</td><td>GRICAD</td><td>4</td></tr><tr><td>1.2.2</td><td>HPC structure usage</td><td>5</td></tr><tr><td>1.2.3</td><td>State of the art</td><td>5</td></tr><tr><td>1.3</td><td>Objective</td><td>6</td></tr><tr><td>2</td><td>System modelization</td><td>7</td></tr><tr><td>2.1</td><td>Available data</td><td>7</td></tr><tr><td>2.1.1</td><td>Structure of the consolidated database</td><td>7</td></tr><tr><td>2.2</td><td>Modeling on OAR jobs arrival</td><td>8</td></tr><tr><td>2.2.1</td><td>Likelihood formulation</td><td>9</td></tr><tr><td>2.2.2</td><td>Maximum Likelihood Estimation</td><td>10</td></tr><tr><td>2.2.3</td><td>A particular case: t<sub>n</sub> = t<sub>max</sub></td><td>11</td></tr><tr><td>3</td><td>Marked Poisson Process — Simulation and Application to HPC Job Submissions</td><td>13</td></tr><tr><td>3.1</td><td>Marked Poisson Process</td><td>13</td></tr><tr><td>3.1.1</td><td>Sample Size Determination</td><td>13</td></tr><tr><td>3.1.2</td><td>Simulation study: evolution of estimators with sample size</td><td>15</td></tr><tr><td>3.1.3</td><td>Application to HPC Job Submission Data</td><td>16</td></tr><tr><td>4</td><td>Conclusion and perspectives</td><td>17</td></tr><tr><td>4.1</td><td>Social Impact</td><td>17</td></tr></table>
Glossary

**Autonomic computing** Autonomic computing is a design paradigm for computer systems that aims to make
systems capable of managing their own operation.. 2, 4

**Besteffort** Is a type of job in HPC systems that does not have guaranteed completion time and less priority compared to other jobs. 2, 5, 6, 7, 17

campaign A campaign is a set of Besteffort jobs of the same type. 2, 7

Cigri Is the software layer developed by the Gricad team to manage Best-effort jobs. 2, 4, 5, 6, 7, 21

jobs A job is a unit of work submitted on HPC systems. 2

**OAR** Is a Resource and Job Management System (RJMS) developed by the Gricad team at UGA. It aims to optimize resource allocation and job scheduling in high-performance computing environments.(). 2, 4, 5, 6

RJMS (Resource and Job Management System). An application description usually consists in an executable,
resources requirements, and an estimation of the time needed to run the application. 2, 6

task Is a set of jobs, since the first job submitted from the last resubmission. 2
# 1 Introduction

## 1.1 Host structure

My internship is part of a multidisciplinary collaboration between two laboratories. The mathematical modeling of process lifetime is supervised by Franck Corset in the ASAR team at LJK. The expertise in computer science and HPC systems is provided by Raphaël Bleuse (LIG/Inria) in the ctrl-a team, specialized in resource management for parallel computing.

## 1.2 Context

High-performance computing (HPC) systems know an exponential growth due to data-intensive applications like machine learning and complex simulations. At the same time, energy efficiency has become a critical issue, as large-scale infrastructures consume significant amounts of electricity also when some resources are idle and exhibit variable behavior in terms of power usage and application performance.

To address this issue, Kephart and Chess [4] introduced the concept of Autonomic computing. Control theory is now being applied to grids of HPC systems [10], to perform jobs on the most appropriate resources. In this article, the authors discuss how to use control theory to manage resource allocation and job scheduling in HPC environments.

In this report, we study OAR and Cigri database from Gricad clusters, to construct a unified dataset for post-mortem analysis, and developing statistical modelisation of job submissions and distributions of execution times.

### 1.2.1 GRICAD

GRICAD is a research support unit under UGA, CNRS, G-INP and INRIA, providing expertise and shared digital services for the Grenoble research community. Established in January 2016 and building on the CIMENT project, GRICAD offers advanced, mutualized infrastructure and support for high-performance computing, data management, and research software. The team advises research groups on computing and data needs, collaborates across local, national, and European ecosystems, and promotes open, reproducible, and sustainable scientific computing by providing tools and guidance to measure and reduce the environmental impact of digital research.

Today GRICAD infrastructure consists of four clusters, each with its own characteristics and resources: Luke (heterogeneous processing without GPU support), Dahu (main platform for HPC and data analysis), Bigfoot (GPU-equipped machines), and Kraken (latest platform for HPC and AI, featuring 13,280 AMD Genoa CPU cores, 28 Nvidia H100 GPUs, a 200-400 Gb/s interconnect, 300TB NVMe scratch storage, and up to 1,536 GB RAM per node).
### 1.2.2 HPC structure usage

The Resource and Job Management System (RJMS) is a key component to operate an HPC system [2], [7]. Users register on the platform and submit jobs that describe the computation, data and resource needs (typically number of cores and a walltime); the scheduler, using the current resource status, decides which resources to allocate and assigns a time slot for execution. The next schema 1.1 represents this process.

<figure><img src="image_2.png" /><figcaption>Figure 1.1: Schematic representation of the Resource and Job Management System (RJMS)</figcaption></figure>

In addition, the Cigri software layer manages Besteffort jobs across these clusters. Resource availability evolves over time due to job submissions, completions, and maintenance. Each cluster is managed by an OAR instance, and Cigri interacts with these instances to submit and manage Besteffort jobs, as depicted in the next figure 1.2.

<figure><img src="image_3.png" /><figcaption>Figure 1.2: Architecture of the Cigri system</figcaption></figure>

The RJMS orchestration is not enough to fully utilize the available resources for example on Figure 8. To address this issue, an interesting way is to explore Stochastic Resource Harvesting. This inefficiency arises because RJMS allocate exclusive resources and rely on user-declared walltimes and priority rules; together with heterogeneous job sizes, backfilling and reservation constraints this produces temporal and spatial fragmentation (gaps) in the schedule.

### 1.2.3 State of the art

While the RJMS ensures fair scheduling and stable operation of the clusters, it cannot fully eliminate idle resources. This underutilization is inherent to exclusive resource allocation and fragmentation effects, where some compute nodes remain unused even though jobs are pending in the queue. Such idle resources form a potential pool that can be harvested to improve system efficiency.

The concept of resource harvesting has been widely studied in HPC systems. Have advantages in two planes:

* Idle resources is a direct waste of energy and direct financial cost. [6] save 90W per node with power management strategie.
* We get additional computing power at low cost.

A possible harvesting strategy includes the injection of *Besteffort* jobs. But a difficulty is manage stochastic nature of HPC environments: job arrivals, execution times, and resource availability are highly variable and uncertain. Static or rule-based approaches are therefore insufficient to adapt to such fluctuations. But a merging of these strategies with Stochastic Model Predictive Control (SMPC) [3] has emerged as a promising framework. SMPC enables decision-making under uncertainty by integrating probabilistic constraints and scenario-based optimization.

## 1.3 Objective

The objective of this work is to improve the energetic efficiency and overall utilization of the GRICAD HPC infrastructure by reducing idle resource fragments left inherently by the RJMS scheduling logic and exploiting them through informed Cigri Best-effort (BE) injection.

We consolidated heterogeneous OAR and Cigri logs into a unified database to characterize temporal fragmentation (size, duration, locality) and BE workload structure (jobs, resubmission chains / tasks, campaigns).

On this data layer we model priority job submissions as a marked non-homogeneous Poisson process to forecast. Combining arrival forecasts with residual runtime estimates yields a probabilistic availability frontier assigning each candidate BE job a survivability window (probability of completion before preemption).

The continuation of the work focuses on rigorous estimation and validation of the key distributions (priority inter-arrivals, BE lifetimes, residual runtimes, survivability horizons, fragmentation size / duration).
# 2 System modelization

## 2.1 Available data

The first step of the modeling process was to build a comprehensive database that would serve as the foundation for our analyses. Our motivation for this integration was to reduce the number of connections to OAR instances in production and to improve the data structure to better suit our needs. This required merging three different OAR database instances one instance per cluster, each with its own schema (see Appendix 2). In addition, the Cigri database had to be integrated to track Best-effort jobs (see Appendix 3).

A first part of our work concerns tracking Besteffort jobs from Cigri. Every job submitted through this layer is assigned a unique identifier for tracking purposes and is linked to OAR job identifiers, allowing us to correlate the two systems effectively. Another important aspect is the tracking of job resubmissions for Besteffort jobs. Resubmissions occur when a prior submission is replaced by new BE jobs or when the walltime threshold is reached.

In this context we define tasks_id to identify each set of resubmitted jobs. This identifier is crucial for tracking the lifecycle of these jobs and understanding their behavior over time.

### 2.1.1 Structure of the consolidated database

The database construction was a crucial step in our project. The schema was designed to accommodate both OAR jobs and the Best-effort jobs submitted through Cigri (see Appendix 4).

The first challenge concerned the integration of multiple OAR instances. To ensure consistency across them, we extracted the Cluster table from the Cigri database (see Appendix 3) and used the cluster_id field to associate each job with its corresponding cluster.

At the core of our database lies the tasks table, which assigns a unique identifier to each set of resubmitted jobs. This table is also used to track information related to campaign for Best-effort jobs.

From this central table, we derived the schedules table, which stores information on job instances, including start and end times, submission time, and the job_id linked to both a task and a cluster. The main utility of this table is to facilitate the analysis of execution times and the construction of Gantt charts.

The allocation table provides details on the resources assigned to each job. Each resource is uniquely identified by a resource_id and is linked to the resources table. The latter describes the available hardware on each cluster, including the number of cores, memory per core, and other cluster-specific characteristics.

The remaining tables, which are described in the next section, are simplified versions of the original OAR database tables.

A second challenge was the amount of data to be processed: approximately 300 GB of OAR logs. The table 2.1 summarizes the amount of job submissions over time.

<table><caption>Table 2.1: Number of job submissions per cluster</caption><thead><tr><td>Cluster name</td><td>Jobs submission</td><td>Besteffort jobs</td><td>Besteffort percentage</td></tr></thead><tbody><tr><td>Luke</td><td>57,397,432</td><td>24,211,539</td><td>42.18</td></tr><tr><td>Dahu</td><td>25,752,839</td><td>4,723,181</td><td>18.34</td></tr></tbody></table>

To handle this efficiently, we implemented a data processing pipeline combining Julia scripts with Shell utilities. We define the pipeline of merging databases in Appendix ??.
## 2.2 Modeling on OAR jobs arrival

In this section, we present the mathematical model used to describe the counting process of job submissions on OAR clusters.

Poisson processes are classical tools for modeling the random occurrence of events over time. We define a Poisson process as follows:

### Definition : Homogeneous Poisson Process

A Poisson process $(N_t)_{t \in \mathbb{R}^*}$ [1] is a stochastic process that counts the number of events occurring in a fixed interval of time, characterized by the following properties:

* $N(0) = 0$ almost surely.

* The process has independent increments: for any $0 \le t_1 < t_2 < \dots < t_n$, the random variables $N_{t_1}, N_{t_2} - N_{t_1}, \dots, N_{t_n} - N_{t_{n-1}}$ are independent.

* The number of events in a time interval of length $t$ follows a Poisson distribution with parameter $\lambda t$, where $\lambda$ is the intensity of the process.

From this definition, we can derive several important properties of the Poisson process:

### Property

Let $N_t$ be a Poisson process with intensity $\lambda$. Then:

* $N_{t+dt} - N_t \sim P(\lambda dt) \Rightarrow P(N_{t+dt} - N_t > 1) = o(dt)$

* The expected number of events in a time interval $[0, t]$ is given by $E[N_t] = \lambda t$.

We can also consider a non-homogeneous Poisson process (NHPP), where the intensity $\lambda(t)$ can vary over time. In this case, the number of events in an interval $[t_1, t_2]$ follows a Poisson distribution with parameter $\Lambda(t_2) - \Lambda(t_1)$, where $\Lambda(t)$ is the cumulative intensity function defined as:

$$ \Lambda(t) = \int_{0}^{t} \lambda(s)ds $$

With $\lambda$ a non-negative function, this allows us to model processes where the event intensity changes over time, which is particularly useful in our case where job submission rates may vary throughout the day.

In our case, multiple jobs can be submitted simultaneously due to the time granularity of the OAR system (one-second resolution) but this assumption doesn't respect the last point on the previous definition. This phenomenon can be observed in Figure 2.1, which shows several jobs submitted at identical time points.

To account for this, we model the data using a marked Poisson process [9], which extends the standard Poisson process by associating a random mark with each event. This allows us to describe both the timing and the number of jobs submitted at each time point. The definition is as follows:

### Definition : Marked Poisson Process

Let $N$ be a Poisson process with intensity function $\lambda(t)$. For each event time $T_i$, an independent random mark $X_i \sim m(x)$ is assigned. Then, the marked process $(T_i, X_i)$ forms a Poisson process on $\mathbb{R}^* \times \mathcal{X}$ with intensity $\lambda(t) m(x)$.

In our case, the marks correspond to the number of jobs submitted at each time point. For the Poisson process component, we assume a non-homogeneous intensity function of the form:

$$ \lambda(t) = \frac{\beta}{\eta} \left( \frac{t}{\eta} \right)^{\beta-1} $$

Where $\eta$ a scale parameter and $\beta$ a shape parameter.
<figure><img src="image_4.png" /><figcaption>Figure 2.1: Bar plot of number of jobs submitted in the same time interval</figcaption></figure>

This corresponds to the intensity function of a Power-Law Process (PLP), which provides more flexibility than the homogeneous case ($\beta = 1$), as it can capture increasing or decreasing event rates over time.

Our final model consists of a marked Poisson process with a time-varying deterministic intensity function $\lambda(t)$, and a multinomial distribution governing the marks we decide to use this distribution to modelize the phenomenon of burst submissions. The next step is to estimate the parameters $\eta, \beta$, and $(p_1, \dots, p_K)$ from the data, where $p_k$ denote the probabilities of each category.

### 2.2.1 Likelihood formulation

Let $(t_i, x_i)$, for $i = 1, \dots, n$, denote the observed data, where:

* $t_i$ denotes the arrival time of the $i$-th event. In our application, each event corresponds to the start time of one or more jobs. We assume that the times are ordered such that $0 < t_1 < t_2 < \dots < t_n < t_{\max}$.
  Where $t_{\max}$ is the maximum of the observed window. In the following, we study two cases: $t_{\max} = t_n$ and $t_{\max} > t_n$.

* $x_i$ is the associated mark, representing the number of jobs submitted at time $t_i$.

We model the arrival times $\{t_i\}$ as a realization of a non-homogeneous Poisson process with intensity on $\mathbb{R}^+$ over the finite interval $[0, t_{\max}]$:

$$ \lambda(t) = \frac{\beta}{\eta} \left(\frac{t}{\eta}\right)^{\beta-1} $$

The marks $\{X_i\}$ are modeled as i.i.d. random variables, independent of the arrival times, and drawn from a discrete distribution $m(x)$.

Based on empirical evidence (see Figure 2.1), we choose a discrete mark space of $K$ categories $\{c_1, \dots, c_K\} \in \mathbb{N}^*$. Although a geometric distribution was initially considered, it was not a good fit for the observed data. Therefore, we assume the marks follow a multinomial distribution with probabilities $(p_1, \dots, p_K)$, denoted $p$.

Let $t_{\max}$ denote the total duration of the observation window, i.e., the maximum time up to which job arrivals were recorded. This defines the time domain over which the Poisson process is observed.

Let:
* $\forall k \in \{1, \dots, K\}, n_k = \sum_{i=1}^{n} 1_{\{x_i \in c_k\}},$ with $\sum_{k=1}^{K} n_k = n$

* $p_k = \mathbb{P}(X_i = c_k)$, with $\sum_{k=1}^{K} p_k = 1$,

* $\Lambda(t) = \int_{0}^{t} \lambda(s)ds$ denotes the cumulative intensity function of NHPP

Now we study the likelihood of the observed marked point process where $t_{\max} > t_n$.

The likelihood of the observed marked point process is given by:

$$ 
\begin{aligned}
\mathcal{L}(\beta, \eta, \mathbf{p}; (t_i, x_i)) &= \prod_{i=1}^{n} \left[ \frac{\beta}{\eta} \left( \frac{t_i}{\eta} \right)^{\beta-1} \left( \prod_{k=1}^{K} p_k^{1_{\{x_i \in c_k\}}} \right) \right] e^{-\Lambda(t_{\max})} \\
&= e^{-\left(\frac{t_{\max}}{\eta}\right)^{\beta}} \left(\frac{\beta}{\eta^{\beta}}\right)^n \prod_{i=1}^{n} t_i^{\beta-1} \prod_{i=1}^{n} \prod_{k=1}^{K} p_k^{1_{\{x_i \in c_k\}}} \\
&= e^{-\left(\frac{t_{\max}}{\eta}\right)^{\beta}} \left(\frac{\beta}{\eta^{\beta}}\right)^n \prod_{i=1}^{n} t_i^{\beta-1} \prod_{k=1}^{K} p_k^{\sum_{i=1}^{n} 1_{\{x_i \in c_k\}}} \\
&= e^{-\left(\frac{t_{\max}}{\eta}\right)^{\beta}} \left(\frac{\beta}{\eta^{\beta}}\right)^n \prod_{i=1}^{n} t_i^{\beta-1} \prod_{k=1}^{K} p_k^{n_k}
\end{aligned}
$$

The log-likelihood of the observed marked point process is given by:

$$ \mathcal{LL}(\beta, \eta, \mathbf{p}; (t_i, x_i)) = - \left( \frac{t_{\max}}{\eta} \right)^{\beta} + n (\ln(\beta) - \beta \ln(\eta)) + (\beta - 1) \sum_{i=1}^{n} \ln(t_i) + \sum_{k=1}^{K} n_k \ln(p_k) $$

### 2.2.2 Maximum Likelihood Estimation

The likelihood expression derived above will be used to derive the maximum likelihood estimators of the parameters $\eta, \beta$, and $\mathbf{p} = (p_1, \dots, p_K)$.

To estimate the parameters, we derive the maximum likelihood estimators by taking partial derivatives of the log-likelihood and setting them to zero.

For $\eta$:

$$ \frac{\partial \mathcal{LL}}{\partial \eta} = \frac{\beta t_{\max}^{\beta}}{\eta^{\beta+1}} - \frac{n\beta}{\eta} = 0 \Rightarrow \hat{\eta} = \frac{t_{\max}}{n^{1/\beta}} $$

For $\beta$:

$$ \frac{\partial \mathcal{LL}}{\partial \beta} = - \ln \left( \frac{t_{\max}}{\eta} \right) \left( \frac{t_{\max}}{\eta} \right)^{\beta} + \sum_{i=1}^{n} \ln(t_i) + \frac{n}{\beta} - n \ln(\eta) $$

We have:

$$ \frac{t_{\max}}{\hat{\eta}} = t_{\max} \frac{n^{1/\beta}}{t_{\max}} = n^{1/\beta} $$
For $\hat{\beta}$ (after plugging in $\hat{\eta}$):

$$ 
\begin{aligned}
\frac{\partial \mathcal{L} \mathcal{L}}{\partial \beta}(\hat{\eta}) &= -\ln(n^{1/\beta})n + \sum_{i=1}^{n} \ln(t_i) - n \ln\left(\frac{t_{\max}}{n^{1/\beta}}\right) + \frac{n}{\beta} \\
&= -\frac{n}{\beta} \ln(n) + \sum_{i=1}^{n} \ln(t_i) - n \ln(t_{\max}) + \frac{n}{\beta} \ln(n) + \frac{n}{\beta} \\
&= \frac{n}{\beta} - n \ln(t_{\max}) + \sum_{i=1}^{n} \ln(t_i) \\
\hat{\beta} &= \frac{n}{n \ln(t_{\max}) - \sum_{i=1}^{n} \ln(t_i)}
\end{aligned}
$$

We study the maximum of the log-likelihood function with respect to the parameters $\eta$ and $\beta$ in appendix 4.1. Finally, we estimate the probabilities $p_k$ using the empirical frequencies of the marks: For $p_k$ (subject to the constraint $\sum_{k=1}^{K} p_k = 1$), we maximize the Lagrangian:

$$ \mathcal{L}(p_1, \dots, p_K, \lambda) = \sum_{k=1}^{K} n_k \ln(p_k) + \lambda \left( 1 - \sum_{k=1}^{K} p_k \right) $$

Setting the derivative with respect to $p_k$, $\forall k \in \{1, \dots, K\}$ to zero:

$$ \frac{\partial \mathcal{L}}{\partial p_k} = \frac{n_k}{p_k} - \lambda = 0 \quad \Rightarrow \quad \hat{p}_k = \frac{n_k}{n} $$

At this point we need to check the second derivative to ensure that we have a maximum:

$$ \frac{\partial^2 \mathcal{L}}{\partial p_k^2} = - \frac{n_k}{p_k^2} $$

This is negative for all $k \in \{1, \dots, K\}$, indicating a maximum.

Thus, the MLE for $p_k$ corresponds to the empirical frequency of class $k$ in the observed data.

We summarize the MLEs as follows:

$$ 
\left\{
\begin{aligned}
\hat{\eta} &= \frac{t_{\max}}{n^{1/\beta}} \\
\hat{\beta} &= \frac{1}{\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^{n} \ln(t_i)} \\
\hat{p}_k &= \frac{n_k}{n}, \quad \forall k \in \{1, \dots, K\}
\end{aligned}
\right.
$$

### 2.2.3 A particular case: $t_n = t_{\max}$

In many practical situations, the last observed event $t_n$ coincides with the end of the observation window, i.e., $t_n = t_{\max}$. This case naturally arises in truncated or finite-time observations, where the data collection stops at a fixed horizon. When this condition holds, the cumulative intensity function simplifies to $\Lambda(t_n) = \Lambda(t_{\max})$. In this case, the likelihood simplifies to:

$$ 
\begin{aligned}
\mathcal{L}(\beta, \eta, \mathbf{p}; (t_i, x_i)) &= \prod_{i=1}^{n} \left[ \frac{\beta}{\eta} \left( \frac{t_i}{\eta} \right)^{\beta-1} \left( \prod_{k=1}^{K} p_k^{\mathbb{1}_{\{x_i \in c_k\}}} \right) \right] e^{-\Lambda(t_n)} \\
&= e^{-(\frac{t_n}{\eta})^{\beta}} \left( \frac{\beta}{\eta^{\beta}} \right)^n \prod_{i=1}^{n} t_i^{\beta-1} \prod_{k=1}^{K} p_k^{n_k}
\end{aligned}
$$
After taking the logarithm, we obtain the log-likelihood:

$$ \mathcal{L}\mathcal{L}(\beta, \eta, \mathbf{p}; (t_i, x_i)) = -\left(\frac{t_n}{\eta}\right)^{\beta} + n(\ln(\beta) - \beta \ln(\eta)) + (\beta - 1) \sum_{i=1}^{n} \ln(t_i) + \sum_{k=1}^{K} n_k \ln(p_k) $$

We can use this log-likelihood expression to derive the maximum likelihood estimators (MLE) for the parameters $\eta, \beta$, and $\mathbf{p} = (p_1, \dots, p_K)$.

For $\eta$, we have:

$$ \frac{\partial \mathcal{L}\mathcal{L}}{\partial \eta} = \frac{t_n^{\beta}\beta}{\eta^{\beta+1}} - \frac{n\beta}{\eta} = 0 \Rightarrow \hat{\eta} = \frac{t_n}{n^{1/\beta}} $$

For $\beta$ (this is the same idea as the classical case with some factorization):

$$ \frac{\partial \mathcal{L}\mathcal{L}}{\partial \beta} = \ln(t_n) \left(1 - \left(\frac{t_n}{\eta}\right)^{\beta}\right) + \ln(\eta) \left(\left(1 - \left(\frac{t_n}{\eta}\right)^{\beta}\right) - n\right) + \frac{n}{\beta} + \sum_{i=1}^{n-1} \ln(t_i) $$

After plugging $\hat{\eta}$ we find:

$$ \hat{\beta} = \frac{n}{(n-1) \ln(t_n) - \sum_{i=1}^{n-1} \ln(t_i)} $$

At this point we have all the ingredients to estimate the parameters of our model. The MLE for $p_k$ remains unchanged:

$$ \hat{p}_k = \frac{n_k}{n} $$
# 3 Marked Poisson Process — Simulation and Application to HPC Job Submissions

## 3.1 Marked Poisson Process

In this section, we present the results of applying the marked Poisson process model to the job submission data from the OAR clusters at UGA. We focus on estimating the parameters $\eta$, $\beta$, and $p$ using the maximum likelihood method described in Section 2.2.2. All marked Poisson process follow the assumption mark was independent of the arrival time, and the marks follow a multinomial distribution.

### Thinning Algorithm

The thinning algorithm [5] is a method used to generate event times from a non-homogeneous Poisson process. The basic idea is to simulate a homogeneous Poisson process and then "thin" the events according to the desired intensity function. The steps are as follows:

1. Define $\lambda_{max} = \sup_{t \in [0,T]} \lambda(t)$, the maximum value of the intensity function over the interval of interest.

2. Generate a number of candidate points $N \sim$ Poisson($\lambda_{max}T$), and sample $N$ candidate times $t_i$ independently from a uniform distribution on $[0, T]$.

3. For each $t_i$, accept the point with probability $\frac{\lambda(t_i)}{\lambda_{max}}$ (i.e., draw $U_i \sim U[0, 1]$ and accept if $U_i < \frac{\lambda(t_i)}{\lambda_{max}}$); otherwise, reject it.

### 3.1.1 Sample Size Determination

To assess the stability of the estimators with respect to sample size, we conduct a simulation study. For fixed parameter values $\eta \in \{1.0, 1.5, 2.0, 2.5\}$ and $\beta \in \{0.5, 1.0, 1.5, 2.0, 2.5\}$, we generate 5,000 independent realizations of the marked Poisson process for various sample sizes $n$ drawn from $\{5, \dots, 1500\}$. The upper bound $n = 1500$ is justified by the large size of the available dataset (over 2,000 submissions per week), which permits exploration of a wide and application-relevant range of sample sizes.

For each simulation, we estimate the parameters $\hat{\eta}$ and $\hat{\beta}$ using the maximum likelihood method described earlier. We then compute the empirical mean of these estimates across the 5000 repetitions for each $n$.

To visualize the convergence behavior, we plot the average estimate $E[\hat{\eta}_n]$ and $E[\hat{\beta}_n]$ as functions of $n$, along with 5% fluctuation intervals around the true values. The true parameter value is shown as a horizontal reference line.
The plots below:

<figure><img src="image_5.png" /><figcaption>Figure 3.1: Stability of the estimation</figcaption></figure>

Allow us to assess the bias and variance of the estimators as the sample size increases. In particular, they help identify the smallest sample size for which the estimator is both stable and close to the true value. We summarize the results in the table below, which reports the minimum sample size *n* required for the mean of the estimated parameters $\hat{\eta}$ and $\hat{\beta}$ to fall within the 5% fluctuation interval around the true value. This is done for each combination of $\eta$ and $\beta$:

<table><caption>Table 3.1: Minimum sample size required for stable parameter estimation. *DV*: no convergence observed within reasonable sample sizes (*n* > 5500).</caption><thead><tr><th>β\η</th><th>1.0</th><th>1.5</th><th>2.0</th><th>2.5</th></tr></thead><tbody><tr><td>0.5</td><td><b>DV*</b></td><td><b>DV*</b></td><td><b>DV*</b></td><td><b>DV*</b></td></tr><tr><td>1.0</td><td>667</td><td>727</td><td>672</td><td>606</td></tr><tr><td>1.5</td><td>216</td><td>221</td><td>211</td><td>246</td></tr><tr><td>2.0</td><td>106</td><td>117</td><td>103</td><td>108</td></tr><tr><td>2.5</td><td>60</td><td>65</td><td>61</td><td>56</td></tr></tbody></table>

The goal of this table is to provide a practical guideline for determining the minimum sample size required to achieve reliable parameter estimation in the marked Poisson process model. In our context, where the number of submitted jobs is large, these values can be used to select an appropriate subsample size that balances estimation accuracy with computational efficiency.

The results indicate that as $\beta$ increases, the required sample size decreases, suggesting that the model becomes more stable with larger values of $\beta$ in the context of job submission data. This is likely due to the fact that larger values of $\beta$ correspond to an increase in the number of jobs submitted on OAR clusters, leading to less variability in the estimates.

For the case where $\beta = 0.5$, the required sample size is significantly larger, indicating that the model is less stable in this regime. This is likely due to the fact that a value of $\beta < 1$ corresponds to a decreasing intensity function; in this case the estimation of $\beta$ is more difficult as the amount of data at the beginning of the observation window is not sufficient to estimate the parameters accurately.
### 3.1.2 Simulation study: evolution of estimators with sample size

In this subsection we study how the accuracy of the marked Poisson process (MPP) estimators ($\hat{\eta}$, $\hat{\beta}$, $\hat{\mathbf{p}}$) improves as the number of observed events $n$ grows. Unlike the previous subsection (which searched for a minimal acceptable size), our goal here is to give a quantitative description (bias, variance, mean squared error) of the finite-sample evolution and to identify stability regions in the $(\eta, \beta)$ plane.

#### Model framework

We consider a non-homogeneous Poisson process with Weibull-type intensity

$$ \lambda(t) = \frac{\beta}{\eta} \left(\frac{t}{\eta}\right)^{\beta-1}, \quad t > 0, $$

and independent marks drawn from a multinomial law $M_K(1, \mathbf{p})$ with $\mathbf{p} = (p_1, \dots, p_K)$. Closed-form MLE expressions were derived earlier.

#### Experimental design

For each true parameter pair $(\eta, \beta)$ with $\eta \in \{1.0, 1.5, 2.0, 2.5\}$ and $\beta \in \{0.5, 1.0, 1.5, 2.0, 2.5\}$ we generate, for increasing sample sizes $n$, a set of $R = 1000$ independent simulated trajectories. For each trajectory:

1. Event times are simulated exactly via the time-change (cumulative exponential) method to avoid thinning bias in increasing regimes.

2. Marks are drawn i.i.d. from the fixed vector $\mathbf{p}$ (empirical 59-class distribution in our setting).

3. MLEs $(\hat{\eta}, \hat{\beta}, \hat{\mathbf{p}})$ are computed.

4. Across the $R$ repetitions we aggregate mean, bias, standard deviation (sd), and MSE for $\hat{\eta}$ and $\hat{\beta}$, plus the Kullback-Leibler divergence $KL(\mathbf{p}||\hat{\mathbf{p}})$.

#### Performance metrics

We report:

1. Bias: $E[\hat{\theta}] - \theta$

2. Empirical variance

3. MSE: $bias^2+variance$

4. KL divergence for the marks (sensitivity of $\hat{\mathbf{p}}$)

We summarize the results in some table for $\beta$ value Table 4.1.

#### Qualitative patterns

* **Decreasing regime ($\beta < 1$).** Persistent high variability of $\hat{\beta}$ even for large $n$ because information is concentrated very early (many early events). MSE is variance-dominated; stabilization requires much larger $n$ than in accelerating regimes.

* **Near homogeneous ($\beta \approx 1$).** Initial bias in $\hat{\beta}$ can be moderately positive (flat log-likelihood curvature). The transition from $O(1)$ to $O(n^{-1})$ MSE happens later than for $\beta = 1.5$.

* **Accelerating regimes ($\beta \ge 1.5$).** Clear monotone decrease of MSE for both parameters; increased curvature sharpens concentration. Bias becomes negligible quickly; variance dominates.

* **Effect of $\eta$.** Scale impacts $\hat{\eta}$ mainly at small $n$. After a $\beta$-dependent threshold the MSE curves across different $\eta$ values converge, suggesting radial contraction in parameter space.

* **Marks (KL).** KL decays at the expected $O(n^{-1})$ rate of multinomial estimation; no structural interaction detected with $\beta$, supporting the independence assumption.
## Practical guidance

1. If a preliminary $\hat{\beta} < 1$ is obtained, enlarge the observation window (or aggregate streams) before using the estimates for prediction or control.

2. For $\hat{\beta} \ge 1.5$, moderate subsamples already give stable MSE (early plateau), enabling inexpensive incremental updates.

3. Estimation of p stabilizes quickly; class probabilities can be frozen early while refining only $(\eta, \beta)$.

In summary, the multi-scale analysis of the simulation results provides insights into the behavior of the marked Poisson process under different parameter settings. This prepares the model for integration in decision frameworks (stochastic scheduling or predictive control) in HPC.

## From Simulation to Application

Having assessed the reliability of the parameter estimates and their ability to reproduce the original process structure in simulation, we now turn to the application of the marked Poisson process model to real HPC job submission data.

### 3.1.3 Application to HPC Job Submission Data

In this section, we apply the marked Poisson process model to real-world data from the OAR job scheduler at Université Grenoble Alpes (UGA). The goal is to estimate the parameters $\eta$ and $\beta$ that govern the job submission process on the HPC clusters.

Figure 6 shows the cumulative number of job submissions recorded during October 2023 corresponding to 2762645 submissions. Each submission is associated with a mark representing the number of jobs submitted simultaneously, extracted from OAR system logs.

We fit the marked Poisson process model to this data using the maximum likelihood estimation (MLE) procedure described in Section 2.2.2. The estimated parameters are:

$$ \hat{\eta} = 49.437, \quad \hat{\beta} = 0.94 $$

With confidence intervals of (49.435, 49.439) for $\hat{\eta}$ and (0.93, 0.95) for $\hat{\beta}$, we find that both parameters are estimated with reasonable precision adapted from [8]. These values suggest that the job submission process exhibits moderate variability over time, with a tendency for submissions to occur in bursts rather than uniformly.

To evaluate the quality of this estimation, we simulate 10,000 realizations of the marked Poisson process using the estimated parameters $\hat{\eta}$ and $\hat{\beta}$. For each realization, we generate a new sequence of event times and compare them to those from a process simulated with the true parameters using the following pointwise mean squared error (MSE):

$$ \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (T_{i}^{\text{true}} - T_{i}^{\text{sim}})^{2} $$

Where n represents the number of events occurring on the OAR clusters during the observation period. We then compute the empirical mean of the MSE across the 10,000 simulations. The resulting average MSE is approximately $1.62 \times 10^7$, which is relatively large. This high value is expected, as the model does not fully capture the bursty and irregular nature of real job submissions.

To further assess the model, we visualize the simulated job submission process alongside the real data in Figure 7. While the simulated process reflects the overall upward trend in job counts, it fails to replicate the sharp, clustered bursts present in the actual submission data.

This result highlights a key limitation of the current model, and motivates future improvements based on more expressive intensity functions and refined mark modeling.
# 4 Conclusion and perspectives

This work produced a unified historical database (OAR + Cigri) with explicit linkage between jobs, tasks (resubmission chains), campaigns and resource allocations, and introduced a first stochastic arrival model (marked non-homogeneous Poisson with Weibull / power-law intensity) together with closed-form maximum likelihood estimators and finite-sample stability analysis. This establishes a reproducible statistical layer for probabilistic exploitation of idle fragmented capacity via informed Best-effort (BE) injections.

The single Weibull (power-law) intensity is a simplifying assumption: it imposes a monotonic global trend and cannot represent daily and weekly seasonality, calendar shocks (maintenance, holidays, academic periods), to address this issue, we will explore more complex intensity functions for example using time series decomposition techniques. To capture seasonality, we will incorporate Fourier terms or other cyclic components into the intensity function.

For the marks, we will explore alternative distributions such as zero-inflated models or mixture models to better capture the burstiness and overdispersion observed in the data. We will also investigate potential dependencies between marks and arrival times, which may require joint modeling approaches.

Another relevant direction is to study the distribution of execution times for Besteffort jobs. Starting from a theoretical mean distribution that captures the variability of job durations, we will refine and adapt this model to obtain a more accurate representation suitable for flow analysis.

To conclude, we will integrate the refined marked Poisson process model into a predictive control framework for dynamic resource allocation in HPC clusters. This will involve developing algorithms that leverage the stochastic model to optimize scheduling decisions under uncertainty, with the goal of improving overall system efficiency and user satisfaction.

## 4.1 Social Impact

The proposed research has the potential to significantly impact the field of high-performance computing (HPC) by enabling more efficient resource allocation and job scheduling. By leveraging advanced statistical models and control theory, we aim to reduce idle times and improve the overall utilization of HPC resources. This can lead to faster turnaround times for scientific computations and simulations, ultimately benefiting researchers and organizations that rely on HPC for their work.

Furthermore, the insights gained from this research can inform the design of future HPC systems, making them more adaptive and responsive to changing workloads. This aligns with the broader trend towards autonomic computing, where systems are designed to self-manage and optimize their performance.

But this research also raises an important environmental impact. If you look only at the energy consumption of HPC systems using to create a merged database we consume around 7200 core hours, which translates to a significant carbon footprint. It is crucial to consider the sustainability of HPC practices and explore ways to minimize energy consumption while maintaining performance.
Bibliography

[1] D J Daley and David Vere-Jones. An introduction to the theory of point processes, November 2003.

[2] Yiannis Georgiou. *Contributions for Resource and Job Management in High Performance Computing*. PhD thesis, LIG, Univ. Grenoble Alpes, France, November 2010.

[3] Kouds Halitim, Bogdan Robu, Sophie Cerf, Raphaël Bleuse, and Éric Rutten. Stochastic Model Predictive Control with Direct Feedforward Compensation: Harvesting Idle Resources in High-Performance Computing. In *International Conference on System Theory, Control and Computing (ICSTCC 2025)*, Cluj-Napoca, Romania, October 2025.

[4] Jeffrey O. Kephart and David M. Chess. The Vision of Autonomic Computing. *IEEE Computer*, 36(1):41–50, January 2003.

[5] P. A. W Lewis and G. S. Shedler. Simulation of nonhomogeneous poisson processes by thinning, September 1979.

[6] Bartłomiej Przybylski, Maciej Pawlik, Paweł Żuk, Bartłomiej Lagosz, Maciej Malawski, and Krzysztof Rzadca. Using unused: Non-invasive dynamic faas infrastructure with hpc-whisk. In *SC22: International Conference for High Performance Computing, Networking, Storage and Analysis*, pages 1–15, 2022.

[7] Albert Reuther, Chansup Byun, William Arcand, David Bestor, Bill Bergeron, Matthew Hubbell, Michael Jones, Peter Michaleas, Andrew Prout, Antonio Rosa, and Jeremy Kepner. Scalable system scheduling for HPC and big data. *Journal of Parallel and Distributed Computing*, 111:76–92, January 2018.

[8] Steven E Rigdon and Asit P Basu. The power law process: A model for the reliability of repairable systems. *J. Qual. Technol.*, 21(4):251–260, October 1989.

[9] Donald L. Snyder and Michael I. Miller. Doubly stochastic poisson-processes. In *Random Point Processes in Time and Space*, pages 341–465. Springer New York.

[10] Emmanuel Stahl, Agustín Gabriel Yabo, Olivier Richard, Bruno Bzeznik, Bogdan Robu, and Eric Rutten. Towards a control-theory approach for minimizing unused grid resources. In *Proceedings of the 1st International Workshop on Autonomous Infrastructure for Science*, pages 1–8. ACM.
# Appendix

Study maximum of MLE At this point we need to check the second derivative to ensure that we have a maximum:

$$ \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta^2} = - \left( \ln \left( \frac{t_{\max}}{\eta} \right)^2 \left( \frac{t_{\max}}{\eta} \right)^{\beta} + \frac{n}{\beta^2} \right) $$

$$ \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \eta^2} = - \frac{\beta(\beta - 1)}{\eta^{\beta+2}} + \frac{n\beta}{\eta^2} $$

$$ \begin{aligned} \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta \partial \eta} &= \frac{(\beta \ln(t_{\max}) t_{\max}^{\beta} + t_{\max}^{\beta}) \eta^{\beta+1} - \beta t_{\max}^{\beta} \ln(\eta) \eta^{\beta+1}}{\eta^{2(\beta+1)}} - \frac{n}{\eta} \\ &= \frac{t_{\max}^{\beta} \beta (\ln(t_{\max}) + 1 - \ln(\eta))}{\eta^{\beta}} - n \\ &= \left( \frac{t_{\max}}{\eta} \right)^{\beta} \beta (\ln(t_{\max}) + 1 - \ln(\eta)) \end{aligned} $$

According to Swartz's theorem all mixed partial derivatives are equal, we have:

$$ \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta \partial \eta} = \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \eta \partial \beta} $$

The Hessian matrix of the log-likelihood function is given by:

$$ H = \begin{pmatrix} \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \eta^2} (\hat{\eta}, \hat{\beta}) & \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta \partial \eta} (\hat{\eta}, \hat{\beta}) \\ \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta \partial \eta} (\hat{\eta}, \hat{\beta}) & \frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta^2} (\hat{\eta}, \hat{\beta}) \end{pmatrix} $$
To simplify the notation for hessian matrix, we denote:

$$
\begin{align*}
\frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \eta^2}(\hat{\eta}) &= -\frac{n^{1+2/\beta} \beta(\beta-1)}{t_{\max}^2} + \frac{\beta n^{1+\beta/2}}{t_{\max}^2} \\
\frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \eta^2}(\hat{\eta}, \hat{\beta}) &= \frac{n^{1+2/\hat{\beta}}(2\hat{\beta} - \hat{\beta}^2)}{t_{\max}^2} \\
&= \frac{n^{1+2/\hat{\beta}}(2\hat{\beta} - \hat{\beta}^2)}{t_{\max}^2} \\
&= \frac{n^{1+2/\hat{\beta}}}{t_{\max}} \left( \frac{2}{\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i)} - \frac{1}{(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i))^2} \right) \\
&= \frac{n^{1+2/\hat{\beta}}}{t_{\max}} \left( \frac{2(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i)) - 1}{(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i))^2} \right) \\
&= \frac{n^{1+2(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i))}}{t_{\max}} \left( \frac{2(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i)) - 1}{(\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i))^2} \right) \\
\frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta^2}(\hat{\eta}, \hat{\beta}) &= -\left(n \ln^2(n^{1/\hat{\beta}}) + \frac{n}{\hat{\beta}^2}\right) \\
&= -\left(\frac{n}{\hat{\beta}^2} \ln(n) + \frac{n}{\hat{\beta}^2}\right) \\
&= -\left(\frac{n}{\hat{\beta}^2} (\ln(n) + 1)\right) \\
&= \frac{-n(\ln(n) + 1)}{\left(\frac{1}{\ln(t_{\max}) - \frac{1}{n} \sum_{i=1}^n \ln(t_i)}\right)^2} \\
\frac{\partial^2 \mathcal{L} \mathcal{L}}{\partial \beta \partial \eta}(\hat{\eta}) &= \beta n(\ln(t_{\max}) - \ln(\hat{\eta})) \\
&= \beta n \left(\frac{1}{\beta} \ln(n)\right) \\
&= n \ln(n)
\end{align*}
$$

Now we can write the determinant of the Hessian matrix:

$$
\det(H) = \frac{-n^{1+2(\ln(t_{\max}) - \frac{1}{n}\sum_{i=1}^{n} \ln(t_i))}}{t_{\max}} \left( \frac{(2(\ln(t_{\max}) - \frac{1}{n}\sum_{i=1}^{n} \ln(t_i)) - 1)(\ln(n) + 1)}{(\ln(t_{\max}) - \frac{1}{n}\sum_{i=1}^{n} \ln(t_i))^2} \right) - n^2 \ln^2(n)
$$

At this point, we can see that the Hessian matrix is negative definite. We can conclude that the log-likelihood function has a maximum at the point $(\hat{\eta}, \hat{\beta})$.
## Automation pipeline

In this section, we describe the automation pipeline we developed to process the OAR PostgreSQL dumps. The objective of this pipeline is to start from a folder containing a set of OAR archives and produce a unified database adapted to our needs.

In our case, we processed data from two OAR clusters: Luke (January 2014 to May 2024) and Dahu (January 2018 to November 2024).

**Hardware and software specifications** The processing was carried out on the Luke cluster, using a dedicated hardware configuration:

* 72 CPU cores

* 512 GB of RAM

* High-performance distributed file system

This configuration was chosen primarily for the large amount of RAM available. To efficiently handle the volume of data, we configured PostgreSQL storage to run in RAM, thereby accelerating I/O operations. This decision was crucial to ensure that the overall processing time remained reasonable given the size of the dataset.

For the programming part, we relied on Julia for data processing and Shell scripts for orchestration.

## Pipeline presentation

The overall architecture of the pipeline is shown in Figure 1. The pipeline is divided into several stages, each responsible for a specific part of the processing.

<figure><img src="image_6.png" /><figcaption>Figure 1: Global architecture of the OAR processing pipeline</figcaption></figure>

1. **Initialization of PostgreSQL**: The first stage sets up a PostgreSQL database in RAM to ensure fast I/O operations. This requires configuring database parameters to optimize performance for the workload.

2. **Creation of the database schema**: In this stage, we designed a schema adapted to our needs. This involved defining tables, relationships, and constraints.

3. **Dump from the current OAR instance**: Here, we extract reference data from the active OAR instance to populate the new database.

* **hosts**: stores host identifiers for each cluster.

* **resources**: stores available resources for each host (CPU, GPU, memory per core, etc.).

* **users**: stores information about users who submitted jobs, including their IDs. User metadata can be added during the dump process.

* **campaign** and **campaign_properties**: store campaigns and their properties, directly imported from the Cigri instance.

4. **Loading the OAR dump**: The OAR dump is loaded into PostgreSQL. We additionally create two materialized views to improve query efficiency.

5. **PostgreSQL optimization**: Database parameters are tuned to improve query performance and resource utilization. At this stage, all constraints are temporarily disabled.
6. **CSV creation:** We generate intermediate CSV files that serve as inputs to the new database.

* First, we create the set of tasks.<fnref n="1" />

* Second, we import the resource states from the OAR database.

* Third, we verify for each task whether its first submission was initiated by Cigri, to determine the job type (best-effort or high-priority).

* Finally, we export CSVs from the task records, including campaign IDs (set to `NULL` for high-priority jobs); materialized views are then queried to retrieve job details.

7. **Copying CSV files:** The generated CSV files are copied into the PostgreSQL database using the `COPY` command, which significantly accelerates data insertion compared to individual inserts.

8. **Resource allocation:** Jobs are then assigned to their corresponding resources based on the stored metadata.

9. **Constraints re-enablement:** Finally, all constraints disabled during optimization are re-enabled to ensure data integrity.

<footnote n="1">¹For each job we extract `job_id`; if a job has a `resubmit_id` we add it to the task metadata while `resubmit_id` is not null.</footnote>
Table of performance metrics

<table><thead><tr><th>η<sub>true</sub></th><th>β<sub>true</sub></th><th>n<sub>events</sub></th><th>mean<sub>η</sub></th><th>bias<sub>η</sub></th><th>sd<sub>η</sub></th><th>mse<sub>η</sub></th><th>mean<sub>β</sub></th><th>bias<sub>β</sub></th><th>sd<sub>β</sub></th><th>mse<sub>β</sub></th><th>mean<sub>KL<sub>p</sub></sub></th></tr></thead><tbody><tr><td>1.0</td><td>0.5</td><td>10</td><td>3.54</td><td>2.54</td><td>5.33</td><td>34.82</td><td>0.63</td><td>0.13</td><td>0.25</td><td>0.08</td><td>6.12</td></tr><tr><td>1.0</td><td>0.5</td><td>20</td><td>2.87</td><td>1.87</td><td>4.29</td><td>21.92</td><td>0.55</td><td>0.05</td><td>0.14</td><td>0.02</td><td>4.19</td></tr><tr><td>1.0</td><td>0.5</td><td>100</td><td>1.6</td><td>0.6</td><td>1.75</td><td>3.43</td><td>0.51</td><td>0.01</td><td>0.05</td><td>0.0</td><td>1.37</td></tr><tr><td>1.0</td><td>0.5</td><td>300</td><td>1.28</td><td>0.28</td><td>0.92</td><td>0.93</td><td>0.5</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.53</td></tr><tr><td>1.0</td><td>0.5</td><td>500</td><td>1.14</td><td>0.14</td><td>0.69</td><td>0.5</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.32</td></tr><tr><td>1.0</td><td>0.5</td><td>1000</td><td>1.13</td><td>0.13</td><td>0.51</td><td>0.28</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.14</td></tr><tr><td>1.5</td><td>0.5</td><td>10</td><td>5.3</td><td>3.8</td><td>8.6</td><td>88.37</td><td>0.63</td><td>0.13</td><td>0.24</td><td>0.07</td><td>6.15</td></tr><tr><td>1.5</td><td>0.5</td><td>20</td><td>4.25</td><td>2.75</td><td>5.92</td><td>42.63</td><td>0.56</td><td>0.06</td><td>0.13</td><td>0.02</td><td>4.23</td></tr><tr><td>1.5</td><td>0.5</td><td>100</td><td>2.39</td><td>0.89</td><td>2.59</td><td>7.52</td><td>0.51</td><td>0.01</td><td>0.05</td><td>0.0</td><td>1.37</td></tr><tr><td>1.5</td><td>0.5</td><td>300</td><td>1.95</td><td>0.45</td><td>1.44</td><td>2.28</td><td>0.5</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.53</td></tr><tr><td>1.5</td><td>0.5</td><td>500</td><td>1.7</td><td>0.2</td><td>1.05</td><td>1.15</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.3</td></tr><tr><td>1.5</td><td>0.5</td><td>1000</td><td>1.68</td><td>0.18</td><td>0.78</td><td>0.64</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.13</td></tr><tr><td>2.0</td><td>0.5</td><td>10</td><td>7.07</td><td>5.07</td><td>12.24</td><td>175.42</td><td>0.62</td><td>0.12</td><td>0.23</td><td>0.06</td><td>6.08</td></tr><tr><td>2.0</td><td>0.5</td><td>20</td><td>5.91</td><td>3.91</td><td>8.45</td><td>86.69</td><td>0.56</td><td>0.06</td><td>0.13</td><td>0.02</td><td>4.21</td></tr><tr><td>2.0</td><td>0.5</td><td>100</td><td>3.35</td><td>1.35</td><td>3.29</td><td>12.62</td><td>0.51</td><td>0.01</td><td>0.05</td><td>0.0</td><td>1.35</td></tr><tr><td>2.0</td><td>0.5</td><td>300</td><td>2.52</td><td>0.52</td><td>1.75</td><td>3.32</td><td>0.5</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.54</td></tr><tr><td>2.0</td><td>0.5</td><td>500</td><td>2.44</td><td>0.44</td><td>1.49</td><td>2.4</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.31</td></tr><tr><td>2.0</td><td>0.5</td><td>1000</td><td>2.24</td><td>0.24</td><td>1.05</td><td>1.17</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.14</td></tr><tr><td>2.5</td><td>0.5</td><td>10</td><td>8.85</td><td>6.35</td><td>15.87</td><td>291.85</td><td>0.62</td><td>0.12</td><td>0.25</td><td>0.08</td><td>6.02</td></tr><tr><td>2.5</td><td>0.5</td><td>20</td><td>7.35</td><td>4.85</td><td>13.04</td><td>193.49</td><td>0.56</td><td>0.06</td><td>0.13</td><td>0.02</td><td>4.21</td></tr><tr><td>2.5</td><td>0.5</td><td>100</td><td>4.04</td><td>1.54</td><td>4.14</td><td>19.51</td><td>0.51</td><td>0.01</td><td>0.05</td><td>0.0</td><td>1.34</td></tr><tr><td>2.5</td><td>0.5</td><td>300</td><td>3.23</td><td>0.73</td><td>2.45</td><td>6.55</td><td>0.5</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.53</td></tr><tr><td>2.5</td><td>0.5</td><td>500</td><td>2.94</td><td>0.44</td><td>1.73</td><td>3.17</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.31</td></tr><tr><td>2.5</td><td>0.5</td><td>1000</td><td>2.74</td><td>0.24</td><td>1.24</td><td>1.59</td><td>0.5</td><td>0.0</td><td>0.02</td><td>0.0</td><td>0.14</td></tr></tbody></table>

<table><thead><tr><th>η<sub>true</sub></th><th>β<sub>true</sub></th><th>n<sub>events</sub></th><th>mean<sub>η</sub></th><th>bias<sub>η</sub></th><th>sd<sub>η</sub></th><th>mse<sub>η</sub></th><th>mean<sub>β</sub></th><th>bias<sub>β</sub></th><th>sd<sub>β</sub></th><th>mse<sub>β</sub></th><th>mean<sub>KL<sub>p</sub></sub></th></tr></thead><tbody><tr><td>1.0</td><td>1.0</td><td>10</td><td>1.58</td><td>0.58</td><td>1.13</td><td>1.62</td><td>1.26</td><td>0.26</td><td>0.49</td><td>0.31</td><td>6.25</td></tr><tr><td>1.0</td><td>1.0</td><td>20</td><td>1.35</td><td>0.35</td><td>0.95</td><td>1.02</td><td>1.1</td><td>0.1</td><td>0.28</td><td>0.08</td><td>4.29</td></tr><tr><td>1.0</td><td>1.0</td><td>100</td><td>1.14</td><td>0.14</td><td>0.55</td><td>0.32</td><td>1.02</td><td>0.02</td><td>0.1</td><td>0.01</td><td>1.39</td></tr><tr><td>1.0</td><td>1.0</td><td>300</td><td>1.07</td><td>0.07</td><td>0.36</td><td>0.13</td><td>1.01</td><td>0.01</td><td>0.06</td><td>0.0</td><td>0.53</td></tr><tr><td>1.0</td><td>1.0</td><td>500</td><td>1.06</td><td>0.06</td><td>0.31</td><td>0.1</td><td>1.01</td><td>0.01</td><td>0.05</td><td>0.0</td><td>0.3</td></tr><tr><td>1.0</td><td>1.0</td><td>1000</td><td>1.04</td><td>0.04</td><td>0.24</td><td>0.06</td><td>1.0</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.13</td></tr><tr><td>1.5</td><td>1.0</td><td>10</td><td>2.37</td><td>0.87</td><td>1.65</td><td>3.47</td><td>1.27</td><td>0.27</td><td>0.48</td><td>0.3</td><td>6.1</td></tr><tr><td>1.5</td><td>1.0</td><td>20</td><td>2.17</td><td>0.67</td><td>1.42</td><td>2.45</td><td>1.13</td><td>0.13</td><td>0.27</td><td>0.09</td><td>4.19</td></tr><tr><td>1.5</td><td>1.0</td><td>100</td><td>1.76</td><td>0.26</td><td>0.85</td><td>0.79</td><td>1.02</td><td>0.02</td><td>0.11</td><td>0.01</td><td>1.34</td></tr><tr><td>1.5</td><td>1.0</td><td>300</td><td>1.61</td><td>0.11</td><td>0.54</td><td>0.3</td><td>1.01</td><td>0.01</td><td>0.06</td><td>0.0</td><td>0.53</td></tr><tr><td>1.5</td><td>1.0</td><td>500</td><td>1.59</td><td>0.09</td><td>0.44</td><td>0.2</td><td>1.01</td><td>0.01</td><td>0.04</td><td>0.0</td><td>0.31</td></tr><tr><td>1.5</td><td>1.0</td><td>1000</td><td>1.54</td><td>0.04</td><td>0.34</td><td>0.12</td><td>1.0</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.14</td></tr><tr><td>2.0</td><td>1.0</td><td>10</td><td>3.1</td><td>1.1</td><td>2.21</td><td>6.08</td><td>1.25</td><td>0.25</td><td>0.49</td><td>0.3</td><td>6.23</td></tr><tr><td>2.0</td><td>1.0</td><td>20</td><td>2.85</td><td>0.85</td><td>1.95</td><td>4.53</td><td>1.12</td><td>0.12</td><td>0.28</td><td>0.1</td><td>4.23</td></tr><tr><td>2.0</td><td>1.0</td><td>100</td><td>2.32</td><td>0.32</td><td>1.13</td><td>1.37</td><td>1.02</td><td>0.02</td><td>0.1</td><td>0.01</td><td>1.36</td></tr><tr><td>2.0</td><td>1.0</td><td>300</td><td>2.15</td><td>0.15</td><td>0.7</td><td>0.52</td><td>1.01</td><td>0.01</td><td>0.06</td><td>0.0</td><td>0.53</td></tr><tr><td>2.0</td><td>1.0</td><td>500</td><td>2.09</td><td>0.09</td><td>0.58</td><td>0.34</td><td>1.0</td><td>0.0</td><td>0.04</td><td>0.0</td><td>0.31</td></tr><tr><td>2.0</td><td>1.0</td><td>1000</td><td>2.07</td><td>0.07</td><td>0.47</td><td>0.22</td><td>1.0</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.14</td></tr><tr><td>2.5</td><td>1.0</td><td>10</td><td>3.88</td><td>1.38</td><td>3.03</td><td>11.06</td><td>1.23</td><td>0.23</td><td>0.47</td><td>0.27</td><td>6.22</td></tr><tr><td>2.5</td><td>1.0</td><td>20</td><td>3.63</td><td>1.13</td><td>2.52</td><td>7.6</td><td>1.11</td><td>0.11</td><td>0.27</td><td>0.09</td><td>4.24</td></tr><tr><td>2.5</td><td>1.0</td><td>100</td><td>2.83</td><td>0.33</td><td>1.35</td><td>1.94</td><td>1.02</td><td>0.02</td><td>0.1</td><td>0.01</td><td>1.33</td></tr><tr><td>2.5</td><td>1.0</td><td>300</td><td>2.73</td><td>0.23</td><td>0.93</td><td>0.92</td><td>1.01</td><td>0.01</td><td>0.06</td><td>0.0</td><td>0.53</td></tr><tr><td>2.5</td><td>1.0</td><td>500</td><td>2.63</td><td>0.13</td><td>0.73</td><td>0.55</td><td>1.0</td><td>0.0</td><td>0.04</td><td>0.0</td><td>0.31</td></tr><tr><td>2.5</td><td>1.0</td><td>1000</td><td>2.62</td><td>0.12</td><td>0.6</td><td>0.37</td><td>1.0</td><td>0.0</td><td>0.03</td><td>0.0</td><td>0.14</td></tr></tbody></table>
<table><thead><tr><th>η<sub>true</sub></th><th>β<sub>true</sub></th><th>n<sub>events</sub></th><th>mean<sub>η</sub></th><th>bias<sub>η</sub></th><th>sd<sub>η</sub></th><th>mse<sub>η</sub></th><th>mean<sub>β</sub></th><th>bias<sub>β</sub></th><th>sd<sub>β</sub></th><th>mse<sub>β</sub></th><th>mean<sub>KL<sub>p</sub></sub></th></tr></thead><tbody><tr><td>1.0</td><td>1.5</td><td>10</td><td>1.29</td><td>0.29</td><td>0.62</td><td>0.46</td><td>1.91</td><td>0.41</td><td>0.82</td><td>0.83</td><td>6.04</td></tr><tr><td>1.0</td><td>1.5</td><td>20</td><td>1.19</td><td>0.19</td><td>0.52</td><td>0.31</td><td>1.66</td><td>0.16</td><td>0.41</td><td>0.2</td><td>4.23</td></tr><tr><td>1.0</td><td>1.5</td><td>100</td><td>1.09</td><td>0.09</td><td>0.33</td><td>0.12</td><td>1.54</td><td>0.04</td><td>0.15</td><td>0.02</td><td>1.36</td></tr><tr><td>1.0</td><td>1.5</td><td>300</td><td>1.04</td><td>0.04</td><td>0.23</td><td>0.05</td><td>1.51</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.53</td></tr><tr><td>1.0</td><td>1.5</td><td>500</td><td>1.02</td><td>0.02</td><td>0.19</td><td>0.04</td><td>1.51</td><td>0.01</td><td>0.07</td><td>0.0</td><td>0.31</td></tr><tr><td>1.0</td><td>1.5</td><td>1000</td><td>1.01</td><td>0.01</td><td>0.14</td><td>0.02</td><td>1.5</td><td>0.0</td><td>0.05</td><td>0.0</td><td>0.14</td></tr><tr><td>1.5</td><td>1.5</td><td>10</td><td>1.89</td><td>0.39</td><td>0.9</td><td>0.97</td><td>1.86</td><td>0.36</td><td>0.7</td><td>0.62</td><td>6.09</td></tr><tr><td>1.5</td><td>1.5</td><td>20</td><td>1.85</td><td>0.35</td><td>0.85</td><td>0.83</td><td>1.69</td><td>0.19</td><td>0.44</td><td>0.23</td><td>4.19</td></tr><tr><td>1.5</td><td>1.5</td><td>100</td><td>1.63</td><td>0.13</td><td>0.5</td><td>0.27</td><td>1.54</td><td>0.04</td><td>0.15</td><td>0.02</td><td>1.34</td></tr><tr><td>1.5</td><td>1.5</td><td>300</td><td>1.54</td><td>0.04</td><td>0.35</td><td>0.13</td><td>1.51</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.53</td></tr><tr><td>1.5</td><td>1.5</td><td>500</td><td>1.55</td><td>0.05</td><td>0.29</td><td>0.09</td><td>1.51</td><td>0.01</td><td>0.07</td><td>0.0</td><td>0.31</td></tr><tr><td>1.5</td><td>1.5</td><td>1000</td><td>1.51</td><td>0.01</td><td>0.23</td><td>0.05</td><td>1.5</td><td>0.0</td><td>0.05</td><td>0.0</td><td>0.14</td></tr><tr><td>2.0</td><td>1.5</td><td>10</td><td>2.48</td><td>0.48</td><td>1.19</td><td>1.64</td><td>1.86</td><td>0.36</td><td>0.68</td><td>0.58</td><td>6.02</td></tr><tr><td>2.0</td><td>1.5</td><td>20</td><td>2.46</td><td>0.46</td><td>1.05</td><td>1.32</td><td>1.69</td><td>0.19</td><td>0.41</td><td>0.21</td><td>4.22</td></tr><tr><td>2.0</td><td>1.5</td><td>100</td><td>2.15</td><td>0.15</td><td>0.67</td><td>0.47</td><td>1.53</td><td>0.03</td><td>0.16</td><td>0.03</td><td>1.36</td></tr><tr><td>2.0</td><td>1.5</td><td>300</td><td>2.08</td><td>0.08</td><td>0.45</td><td>0.21</td><td>1.51</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.54</td></tr><tr><td>2.0</td><td>1.5</td><td>500</td><td>2.04</td><td>0.04</td><td>0.38</td><td>0.14</td><td>1.5</td><td>0.0</td><td>0.07</td><td>0.0</td><td>0.31</td></tr><tr><td>2.0</td><td>1.5</td><td>1000</td><td>2.03</td><td>0.03</td><td>0.3</td><td>0.09</td><td>1.5</td><td>0.0</td><td>0.05</td><td>0.0</td><td>0.14</td></tr><tr><td>2.5</td><td>1.5</td><td>10</td><td>3.15</td><td>0.65</td><td>1.54</td><td>2.8</td><td>1.87</td><td>0.37</td><td>0.69</td><td>0.61</td><td>6.12</td></tr><tr><td>2.5</td><td>1.5</td><td>20</td><td>2.95</td><td>0.45</td><td>1.34</td><td>1.99</td><td>1.65</td><td>0.15</td><td>0.41</td><td>0.19</td><td>4.21</td></tr><tr><td>2.5</td><td>1.5</td><td>100</td><td>2.71</td><td>0.21</td><td>0.87</td><td>0.8</td><td>1.53</td><td>0.03</td><td>0.16</td><td>0.03</td><td>1.35</td></tr><tr><td>2.5</td><td>1.5</td><td>300</td><td>2.62</td><td>0.12</td><td>0.59</td><td>0.36</td><td>1.51</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.53</td></tr><tr><td>2.5</td><td>1.5</td><td>500</td><td>2.56</td><td>0.06</td><td>0.48</td><td>0.24</td><td>1.51</td><td>0.01</td><td>0.07</td><td>0.0</td><td>0.31</td></tr><tr><td>2.5</td><td>1.5</td><td>1000</td><td>2.52</td><td>0.02</td><td>0.37</td><td>0.13</td><td>1.5</td><td>0.0</td><td>0.05</td><td>0.0</td><td>0.14</td></tr></tbody></table>

<table><thead><tr><th>η<sub>true</sub></th><th>β<sub>true</sub></th><th>n<sub>events</sub></th><th>mean<sub>η</sub></th><th>bias<sub>η</sub></th><th>sd<sub>η</sub></th><th>mse<sub>η</sub></th><th>mean<sub>β</sub></th><th>bias<sub>β</sub></th><th>sd<sub>β</sub></th><th>mse<sub>β</sub></th><th>mean<sub>KL<sub>p</sub></sub></th></tr></thead><tbody><tr><td>1.0</td><td>2.0</td><td>10</td><td>1.15</td><td>0.15</td><td>0.41</td><td>0.19</td><td>2.45</td><td>0.45</td><td>0.9</td><td>1.02</td><td>6.13</td></tr><tr><td>1.0</td><td>2.0</td><td>20</td><td>1.15</td><td>0.15</td><td>0.38</td><td>0.17</td><td>2.26</td><td>0.26</td><td>0.56</td><td>0.38</td><td>4.24</td></tr><tr><td>1.0</td><td>2.0</td><td>100</td><td>1.05</td><td>0.05</td><td>0.24</td><td>0.06</td><td>2.05</td><td>0.05</td><td>0.2</td><td>0.04</td><td>1.36</td></tr><tr><td>1.0</td><td>2.0</td><td>300</td><td>1.02</td><td>0.02</td><td>0.17</td><td>0.03</td><td>2.01</td><td>0.01</td><td>0.12</td><td>0.01</td><td>0.53</td></tr><tr><td>1.0</td><td>2.0</td><td>500</td><td>1.03</td><td>0.03</td><td>0.15</td><td>0.02</td><td>2.01</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.31</td></tr><tr><td>1.0</td><td>2.0</td><td>1000</td><td>1.01</td><td>0.01</td><td>0.11</td><td>0.01</td><td>2.0</td><td>0.0</td><td>0.06</td><td>0.0</td><td>0.14</td></tr><tr><td>1.5</td><td>2.0</td><td>10</td><td>1.78</td><td>0.28</td><td>0.64</td><td>0.48</td><td>2.55</td><td>0.55</td><td>0.97</td><td>1.24</td><td>6.07</td></tr><tr><td>1.5</td><td>2.0</td><td>20</td><td>1.69</td><td>0.19</td><td>0.56</td><td>0.35</td><td>2.22</td><td>0.22</td><td>0.53</td><td>0.33</td><td>4.29</td></tr><tr><td>1.5</td><td>2.0</td><td>100</td><td>1.56</td><td>0.06</td><td>0.36</td><td>0.13</td><td>2.03</td><td>0.03</td><td>0.2</td><td>0.04</td><td>1.35</td></tr><tr><td>1.5</td><td>2.0</td><td>300</td><td>1.53</td><td>0.03</td><td>0.26</td><td>0.07</td><td>2.01</td><td>0.01</td><td>0.12</td><td>0.01</td><td>0.53</td></tr><tr><td>1.5</td><td>2.0</td><td>500</td><td>1.53</td><td>0.03</td><td>0.22</td><td>0.05</td><td>2.01</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.31</td></tr><tr><td>1.5</td><td>2.0</td><td>1000</td><td>1.51</td><td>0.01</td><td>0.16</td><td>0.03</td><td>2.0</td><td>0.0</td><td>0.06</td><td>0.0</td><td>0.14</td></tr><tr><td>2.0</td><td>2.0</td><td>10</td><td>2.31</td><td>0.31</td><td>0.85</td><td>0.82</td><td>2.47</td><td>0.47</td><td>1.0</td><td>1.22</td><td>6.1</td></tr><tr><td>2.0</td><td>2.0</td><td>20</td><td>2.31</td><td>0.31</td><td>0.77</td><td>0.69</td><td>2.26</td><td>0.26</td><td>0.56</td><td>0.39</td><td>4.28</td></tr><tr><td>2.0</td><td>2.0</td><td>100</td><td>2.09</td><td>0.09</td><td>0.49</td><td>0.24</td><td>2.04</td><td>0.04</td><td>0.21</td><td>0.04</td><td>1.37</td></tr><tr><td>2.0</td><td>2.0</td><td>300</td><td>2.04</td><td>0.04</td><td>0.33</td><td>0.11</td><td>2.01</td><td>0.01</td><td>0.11</td><td>0.01</td><td>0.53</td></tr><tr><td>2.0</td><td>2.0</td><td>500</td><td>2.03</td><td>0.03</td><td>0.3</td><td>0.09</td><td>2.01</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.31</td></tr><tr><td>2.0</td><td>2.0</td><td>1000</td><td>2.01</td><td>0.01</td><td>0.22</td><td>0.05</td><td>2.0</td><td>0.0</td><td>0.06</td><td>0.0</td><td>0.14</td></tr><tr><td>2.5</td><td>2.0</td><td>10</td><td>2.99</td><td>0.49</td><td>1.04</td><td>1.32</td><td>2.56</td><td>0.56</td><td>0.96</td><td>1.25</td><td>6.01</td></tr><tr><td>2.5</td><td>2.0</td><td>20</td><td>2.83</td><td>0.33</td><td>0.93</td><td>0.97</td><td>2.22</td><td>0.22</td><td>0.53</td><td>0.33</td><td>4.23</td></tr><tr><td>2.5</td><td>2.0</td><td>100</td><td>2.64</td><td>0.14</td><td>0.61</td><td>0.39</td><td>2.05</td><td>0.05</td><td>0.21</td><td>0.04</td><td>1.35</td></tr><tr><td>2.5</td><td>2.0</td><td>300</td><td>2.55</td><td>0.05</td><td>0.42</td><td>0.18</td><td>2.01</td><td>0.01</td><td>0.12</td><td>0.01</td><td>0.53</td></tr><tr><td>2.5</td><td>2.0</td><td>500</td><td>2.55</td><td>0.05</td><td>0.36</td><td>0.13</td><td>2.01</td><td>0.01</td><td>0.09</td><td>0.01</td><td>0.31</td></tr><tr><td>2.5</td><td>2.0</td><td>1000</td><td>2.51</td><td>0.01</td><td>0.27</td><td>0.07</td><td>2.0</td><td>0.0</td><td>0.06</td><td>0.0</td><td>0.14</td></tr></tbody></table>
<table><thead><tr><th>η<sub>true</sub></th><th>β<sub>true</sub></th><th>n<sub>events</sub></th><th>mean<sub>η</sub></th><th>bias<sub>η</sub></th><th>sd<sub>η</sub></th><th>mse<sub>η</sub></th><th>mean<sub>β</sub></th><th>bias<sub>β</sub></th><th>sd<sub>β</sub></th><th>mse<sub>β</sub></th><th>mean<sub>KL<sub>p</sub></sub></th></tr></thead><tbody><tr><td>1.0</td><td>2.5</td><td>10</td><td>1.12</td><td>0.12</td><td>0.34</td><td>0.13</td><td>3.1</td><td>0.6</td><td>1.15</td><td>1.69</td><td>6.15</td></tr><tr><td>1.0</td><td>2.5</td><td>20</td><td>1.09</td><td>0.09</td><td>0.29</td><td>0.09</td><td>2.76</td><td>0.26</td><td>0.67</td><td>0.51</td><td>4.21</td></tr><tr><td>1.0</td><td>2.5</td><td>100</td><td>1.04</td><td>0.04</td><td>0.19</td><td>0.04</td><td>2.55</td><td>0.05</td><td>0.26</td><td>0.07</td><td>1.37</td></tr><tr><td>1.0</td><td>2.5</td><td>300</td><td>1.02</td><td>0.02</td><td>0.14</td><td>0.02</td><td>2.52</td><td>0.02</td><td>0.15</td><td>0.02</td><td>0.53</td></tr><tr><td>1.0</td><td>2.5</td><td>500</td><td>1.01</td><td>0.01</td><td>0.11</td><td>0.01</td><td>2.51</td><td>0.01</td><td>0.11</td><td>0.01</td><td>0.31</td></tr><tr><td>1.0</td><td>2.5</td><td>1000</td><td>1.0</td><td>0.0</td><td>0.09</td><td>0.01</td><td>2.5</td><td>0.0</td><td>0.08</td><td>0.01</td><td>0.14</td></tr><tr><td>1.5</td><td>2.5</td><td>10</td><td>1.69</td><td>0.19</td><td>0.48</td><td>0.27</td><td>3.15</td><td>0.65</td><td>1.2</td><td>1.85</td><td>6.08</td></tr><tr><td>1.5</td><td>2.5</td><td>20</td><td>1.62</td><td>0.12</td><td>0.42</td><td>0.19</td><td>2.77</td><td>0.27</td><td>0.66</td><td>0.51</td><td>4.17</td></tr><tr><td>1.5</td><td>2.5</td><td>100</td><td>1.55</td><td>0.05</td><td>0.28</td><td>0.08</td><td>2.55</td><td>0.05</td><td>0.26</td><td>0.07</td><td>1.35</td></tr><tr><td>1.5</td><td>2.5</td><td>300</td><td>1.52</td><td>0.02</td><td>0.2</td><td>0.04</td><td>2.52</td><td>0.02</td><td>0.14</td><td>0.02</td><td>0.52</td></tr><tr><td>1.5</td><td>2.5</td><td>500</td><td>1.51</td><td>0.01</td><td>0.17</td><td>0.03</td><td>2.51</td><td>0.01</td><td>0.11</td><td>0.01</td><td>0.31</td></tr><tr><td>1.5</td><td>2.5</td><td>1000</td><td>1.52</td><td>0.02</td><td>0.13</td><td>0.02</td><td>2.51</td><td>0.01</td><td>0.08</td><td>0.01</td><td>0.14</td></tr><tr><td>2.0</td><td>2.5</td><td>10</td><td>2.29</td><td>0.29</td><td>0.68</td><td>0.55</td><td>3.2</td><td>0.7</td><td>1.24</td><td>2.02</td><td>6.19</td></tr><tr><td>2.0</td><td>2.5</td><td>20</td><td>2.16</td><td>0.16</td><td>0.6</td><td>0.38</td><td>2.76</td><td>0.26</td><td>0.7</td><td>0.56</td><td>4.2</td></tr><tr><td>2.0</td><td>2.5</td><td>100</td><td>2.07</td><td>0.07</td><td>0.39</td><td>0.16</td><td>2.56</td><td>0.06</td><td>0.27</td><td>0.07</td><td>1.35</td></tr><tr><td>2.0</td><td>2.5</td><td>300</td><td>2.03</td><td>0.03</td><td>0.27</td><td>0.08</td><td>2.52</td><td>0.02</td><td>0.15</td><td>0.02</td><td>0.53</td></tr><tr><td>2.0</td><td>2.5</td><td>500</td><td>2.03</td><td>0.03</td><td>0.23</td><td>0.05</td><td>2.51</td><td>0.01</td><td>0.11</td><td>0.01</td><td>0.31</td></tr><tr><td>2.0</td><td>2.5</td><td>1000</td><td>2.02</td><td>0.02</td><td>0.18</td><td>0.03</td><td>2.51</td><td>0.01</td><td>0.08</td><td>0.01</td><td>0.14</td></tr><tr><td>2.5</td><td>2.5</td><td>10</td><td>2.79</td><td>0.29</td><td>0.79</td><td>0.71</td><td>3.12</td><td>0.62</td><td>1.19</td><td>1.79</td><td>6.04</td></tr><tr><td>2.5</td><td>2.5</td><td>20</td><td>2.71</td><td>0.21</td><td>0.75</td><td>0.6</td><td>2.76</td><td>0.26</td><td>0.68</td><td>0.53</td><td>4.22</td></tr><tr><td>2.5</td><td>2.5</td><td>100</td><td>2.56</td><td>0.06</td><td>0.48</td><td>0.23</td><td>2.54</td><td>0.04</td><td>0.26</td><td>0.07</td><td>1.35</td></tr><tr><td>2.5</td><td>2.5</td><td>300</td><td>2.55</td><td>0.05</td><td>0.35</td><td>0.13</td><td>2.52</td><td>0.02</td><td>0.15</td><td>0.02</td><td>0.53</td></tr><tr><td>2.5</td><td>2.5</td><td>500</td><td>2.51</td><td>0.01</td><td>0.28</td><td>0.08</td><td>2.5</td><td>0.0</td><td>0.11</td><td>0.01</td><td>0.31</td></tr><tr><td>2.5</td><td>2.5</td><td>1000</td><td>2.52</td><td>0.02</td><td>0.23</td><td>0.05</td><td>2.51</td><td>0.01</td><td>0.08</td><td>0.01</td><td>0.14</td></tr></tbody></table>
<figure><img src="image_7.png" /><figcaption>Figure 2: OAR Database Schema</figcaption></figure>
<figure><img src="image_8.png" /><figcaption>Figure 3: Cigri Database Schema</figcaption></figure>
<figure><img src="image_9.png" /><figcaption>Figure 4: Schéma de la base de données construite</figcaption></figure>
<figure><img src="image_10.png" /><figcaption>Figure 5: Stability of the estimation</figcaption></figure>
<figure><img src="image_11.png" /><figcaption>Figure 6: Cumulative number of jobs submitted in October 2023</figcaption></figure>
<figure><img src="image_12.png" /><figcaption>Figure 7: Simulation of a marked Poisson process with non-homogeneous intensity function over real data</figcaption></figure>
<figure><img src="image_13.png" /><figcaption>Figure 8: Gantt chart for Dahu job scheduling</figcaption></figure>