To support the distributed computing style, we need to support the client-server interactions. In TCE it is possible by implementing a process (or a collection of processes) as a resident server. That servers registers its ports under predefined names. Any client process then, can obtained those ports (requesting them by name), and build a channel to the server. When the client-server interaction is completed, the channel would be closed. |
The multithreaded support greatly helps in building such servers, since one server's thread can be dedicated to accept new requests, while other can work on the already in progress transactions. At the client side, multiple threads allow to interact with many servers concurrently. |
The preemptive scheduling ensures that all clients will be treated fairly, despite of the load fluctuations. |
The popular RPC communication can be implemented as a pair of consecutive tce_chn_snd and tce_chn_rcv calls. |