A method for performing computations in a distributed computing environment, comprising: receiving one or more application-defined partitioning system interfaces; creating a plurality of master role instances including the one or more application-defined partitioning system interfaces, the master role instances corresponding to a master storage object; assigning a lease for the master storage object, each master role instance competing for the lease, the master role instance that is assigned the lease becoming the dictator master role instance; assigning, by the dictator master role instance, a group of partitions to a plurality of partition servers, wherein upon an initial partition assignment to a partition server of the plurality of partition servers, said partition server maintains a lease on a storage object private to said partition server, the private storage object identifying the partitions being served by said partition server; and performing one or more computations corresponding to an application using the plurality of partition servers; and further comprising sending, by the dictator master role instance, a heartbeat message to the plurality of partition servers; receiving, by the dictator master role instance from one of the plurality of partition servers, a response to the heartbeat message, wherein the response indicates one or more partitions said one partition server is currently serving; and breaking, by the dictator master role instance, the lease of said one partition server on the corresponding private storage object if a mismatch is present between the one or more indicated partitions and partition assignment information maintained in a partition table, the partition table being updated when one of the group of partitions is assigned to one of the plurality of partition servers. receiving one or more application-defined partitioning system interfaces; creating a plurality of master role instances including the one or more application-defined partitioning system interfaces, the master role instances corresponding to a master storage object; assigning a lease for the master storage object, each master role instance competing for the lease, the master role instance that is assigned the lease becoming the dictator master role instance; assigning, by the dictator master role instance, a group of partitions to a plurality of partition servers, wherein upon an initial partition assignment to a partition server of the plurality of partition servers, said partition server maintains a lease on a storage object private to said partition server, the private storage object identifying the partitions being served by said partition server; and performing one or more computations corresponding to an application using the plurality of partition servers; and further comprising sending, by the dictator master role instance, a heartbeat message to the plurality of partition servers; receiving, by the dictator master role instance from one of the plurality of partition servers, a response to the heartbeat message, wherein the response indicates one or more partitions said one partition server is currently serving; and breaking, by the dictator master role instance, the lease of said one partition server on the corresponding private storage object if a mismatch is present between the one or more indicated partitions and partition assignment information maintained in a partition table, the partition table being updated when one of the group of partitions is assigned to one of the plurality of partition servers.