Abstract
Distributed object-oriented environments have become important components for parallel and distributed computing and service frameworks. Among distributed object-oriented software, .NET Remoting provides a language layer of abstractions for performing parallel and distributed computing in .NET environments. In this thesis, we present our methodologies in supporting .NET Remoting over meta-clustered environments with network processors, a high-performance and programable packet processing machine. In .NET Remoting, there are three types of Remoting invocation which are Single-Call, Singleton, and Client-Activated. Among those invocation types, the states of stateful sessions must be maintained. However, traditional load-balancing mechanism lacks the ability of handling stateful invocations. To deal with the demand of load-balancing mechanisms in distributed object-oriented environment, we take the advantage of the programmability of network processors to develop the content-based switch for distributing workloads generated from remote invocations in .NET. In addition, we also propose scheduling policy to incorporate work-flow models as the models are now incorporated in many of tools of grid architectures. In the first step of our scheduling policy, we perform scheduling policy for stateful jobs in the work-flow models. With the initial placements of processor allocations, we then perform the scheduling policy for stateless applications in the second phase. Timeout constraints for stateful tasks are incorporated so that it might roll back processor assignments for stateful tasks during the second phase. This mechanism gives load-balancing for stateless tasks while also performs load-balancings of stateful tasks when the timing constraints are met. For the efficiency, the implementations are based on the Intel IXP 1200 network processor which includes a high performance architecture to process packets through the cluster gateway. Experiments done at clusters with IXP 1200 network processors show that our scheme can significantly enhance the system throughput (up to 55%) compared to NLB method when the traffic is heavy. In addition, there is also a simulation result in our work-flow model showing that the improvement of EFT is from 5% to 21% when compared to ETT and is from 8% to 34% when compared to RR while the stateful task ratio is 50%. Our schemes are effective in supporting the switching of .NET Remoting computations over meta-cluster environments.