Key ingredients to achieve effective 1/O caching c/c Modern aynchronous 1/O internals Architecture based on message queuing o both for requests and reponses submit pop Request Handling Client Request queue Storage Response pop call back Handling Response queue latancy ac msgQ 16/57 S.Ponce-CERN
Key ingredients to achieve effective I/O 16 / 57 S. Ponce - CERN async IOopt struct caching c/c latency async msgQ Modern aynchronous I/O internals Architecture based on message queuing both for requests and reponses Client Request queue Request Handling submit pop I/O Storage Response queue Response Handling pop call back
Key ingredients to achieve effective I/O 4,ayn0op natt caching c/ Advantages of message queues Architecture disentangles client API calls from actual processing allows optimizations on both sides asynchronous I/O on client side reordering of requests on server side allows easy scalability,parallelizing the handlers using thread safe or even distributed queues latancy ac msgQ 17/57 S.Ponce-CERN
Key ingredients to achieve effective I/O 17 / 57 S. Ponce - CERN async IOopt struct caching c/c latency async msgQ Advantages of message queues Architecture disentangles client API calls from actual processing allows optimizations on both sides asynchronous I/O on client side reordering of requests on server side allows easy scalability, parallelizing the handlers using thread safe or even distributed queues
Key ingredients to achieve effective 1/O 4,syme IOopt caching c/c 1/O optimizations Asynchronous 1/O ②l/O optimizations o Optimizing network transfers Optimizing local transfers Influence of data structures on l/O Caching Conclusion netnork local 18/57 S.Ponce-CERN
Key ingredients to achieve effective I/O 18 / 57 S. Ponce - CERN async IOopt struct caching c/c network local I/O optimizations 1 Asynchronous I/O 2 I/O optimizations Optimizing network transfers Optimizing local transfers 3 Influence of data structures on I/O 4 Caching 5 Conclusion
Key ingredients to achieve effective 1/O sme lOopt snct caching c/c 8 Optimizing network I/O Golden rules async I/O is a must ● setsockopt is often needed o as default parameters may not be optimal for your case .e.g.TCP_NODELAY or SND_BUF network local 19/57 S.Ponce-CERN
Key ingredients to achieve effective I/O 19 / 57 S. Ponce - CERN async IOopt struct caching c/c network local Optimizing network I/O Golden rules async I/O is a must setsockopt is often needed as default parameters may not be optimal for your case e.g. TCP NODELAY or SND BUF
Key ingredients to achieve effective I/O The TCP buffer client Actual steps writing to a TCP socket TCP buffer write to the TCP buffer ② create a paquet and actually send it to the network device 2 Network Device network local 20/57 S.Ponce-CERN
Key ingredients to achieve effective I/O 20 / 57 S. Ponce - CERN async IOopt struct caching c/c network local The TCP buffer Actual steps writing to a TCP socket 1 write to the TCP buffer 2 create a paquet and actually send it to the network device client TCP buffer Network Device 1 2