An Abstracted Computer System Resource Model
(APR Tutorial)
1.0 The APR Computer System Resource Model
APR posits that computer system resources
decompose into 7 interchangeable components:
Resource | Instances |
R1 - I/O |
SSD; disk; tape systems; operators |
R2 - memory |
(main) memory; SSU |
R3 - compute |
CPUs; Attached Processors; PPUs; channels |
R4 - procedure |
program design and coding |
R5 - time |
wall time; patience |
R6 - money |
cash; IT hours |
R7 - policy |
operations scheduling |
2.0 Weaknesses of the model
Some readers will immediately question the apparent
weaknesses of the model.
APR asserts that these seeming weaknesses actually contribute
to the veracity and descriptive power of the model.
2.1 Resources are not partitioned.
What is the difference between a solid state disk, SSD (R1) and
a secondary storage unit, SSU (R2)? From a hardware viewpoint,
not much. The significant difference between an SSD and an SSU
is in your intended use - not the electronic reality.
2.2 Resources are not completely defined.
R2 is main memory. R3 is CPUs. What happened to the several
levels of cache and register files "between" R2 and R3? This
question has partially been answered by 2.1.
The spirit of intended use, "what is in your heart", is
more important than deriving an exacting taxonomy.
When working on some intensive kernels, I "down shift"
resources R1:2 so that
- R1 - (I/O) downshifts to main memory,
- R2 - (memory) downshifts to cache,
- R3 - (compute) remains registers and CPU.
For very special circumstances, the model might be further
"down shifted" so that a level 3 cache may be
considered as "I/O".
3.0 Elaboration of the Computer System Resources Model (CSRM)
3.1 Resources
The "physical" resources, R1:3 are reasonably intuitive.
Procedure(R4) and policy(R7) need to be differentiated.
Running a large I/O task concurrently with a
long computation within a program is a procedure(R4)
resource choice.
Running a large sorting (high I/O, low compute) program
concurrently with a computationally intensive (low I/O, high compute)
program within a computer cluster is a policy(R7) resource choice.
Time(R5) translates to patience.
Money(R6) takes several forms, cash, employee hours,
or some type of intra-company resource credits.
3.2 Resource Interchangeability
Resources may be interchanged or "traded off".
Using several illustrative examples, a plausibility argument is
made that the seven resource components are indeed interchangeable.
3.2.1 Trading memory(R2) for I/O(R1).
This is what an operating system paging system does.
3.2.2 Trading memory(R2) for compute(R3).
Values may sometimes be either looked up or computed.
Sine and cosine tables, twiddle factors for an FFT,
and integer multiplication tables used as array row indices
are common instances.
3.2.3 Trading procedure(R4) for compute(R3).
This can be called smart programming. As a small example,
computing general roots of quadratic equations requires
complex arithmetic. By testing for non-negative (real) discriminants
computation may be reduced by substituting real arithmetic for
more computationally intensive complex arithmetic.
3.2.4 Trading time(R5) for money(R6).
Faster generally costs. Everyone wants fast and cheap.
My auto mechanic has a sign: "If you want it bad, that is how you will
get it".
3.2.5 The lowest cost result (guaranteed).
- buy a $5000 PC. For $5000, you can get a kicking PC.
- wait 20 years for the computation to complete.
- mistaking Moore's Law to mean that computer price/performance doubles every
18 months, and making better policy(R7) choices, we can speedup the
result:
- wait 3 years; $5000 PCs now 4X faster; total elapsed time 8 years
- wait 6 years; $5000 PCs now 16X faster; total elapsed time only 7.25 years
We whimsically note that the faster run time makes the "cheap" strategy
feasible in that it is reasonable to expect replacement parts
to be available in an 8 year time frame but not in a 20 year time frame.
4.0 Background
An abstract model of chess decomposes the game into three components:
- force - the pieces, pawns, knights, rooks, etc
- space - the 8 by 8 matrix of squares on a chess board
- time - the players' moves (also called tempi)
Simplistically, the relative force values are: pawns(1), knights(3),
bishops(3), rooks(5), queens(9.5 or 10)
and kings(4 or infinite in checkmate).
A pawn is generally considered to be worth 3 moves (tempi).
At the top level of competition, the advantage of one move(tempo) is so
great that the weakest Grandmaster, with the intention to forgo
any chance of winning and with the advantage of the first move (white),
can almost always force a draw(tie) against the strongest Grandmaster.
In this model the three components are held to be inter-convertible.
Control of more space(squares) means that your pieces can move more
quickly and thus you gain time (moves).
A piece may be sacrificed to gain time(tempi). The King's Gambit,
where white sacrifices a pawn early in the game was considered
a dominant opening for 100 years. Modern chess theory holds that
white only gains 2 moves for the sacrificed King's Bishop pawn.
APR has been long intrigued by this chess model and applied the
same abstraction process to computer system work resources.
Comments or questions about this tutorial?
back to APR Main Page
back to Tutorial Main Page
© 2011 Advanced Processor Research Ltd. All Rights Reserved
Contact