In the previous post, we wrote about the utility of a Client vs. the Worker (CPU). Let us now take that one more step and see what the utility of these two participants be throughout the course of a given job.
Simple tertiary (-1,0,1) can be used to depict all the possibilities – a truth-table, but with three states.
|0||0||This state is a very special state — which we will get to later|
|0||1||This is a state we want to stay away from. What it says is that the work is submitted, but it has not been “delivered” to the CPU yet for processing. This state is caused by delay, and we will assume that we do not want it to exist.|
|0||-1||This state is valid and one of our primary states. Client has submitted a job, and the CPU is working on it.|
|1||0||Not a valid state|
|1||1||The final and most desired state – the finish line.|
|1||-1||Not a valid state|
|-1||0||Not a valid state|
|-1||1||This state basically starts the process. It says that the client has some work to be completed, and the CPU is idle.|
|-1||-1||Not a valid state|
What we need to do at this point to draw these states on a two-dimensional plane, depicting various states of the system.
We will cover the dash-line in a later posting, but what I wanted to focus on here is the area between the two solid-lines. The “perfect” scenario is when we move from (-1,1) –> (0,0) –> (1,1). This line represents the maximum utility that these two players can achieve during the game. The goal is to minimize the area between the two lines – this will move this system to an equilibrium point, better known as Nash’s Equilibrium.