2
$\begingroup$

I submitted a paper regarding hard real-time systems to an engineering journal. But the referees generally agreed my task model is too limited. My task model is a frame-based real-time application where all the tasks in the application have a common deadline D and are independent from each other. In the following Figure you can see a model of this application. enter image description here

The tasks T1 to T5 are independent from each other and have common deadline D.

"Independent" means that order of the tasks execution is flexible (is not important) or the tasks can be executed concurrently.

There are related works that have considered this type of real-time application, but none of these works include any real-world examples. The referees said that to convince the readers I must provide some real-world examples of this kind of application.

Does anybody know a real-world example for this kind of real-time application?

$\endgroup$
  • $\begingroup$ OK. I encourage you to edit the question to include this information in the question. Some background about expectation on this site: Comments exist only to help you improve the question, and can disappear. The question should stand on its own: someone who reads the question should be able to understand it, without reading the comments. $\endgroup$ – D.W. Oct 11 '14 at 19:00
  • $\begingroup$ Your related papers must have some motivation examples/scenarios for why this problem is important to tackle. Also, I think in such problems you usually try to optimize something. $\endgroup$ – seteropere Oct 11 '14 at 21:17
  • $\begingroup$ How about a server for a multiplayer game. Each T represents a task to update the game state for a different client. The deadline represents the update rate that the game hopes to achieve. So for example if the game wants to run at 5 updates per second, the deadline per update is 200 ms. $\endgroup$ – JS1 Nov 13 '14 at 6:57
  • $\begingroup$ What is the larger picture here? Developing algorithms on such systems? Scheduling the tasks? Proving hard guarantees under certain assumptions? $\endgroup$ – Raphael Nov 13 '14 at 7:15
1
$\begingroup$

Example 1: Playing a multimedia stream where Task 1 must decompress an audio "frame" while Task 2 must decompress a video frame by the same deadline: the playback time for a given video frame.

This is a little unrealistic though because in practice there's a demux task that task 1 and 2 both depend on, and usually the audio and video playback frames have different repeating deadline frequencies.

Example 2: A robot might run all its control loops with the same frequency for simplicity. The control loops all depend on receiving a new set of sensor input values, then they all run, and they all send outputs to the actuators. E.g. Task 1 controls the motor for the left side of the tank drive, Task 2 controls the motor for the right side of the tank drive, while Task 3 controls the robot arm. It just simplifies things a bit to give all the control loops the same deadline unless there are interdependencies such as needing to mux the actuator control data into a single packet to send over a network to the actuators. In that case, a Mux task depends on all the control loop tasks.

$\endgroup$
  • $\begingroup$ Thanks a lot, can you give a reference for Example 2? $\endgroup$ – Code Oct 14 '14 at 8:24
  • $\begingroup$ I don't have a reference for Example 2, but you could search for that, e.g. scholar.google.com/… . With all the control loop tasks synchronized in this way, the main reason to put them in separate tasks is to use parallel hardware such as multiple CPU cores. Another reason is to make them more independent so that, e.g. you can upgrade one task (or process) without stopping the others. $\endgroup$ – Jerry101 Oct 14 '14 at 16:10
  • $\begingroup$ You have mentioned the same deadline? Do you mean that the deadline is common between tasks? I mean several tasks may have a common deadline? $\endgroup$ – Code Oct 17 '14 at 10:39
  • $\begingroup$ Yes. The only case of a common deadline that comes to mind is when yet another task depends on all of their results, such as multiplexing audio and video buffers into a mux stream, or sending control outputs from multiple control loops in a single network packet to send to the robot actuators. $\endgroup$ – Jerry101 Oct 17 '14 at 21:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.