In recent years, increasing effort has been made by the cluster and grid computing community to build object-based Distributed Shared Memory systems (DSM) in a cluster environment. In most of these systems, a shared object is simply used as a data-exchanging unit so as to alleviate the false-sharing problem, and the advantages of sharing objects remain to be fully exploited. Thus, this paper is motivated to investigate the potential advantages of object-based DSM. For example, the performance of a distributed application may be significantly improved by adoptively and judiciously setting the size of the shared-objects, i.e., granularity. This paper, in addition to investigating the advantages of sharing objects, particularly focuses on observing how the performance of a distributed application changes with varied granularity, obtaining the optimal granularity through curve fitting, studying the factors that affect the optimal granularity, and predicting this optimal granularity in a changing runtime environment.