System and method for parallel multiplexing between servers in a cluster
First Claim
1. A system for providing parallel multiplexing between servers in a cluster, comprising:
- a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory, and wherein the cluster communicates over an InfiniBand network;
a middleware environment, executing on the cluster, that includes a plurality of application server instances;
a plurality of multiplexers, wherein each of the plurality of multiplexers resides on a said application server instance and is directly connected with a plurality of parallel channels, wherein each of the plurality of parallel channels iscreated using a replication channel configured for the cluster as a template and overwriting port information therein with a unique port number, andfurther connected to a different multiplexer on a different application server instance;
a sender queue directly connected with each said multiplexier, wherein the sender queue aggregates messages received from a plurality of threads and places the messages sequentially therein; and
a plurality of sender threads, wherein each of said sender threads operates on one of said plurality of parallel channels;
wherein each said multiplexer is operable toflush the messages from the sender queue,distribute the flushed messages over the plurality of parallel channels, anduse the plurality of sender threads to transmit the flushed messages concurrently over the plurality of parallel channels to the different multiplexer on the different application server instance over the Infiniband network.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are provided for providing parallel muxing between servers in a cluster. One such system can include a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory. The cluster communicates over an InfiniBand network. The system can also include a middleware environment, executing on the cluster, that includes one or more application server instances. The system can further include a plurality of muxers, wherein each application server instance includes at least one muxer. Each muxer can receive information from a plurality of threads to transmit to a different muxer on a different application server instance over the Infiniband network using a plurality of parallel channels.
-
Citations
15 Claims
-
1. A system for providing parallel multiplexing between servers in a cluster, comprising:
-
a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory, and wherein the cluster communicates over an InfiniBand network; a middleware environment, executing on the cluster, that includes a plurality of application server instances; a plurality of multiplexers, wherein each of the plurality of multiplexers resides on a said application server instance and is directly connected with a plurality of parallel channels, wherein each of the plurality of parallel channels is created using a replication channel configured for the cluster as a template and overwriting port information therein with a unique port number, and further connected to a different multiplexer on a different application server instance; a sender queue directly connected with each said multiplexier, wherein the sender queue aggregates messages received from a plurality of threads and places the messages sequentially therein; and a plurality of sender threads, wherein each of said sender threads operates on one of said plurality of parallel channels; wherein each said multiplexer is operable to flush the messages from the sender queue, distribute the flushed messages over the plurality of parallel channels, and use the plurality of sender threads to transmit the flushed messages concurrently over the plurality of parallel channels to the different multiplexer on the different application server instance over the Infiniband network. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for providing parallel multiplexing between servers in a cluster, comprising:
-
providing a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory, and wherein the cluster communicates over an InfiniBand network; providing a middleware environment, executing on the cluster, that includes a plurality of application server instances; providing a plurality of multiplexers, wherein each said mutiplexier resides on a said application server instance, and is directly connected with a plurality of parallel channels, wherein each of the plurality of parallel channels is created using a replication channel configured for the cluster as a template and overwriting port information therein with a unique port number, and further connected to a different multiplexier at a different application server instance; providing a sender queue directly connected with each said multiplexier, wherein the sender queue aggregates messages received from a plurality of threads and places the messages sequentially therein; and providing a plurality of sender threads, wherein each of said sender threads operates on one of said plurality of parallel channels; wherein each said multiplexer is operable to flush the messages from the sender queue, distribute the flushed messages over the plurality of parallel channels, and use the plurality of sender threads to transmit the flushed messages concurrently over the plurality of parallel channels. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium, including instructions stored there on which, when executed by a computer, cause the computer to perform the steps comprising:
-
providing a cluster of one or more high performance computing systems, each including one or more processors and a high performance memory, and wherein the cluster communicates over an InfiniBand network; providing a middleware environment, executing on the cluster, that includes a plurality of application server instances; providing a plurality of multiplexers, wherein each said mutiplexier resides on a said application server instance, and is directly connected with a plurality of parallel channels, wherein each of the plurality of parallel channels is created using a replication channel configured for the cluster as a template and overwriting port information therein with a unique port number, and further connected to a different multiplexer at a different application server instance; providing a sender queue directly connected with each said multiplexier, wherein the sender queue aggregates messages received from a plurality of threads and sequentially place the messages therein; and providing a plurality of sender threads, wherein each of said sender threads operates on one of said plurality of parallel channels; wherein each said multiplexer is operable to flush the messages from the sender queue, distribute the flushed messages over the plurality of parallel channels, and use the plurality of sender threads to transmit the flushed messages concurrently over the plurality of parallel channels. - View Dependent Claims (12, 13, 14, 15)
-
Specification