What is Real-Power Computing?
RP Computing is a discipline of designing computer systems, in hardware and software, which operate under definite power or energy constraints. These constraints are formed from the requirements of applications, i.e. known at the time of designing or programming these systems or obtained from the real operating conditions, i.e. at run time. These constrains can be associated with limited sources of energy supplied to the computer systems as well as with bounds on dissipation of energy by computer systems.
Applications
These define areas of computing where power and energy require rationing in making systems perform their functions.
Different ways of categorising applications can be used. One possible way is to classify application based on different power ranges, such as microWatts, milliWatts etc.
Another way would be to consider application domains, such as bio-medical, internet of things, automotive systems etc.
Paradigms
These define typical scenarios where power and energy constraints are considered and put into interplay with functionalities. These scenarios define modes, i.e. sets of constraints and optimisation criteria. Here we look at the main paradigms of using power and energy on the roads.
Power-driven: Starting on bicycle or car from stationary state as we go from low gears to high gears. Low gears allow the system to reach certain speed with minimum power.
Energy-driven: Steady driving on a motorway, where we could maximise our distance for a given amount of fuel.
Time-driven: Steady driving on a motorway where we minimise the time to reach the destination and fit the speed-limit regulations.
Hybrid: Combinations of power and energy-driven scenarios, i.e. like in PI (D) control.
Similar categories could be defined for budgeting cash in families, depending on the salary payment regimes and living needs. Another source of examples could be the funding modes for companies at different stages of their development.
Architectural considerations
These define elements, parameters and characteristics of system design that help meeting the constraints and optimisation targets associated with the paradigms. Some of them can be defined at design (programming and compile) time while some defined at run-time and would require monitors and controls.