Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Below is a more detailed version of the timeline presented above. Each event in the timeline is associated with a (cumulative) distribution of "completion" times. The "completion" time for a given event is the time delta between that event and its preceding event; hence, the cdf for the first event is quite boring. (Note: the x-axis in the cdf's below is in seconds.)

Event Invoking sync() to backups

...


Event Invoking Send 'write segment' RPC

...


Event Invoking client.send()

...


Event Invoking session->clientSend()

...


Event Acquired Dispatch::Lock in TransportManager::WorkerSession::clientSend

...


Event Invoking Instantiate new ClientRpc

...


Event Completed Instantiate new ClientRpc

...


Event Invoking rpc->sendOrQueue

...


Event Invoking postSendZeroCopy

...


Event Completed postSendZeroCopy

...


Event Completed rpc->sendOrQueue

...


Event Completed session->clientSend()

...


Event Completed client.send()

...


Event Completed Send 'write segment' RPC

...


Event Invoking Send 'write segment' RPC

...


Event Invoking client.send()

...


Event Invoking session->clientSend()

...


Event Acquired Dispatch::Lock in TransportManager::WorkerSession::clientSend

...


Event Invoking Instantiate new ClientRpc

...


Event Completed Instantiate new ClientRpc

...


Event Invoking rpc->sendOrQueue

...


Event Invoking postSendZeroCopy

...


Event Completed postSendZeroCopy

...


Event Completed rpc->sendOrQueue

...


Event Completed session->clientSend()

...


Event Completed client.send()

...


Event Completed Send 'write segment' RPC

...


Event Invoking Send 'write segment' RPC

...


Event Invoking client.send()

...


Event Invoking session->clientSend()

...


Event Acquired Dispatch::Lock in TransportManager::WorkerSession::clientSend

...


Event Invoking Instantiate new ClientRpc

...


Event Completed Instantiate new ClientRpc

...


Event Invoking rpc->sendOrQueue

...


Event Invoking postSendZeroCopy

...


Event Completed postSendZeroCopy

...


Event Completed rpc->sendOrQueue

...


Event Completed session->clientSend()

...


Event Completed client.send()

...


Event Completed Send 'write segment' RPC

...


Event Reaped outstanding RPC (non-close)

...


Event Reaped outstanding RPC (non-close)

...


Event Reaped outstanding RPC (non-close)

...


Event Completed sync() to backups

Image Removed 

On the the Backup

Average over 9584 same-shape timelines.

...

Just as we did for the master, we have the cdf's for the events on the backup server:

Event Invoking appendToBuffer() [dispatch]

...


Event Completed appendToBuffer() [dispatch]

...


Event Invoking serviceManager->handleRpc() [dispatch]

...


Event Completed serviceManager->handleRpc() [dispatch]

...


Event Invoking service.handleRpc() [worker]

...


Event Invoking service.dispatch() [worker]

...


Event Invoking callHandler() [worker]

...


Event Invoking SegmentInfo->write() [worker]

...


Event Completed SegmentInfo->write() [worker]

...


Event Completed callHandler() [worker]

...


Event Completed service.dispatch() [worker]

...


Event Completed service.handleRpc() [worker]

...


Event Invoking worker->rpc->sendReply() [dispatch]

...


Event Invoking postSend() [dispatch]

...


Event Completed postSend() [dispatch]

...


Event Completed worker->rpc->sendReply() [dispatch]

Image Removed 


Benchmark IB Send vs. RDMA

...