Methods and corresponding systems for allocating processing resources for
a number of instances (N) of a software component include determining an
average processing cost (.mu.) and a variance (.sigma..sup.2) for the
software component. Then a processing cost for the software component is
estimated as a function of N, the average processing cost (.mu.), and the
variance (.sigma..sup.2), and processing resources are allocated in
response to the estimated processing cost. The software component can be
partitioned into a number of blocks (L), wherein the L blocks include a
required block and one or more optional blocks. In some embodiments in
response to a total estimated processing cost exceeding an available
processing value, selected optional blocks can be disabled to reduce the
total estimated processing cost to a value equal to or less than the
available processing value. The optional blocks can be prioritized and
disabled in order of priority.