public int getMIPSRating()
    {
        int rating = 0;
        switch (allocationPolicy_)
        {
            // Assuming all PEs in all Machine have same rating.
            case ResourceCharacteristics.TIME_SHARED:
            case ResourceCharacteristics.OTHER_POLICY_SAME_RATING:
                rating = getMIPSRatingOfOnePE() * machineList_.getNumPE();
                break;

            // Assuming all PEs in a given Machine have the same rating.
            // But different machines in a Cluster can have different rating
            case ResourceCharacteristics.SPACE_SHARED:
            case ResourceCharacteristics.OTHER_POLICY_DIFFERENT_RATING:
                for (int i = 0; i < machineList_.size(); i++) {
                    rating += ((Machine) machineList_.get(i)).getMIPSRating();
                }
                break;

            default:
                break;
        }

        return rating;
    }