In light of advances in processor and networking technology, especially the emergence of network attached disks, the traditional client-server architecture becomes suboptimal for many computation/data intensive applications, e.g., data mining, scienti c computing, image processing, etc. In this paper, we introduce a revised architecture for this kind of application: the dynamic object server environment (DynamO). The main innovation of this architecture is that the functionality of a persistent storage server is divided into modules which are dynamically migrated to the client on demand. Also, data is transfered directly to the client's cache from network-attached disks, thus avoiding multiple copies from a disk to the server bu er to the network and the client. In this way, a client only places a small load on the server, and also avoids the I/O bottleneck on the server. Furthermore, DynamO employs a distributed cache management allowing several clients to share the in-memory da...