In: Computer Science
Provide an example of a real-time application and, to the best of your knowledge, discuss its following aspects:
What would be the involved periodic tasks? What would be their release time (or release-time jitter)?
What would be the aperiodic tasks in the application? What would be their release time, i.e., events that would trigger the aperiodic tasks?
What would be the sporadic tasks in the application?
What would be their release time, i.e., events that would trigger the aperiodic tasks?
The Real-time application I am considering for this question is
“Online Gaming”.
In online gaming there can be many tasks and processes running in
the background to ensure proper gameplay and good user
experience.
Please note that these tasks / processes might be different for
different online games.
Periodic Tasks:
Periodic tasks are the ones which have regular arrival times and
hard deadlines.
Such tasks in an online gaming application can be the anti-cheat
system processes which have regular arrival times mostly every
10-20 minutes of user activity in game.
Their responsibility is to send a kind of ping to the official
server from the client to verify the connection integrity and user
data integrity. It has a hard deadline as if the signal is not sent
/ received within the given deadline it might trigger a cheat
flag.
Other examples of periodic
tasks for this application are:
The Ping Bar at the top that shows latency of the connection.
The interaction of user / menu settings.
User / Player health regeneration.
Etc..
Their release time would depend on the kind of task and it is
mostly in the range of 5-10 seconds of computation start.
Aperiodic Tasks:
The Aperiodic tasks are the ones which have irregular arrival times
and might have a soft / hard deadline.
The Aperiodic tasks for online gaming are:
Button-to-action tasks like shooting and player movement – release
time can be varying and mostly is until the user stops interaction
with the certain button or control that triggers that task.
Other User-initiated tasks or server initiated tasks like online
purchase of game currency. Release time is 10 seconds of inactivity
or no-response.
Their triggers can be other aperiodic tasks, user interaction tasks
or even periodic server-initiated tasks.
Sporadic Tasks:
Sporadic real-time tasks are the ones which are critical services
that can arrive at any time, hard deadlines and keep reoccurring in
the background for the proper functionality of application.
They are the load / read / render tasks that load up the scenes in
the game, that render the game on your screen and load the game
data from your storage to main memory. They can occur at any time
as it is up to the player to move to a new level or stay in the
same one for a long time, but when ever they progress to a new
scene the same task is called to load but with different
parameters.
Their release times can be 10 seconds or more depending on the GPU
and the system’s processing power.
They are triggered by user movement and user interaction tasks.