Samchon Framework for CPP
1.0.0
|
Package for external system, within the framework of master. More...
Classes | |
class | DistributedClient |
A network driver for a distributed client. More... | |
class | DistributedClientArray |
An array of DistributedClient(s). More... | |
class | DistributedClientArrayMediator |
A mediator of distributed system between master and slaves. More... | |
class | DistributedClientServerMediator |
A distributed slave client for mediation. More... | |
class | DistributedServer |
A network driver for a distributed server. More... | |
class | DistributedServerArray |
An array of DistributedServer(s). More... | |
class | DistributedServerArrayMediator |
A mediator of distributed system between master and slaves. More... | |
class | DistributedSlaveServerMediator |
A distributed slave server for mediation. More... | |
class | DistributedSlaveSystemMediator |
A distributed slave system for mediation. More... | |
class | DistributedSystem |
A network driver for a distributed system. More... | |
class | DistributedSystemArray |
An array of distributed system drivers. More... | |
class | DistributedSystemArrayMediator |
A mediator of distributed system between master and slaves. More... | |
class | DistributedSystemRole |
A role of distributed processing system. More... | |
class | DSInvokeHistory |
A reported history of an Invoke message. More... | |
class | DSInvokeHistoryArray |
An array of PRInvokeHistory. More... | |
class | ParallelClient |
A network driver for a parallel client. More... | |
class | ParallelClientArray |
An array of ParallelClient(s). More... | |
class | ParallelClientArrayMediator |
A mediator of parallel system between master and slaves. More... | |
class | ParallelServer |
A network driver for a parallel server. More... | |
class | ParallelServerArray |
An array of ParallelServer(s). More... | |
class | ParallelServerArrayMediator |
A mediator of parallel system between master and slaves. More... | |
class | ParallelSlaveClientMediator |
A parallel slave client for mediation. More... | |
class | ParallelSlaveServerMediator |
A parallel slave server for mediation. More... | |
class | ParallelSlaveSystemMediator |
A parallel slave system for mediation. More... | |
class | ParallelSystem |
A network driver for a parallel system. More... | |
class | ParallelSystemArray |
An array of parallel system drivers. More... | |
class | ParallelSystemArrayMediator |
A mediator of parallel system between master and slaves. More... | |
class | PRInvokeHistory |
A reported history of an Invoke message. More... | |
class | PRInvokeHistoryArray |
An array of PRInvokeHistory. More... | |
class | PRMasterHistory |
A history log of an Invoke message on a master. More... | |
class | PRMasterHistoryArray |
An array of invoke histories of master. More... | |
Package for external system, within the framework of master.
In master package, provides distributed and parallel processing system modules which are in framework of master. With classes in master package, you can realize any type of distributed or parallel processing system in master side, even how enormouse scale those have.
A distributed processing system of master, a master (master::DistributedSystemArray) allocates roles (master::DistributedSystemRole) to systems (master::DistributedSystem). User does not consider about which roles are allocated to which systems. User just accesses to a role and send or reply message from those roles.
It's the proxy pattern have mentioned in external system
ExternalSystem objects are managed by ExternalSystemArray and the ExternalSystemArray can access to a role belongs to a system directly. When you send an Invoke message to ExternalSystemArray, the ExternalSystemArray finds matched ExternalSystemRole and the ExternalSystemRole shifts the network I/O responsibility to belonged ExternalSystem. This relationship called "Proxy Pattern". By the pattern, "Proxy", you can concentrate on roles irrespective of where each role is belonged to.
However, unlike the case of managing roles from ExternalSystemArray, in DistributedSystemArray, roles can be allocated in multiple systems duplicately. And the roles can be moved to another systems. Those management and allocation of roles are determined by estimation of performance of each system, and required performance of each role.
Unlike distributed processing system, the parallel processing system is not complicate. It has very simple logic. About requested processes, master(master::ParallelSystemArray) allocates each process to each slave system by their own performance index have estimated.