{"title":"sendmmsg: An Efficient System Call to Send Multiple Messages on Linux","authors":"Breno Leitão, Islene C. Garcia","doi":"10.1109/SBESC.2011.36","DOIUrl":null,"url":null,"abstract":"This article describes the limitations of sendmsg, the current system call responsible for sending network messages in Linux. It is shown that this system call performance is not good enough, mainly when it needs to send a batch of similar data to many destinations in the network, as commonly experienced in IPTV servers. In order to prove that, a new system call has been implemented, sendmmsg, which acts similarly to the original one, but presenting some performance advantages, specially when sending similar data to peers. This new call needs only an extra parameter, when compared to the original one.(Portuguese version) Este artigo descreve as limitações da chamada de sistema sendmsg responsável por enviar mensagens de rede no sistema operacional Linux. É mostrado que tal chamada não possui um bom desempenho quando se necessita enviar vários pacotes em lote, contendo dados similares, para vários destinatários remotos -- caso comum em servidores de IPTV. Para tanto, é implementada uma nova função, sendmmsg, parecida com a original, porém, mais eficiente, apenas com o acréscimo de um parâmetro.","PeriodicalId":147899,"journal":{"name":"2011 Brazilian Symposium on Computing System Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-11-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 Brazilian Symposium on Computing System Engineering","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBESC.2011.36","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
This article describes the limitations of sendmsg, the current system call responsible for sending network messages in Linux. It is shown that this system call performance is not good enough, mainly when it needs to send a batch of similar data to many destinations in the network, as commonly experienced in IPTV servers. In order to prove that, a new system call has been implemented, sendmmsg, which acts similarly to the original one, but presenting some performance advantages, specially when sending similar data to peers. This new call needs only an extra parameter, when compared to the original one.(Portuguese version) Este artigo descreve as limitações da chamada de sistema sendmsg responsável por enviar mensagens de rede no sistema operacional Linux. É mostrado que tal chamada não possui um bom desempenho quando se necessita enviar vários pacotes em lote, contendo dados similares, para vários destinatários remotos -- caso comum em servidores de IPTV. Para tanto, é implementada uma nova função, sendmmsg, parecida com a original, porém, mais eficiente, apenas com o acréscimo de um parâmetro.
本文描述了sendmsg的局限性,sendmsg是当前Linux中负责发送网络消息的系统调用。结果表明,该系统调用性能不够好,主要是在需要向网络中的多个目的地发送一批类似数据时,如IPTV服务器中常见的情况。为了证明这一点,我们实现了一个新的系统调用sendmsg,它的作用类似于原来的系统调用,但表现出一些性能优势,特别是在向对等端发送类似数据时。与原始调用相比,这个新调用只需要一个额外的参数。(葡萄牙语版)Este artigo描述为limitações da chamada de sistema sendmsg responsável poor enviarmansens de rede no sistema操作系统Linux。É mostrado que tal chamada n o possui um bom desempenho quando se necessita enviar vários pacotes em lote, contendo dados similares, para vários destinatários remotos - caso comcomem servidores de IPTV。Para tanto, implementada uma nova funatoro, sendmessage, parrecida com a original, porsamim, mais efficient,附录,acrsamicsimo de um par metro。