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

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).
    1. buy a $5000 PC. For $5000, you can get a kicking PC.
    2. wait 20 years for the computation to complete.
    3. 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:
      1. wait 3 years; $5000 PCs now 4X faster; total elapsed time 8 years
      2. 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:
    1. force - the pieces, pawns, knights, rooks, etc
    2. space - the 8 by 8 matrix of squares on a chess board
    3. 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