Instance Constructors
-
new
CpuFormula(eventBus: MessageBus, tdp: Double, tdpFactor: Double, frequencies: Map[Int, Double])
Type Members
-
type
Receive = PartialFunction[Any, Unit]
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
def
aroundPostRestart(reason: Throwable): Unit
-
def
aroundPostStop(): Unit
-
def
aroundPreRestart(reason: Throwable, message: Option[Any]): Unit
-
def
aroundPreStart(): Unit
-
def
aroundReceive(receive: akka.actor.Actor.Receive, msg: Any): Unit
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
def
compute(sensorReport: UsageReport): Unit
-
lazy val
constant: Double
-
implicit
val
context: ActorContext
-
def
default: akka.actor.Actor.Receive
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
def
log: LoggingAdapter
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
postRestart(reason: Throwable): Unit
-
def
postStop(): Unit
-
def
power(sensorReport: UsageReport): Option[Double]
-
lazy val
powers: Map[Int, Double]
-
def
preRestart(reason: Throwable, message: Option[Any]): Unit
-
def
preStart(): Unit
-
def
receive: PartialFunction[Any, Unit]
-
implicit final
val
self: ActorRef
-
final
def
sender(): ActorRef
-
def
subscribeSensorReport(): Unit
-
def
supervisorStrategy: SupervisorStrategy
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
def
unhandled(message: Any): Unit
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from ActorLogging
Inherited from Actor
Inherited from AnyRef
Inherited from Any
CPU formula component giving CPU energy of a given process in computing the ratio between global CPU energy and process CPU usage during a given period.
Global CPU energy is given thanks to the well-known global formula: P = c * f * V² [1]. This formula operates for an unique frequency/variable but many frequencies can be used by CPU during a time period (e.g using DVFS [2]). Thus, this implementation weights each frequency by the time spent by CPU in working under it.
[2] http://en.wikipedia.org/wiki/Voltage_and_frequency_scaling.
[1] "Frequency–Voltage Cooperative CPU Power Control: A Design Rule and Its Application by Feedback Prediction" by Toyama & al.