#1326 closed todo (done)

integrate Activity activation with Scheduler operation

Reported by: Ichthyostega Owned by: Ichthyostega
Priority: normal Milestone: 0integration
Component: lumieraVault Keywords: VerticalSlicePlayback render scheduler
Sub Tickets: #1279, #1319, #1344 Parent Tickets: #927, #1281, #1287, #1343

Description (last modified by Ichthyostega)

As a Lumiera developer,
I need an integration of the Activity-Language with the Scheduler,
to be able to enqueue and dispatch render jobs.

further low-level implementation and integration work

The execution of »scheduler Activities« has been implemented against an abstracted environment. A set of dispatch operations has been specified at a logical level, allowing to define what comprises a correct execution of an Activity-chain. Now this task must be carried on by implementing these dispatch operations in terms of scheduler invocation and worker thread management.

Acceptance Criteria

Given
  • a JobFunctor with suitable parameters (start time, deadline)
  • a properly configured Scheduler instance in operational state
When
an activity::Term representing the Job is built
And
the entrance point to this term is instructed into the Scheduler
Then
the JobFunctor will be invoked, observing the defined timing constraints

Change history (8)

comment:1 by Ichthyostega, at 2023-10-16T16:30:50Z

Description: modified (diff)
Owner: set to Ichthyostega
Status: newaccepted

After design and implementation of the WorkForce — which lead to a extended digression into library design, and a (#1279) re-assessment of thread support technology, the next step under the umbrella of the »Playback Vertical Slice« effort will be to follow up to the definition of »Render Activities« and the »Activity Language« (achieved with #1319) with the goal to establish the »Scheduler Service« as the actual implementation of »Render Activity« execution.

This ticket here addresses this integration work, and should lead to the demonstration of a running scheduler in a test setup.

  • the first step should be low-level functionality at Scheduler-Layer-1
  • the next step would be to provide the »Activity« execution at Scheduler-Layer-2
  • and finally both should be combined into an integration test of the Scheduler Service

comment:2 by Ichthyostega, at 2023-10-17T23:33:38Z

blocking: 1281, 12871281, 1287, 1343

comment:3 by Ichthyostega <prg@…>, at 2023-10-19T00:49:58Z

In 9ce3ad3/Lumiera:

Scheduler: Layer-2 complete and tested (see #1326)

  • the implementation logic of the Scheduler is essentially complete now
  • all functionality necessary for the worker-function has been demonstrated

As next step, the »Scheduler Service« can be assembled from the two
Implementation Layers, the Activity-Language and the BlockFlow allocator
This should then be verified by a multi-threaded integration test...

comment:4 by Ichthyostega, at 2023-10-19T19:11:40Z

blockedby: 1279, 13191279, 1319, 1344

comment:5 by Ichthyostega, at 2023-11-08T02:20:39Z

blocking: 1281, 1287, 1343927, 1281, 1287, 1343

comment:6 by Ichthyostega, at 2023-12-19T18:33:44Z

The »Scheduler Service« is complete and passes integration tests.
Processing of an extended load of interconnected jobs could be demonstrated.

The next goal is to conduct #1344 Performance- and Stress tests to weed out remaining issues and establish a baseline for the Scheduler's performance limits.

comment:7 by Ichthyostega, at 2024-04-20T00:17:05Z

Resolution: done
Status: acceptedclosed

Through an extended series of stress tests #1344, using a test setup #1346 specifically developed for this purpose, some confidence was established that the new Scheduler implementation performs as expected within reasonable limits.

In the final integration test, extended operation over a time span of more than one minute could be demonstrated at full load and without significant overhead.

comment:8 by Undercover Agent, at 2025-12-25T00:00:00Z

blockedby: 1279, 1319, 1344
blocking: 927, 1281, 1287, 1343
Parent Tickets: 927, 1281, 1287, 1343
Sub Tickets: 1279, 1319, 1344

Migration MasterTickets ⟼ Subtickets-plugin

Note: See TracTickets for help on using tickets.