摘要:
A method, system, and program for monitoring thread usage to dynamically control a thread pool are provided. An application running on the server system invokes a listener thread on a listener socket for receiving client requests at the server system and passing the client requests to one of multiple threads waiting in a thread pool. Additionally, the application sends an ioctl call in blocking mode on the listener thread. A TCP layer within the server system detects the listener thread in blocking mode and monitors a thread count of at least one of a number of incoming requests waiting to be processed and a number of said plurality of threads remaining idle in the thread pool over a sample period. Once the TCP layer detects a thread usage event, the ioctl call is returned indicating the thread usage event with the thread count, such that a number of threads in the thread pool may be dynamically adjusted to handle the thread count.
摘要:
A method, system, and program for monitoring thread usage to dynamically control a thread pool are provided. An application running on the server system invokes a listener thread on a listener socket for receiving client requests at the server system and passing the client requests to one of multiple threads waiting in a thread pool. Additionally, the application sends an ioctl call in blocking mode on the listener thread. A TCP layer within the server system detects the listener thread in blocking mode and monitors a thread count of at least one of a number of incoming requests waiting to be processed and a number of said plurality of threads remaining idle in the thread pool over a sample period. Once the TCP layer detects a thread usage event, the ioctl call is returned indicating the thread usage event with the thread count, such that a number of threads in the thread pool may be dynamically adjusted to handle the thread count.
摘要:
TCP congestion avoidance is implemented upon retransmission of a packet and is reverted back to the original congestion state upon receipt of an early acknowledgement (ACK), indicating reordering of packets, thereby eliminating a needless restriction on TCP bandwidth. Upon receiving an ACK to a retransmitted packet, it is determined if the ACK resulted from receipt of the original reordered packet or the retransmitted packet, based on the arrival time of the ACK at the sender. If the round-trip-time (RTT) for the retransmitted packet is much lower than the average or current calculated RTT for the network link between sender and receiver, then the retransmission occurred as a result of a reordering event, and the congestion window is restored back to its value prior to the retransmission, thereby permitting the network link to continue operating at its original increased throughput.
摘要:
A method, system, and computer program product in a computer-readable medium for delivering data, received from a network, to a storage buffer assigned to an application is proposed. An application designates a communication buffer within a local data processing system for buffering data communicated with an application. The local data processing system reports to a network interface of the local data processing system a memory address of the designated communication buffer, and the data processing system creates a cookie containing the memory address. The data processing system then sends the cookie form the local data processing system to a remote data processing system, such that the remote data processing system may address data directly to the designated communication buffer.
摘要:
The server side Transfer Control Protocol is modified so that the server returns a SYNACK message with the window size equal to zero if the server is busy. When a client sends a TCP connection request and receives a synchronization acknowledgement message with the window size equal to zero, the client knows that the server received the connection request and that the server is busy. The client may then send an acknowledgement message to complete the three-way synchronization handshake, thus successfully completing the connection. Thereafter, the client side TCP may probe the server side TCP until a window update message is received from the server. When the server sends a window update message to set the window size to a non-zero size, the client knows that the server is no longer busy and the client application may then use the TCP connection.
摘要:
TCP congestion avoidance is implemented upon retransmission of a packet and is reverted back to the original congestion state upon receipt of an early acknowledgement (ACK), indicating reordering of packets, thereby eliminating a needless restriction on TCP bandwidth. Upon receiving an ACK to a retransmitted packet, it is determined if the ACK resulted from receipt of the original reordered packet or the retransmitted packet, based on the arrival time of the ACK at the sender. If the round-trip-time (RTT) for the retransmitted packet is much lower than the average or current calculated RTT for the network link between sender and receiver, then the retransmission occurred as a result of a reordering event, and the congestion window is restored back to its value prior to the retransmission, thereby permitting the network link to continue operating at its original increased throughput.
摘要:
TCP congestion avoidance is implemented upon retransmission of a packet and is reverted back to the original congestion state upon receipt of an early acknowledgement (ACK), indicating reordering of packets, thereby eliminating a needless restriction on TCP bandwidth. Upon receiving an ACK to a retransmitted packet, it is determined if the ACK resulted from receipt of the original reordered packet or the retransmitted packet, based on the arrival time of the ACK at the sender. If the round-trip-time (RTT) for the retransmitted packet is much lower than the average or current calculated RTT for the network link between sender and receiver, then the retransmission occurred as a result of a reordering event, and the congestion window is restored back to its value prior to the retransmission, thereby permitting the network link to continue operating at its original increased throughput.
摘要:
A method, system, and computer program product in a computer-readable medium for delivering data, received from a network, to a storage buffer assigned to an application is proposed. An application designates a communication buffer within a local data processing system for buffering data communicated with an application. The local data processing system reports to a network interface of the local data processing system a memory address of the designated communication buffer, and the data processing system creates a cookie containing the memory address. The data processing system then sends the cookie form the local data processing system to a remote data processing system, such that the remote data processing system may address data directly to the designated communication buffer.
摘要:
A method, system, and program provide for efficient send socket call handling by a transport layer. A transport layer of a network protocol stack receives a send socket call for data of a specified length from an application layer. Responsive to detecting that there is insufficient memory for a single memory allocation to a buffer in the transport layer for at least the specified length, the transport layer blocks the send socket call. The transport layer only wakes the send socket call upon detection of sufficient memory for the single memory allocation within the buffer of the transport layer for at least the specified length, wherein waking the send socket call triggers a kernel to perform the single memory allocation in the buffer and to write the data to the single memory allocation in a single pass.
摘要:
A receiving host in a TCP/IP network sends an acknowledgment indicating a received data packet is corrupt. The sending host will begin transmitting with a new field set in the IP header called a check-TCP-checksum bit, thereby requesting that all routers in the TCP/IP network perform a checksum on the entire received packet. Routers in the TCP/IP network will perform a complete checksum on an entire packet with the check-TCP-checksum bit set, and not just on the IP header. The routers continuously monitor the ratio of corrupt packets received on a particular port that fail the entire packet checksum to the total number of packets received on that port. If the ratio of corrupt-to-received packets exceeds a corruption threshold, the router assumes that the associated link is causing data corruption and issues a routing update indicating that the link is bad and should be avoided. Once the retransmission rate between the sender and receiver drops below a threshold level, the bad link has been detected and avoided within the TCP/IP network and the check-TCP-checksum option in the IP header is no longer set in data packets transmitted to the receiver host.