  Computation-as-a-Service (CaaS) offerings have gained traction in the last
few years due to their effectiveness in balancing between the scalability of
Software-as-a-Service and the customisation possibilities of
Infrastructure-as-a-Service platforms. To function effectively, a CaaS platform
must have three key properties: (i) reactive assignment of individual
processing tasks to available cloud instances (compute units) according to
availability and predetermined time-to-completion (TTC) constraints; (ii)
accurate resource prediction; (iii) efficient control of the number of cloud
instances servicing workloads, in order to optimize between completing
workloads in a timely fashion and reducing resource utilization costs. In this
paper, we propose three approaches that satisfy these properties
(respectively): (i) a service rate allocation mechanism based on proportional
fairness and TTC constraints; (ii) Kalman-filter estimates for resource
prediction; and (iii) the use of additive increase multiplicative decrease
(AIMD) algorithms (famous for being the resource management in the transport
control protocol) for the control of the number of compute units servicing
workloads. The integration of our three proposals\ into a single CaaS platform
is shown to provide for more than 27% reduction in Amazon EC2 spot instance
cost against methods based on reactive resource prediction and 38% to 60%
reduction of the billing cost against the current state-of-the-art in CaaS
platforms (Amazon Lambda and Autoscale).
