Show simple item record

Professor Advisordc.contributor.advisorBustos Jiménez, Javier
Authordc.contributor.authorBlasco Valencia, Sebastián Ramón 
Staff editordc.contributor.editorFacultad de Ciencias Físicas y Matemáticas
Staff editordc.contributor.editorDepartamento de Ciencias de la Computación
Associate professordc.contributor.otherMateu Brulé, Luis
Associate professordc.contributor.otherHitschfeld Kahler, Nancy 
Associate professordc.contributor.otherBonacic Castro, Carolina
Admission datedc.date.accessioned2016-06-16T18:33:31Z
Available datedc.date.available2016-06-16T18:33:31Z
Publication datedc.date.issued2016
Identifierdc.identifier.urihttps://repositorio.uchile.cl/handle/2250/138900
General notedc.descriptionMagíster en Ciencias, Mención Computación
General notedc.descriptionIngeniero Civil en Computación
Abstractdc.description.abstractLa proliferación de sistemas con múltiples núcleos de procesamiento ha transformado la aplicación de técnicas de programación paralela en uno de los tópicos más estudiados en los últimos años, ello en pos de mejorar los rendimientos generales de cualquier operación. Una aplicación práctica de dicho enfoque es en el procesamiento de requerimientos DNS, los cuales han evidenciado un gran aumento de la mano del desarrollo de la Internet y la masificación de distintos tipos de dispositivos que demandan conectividad, y que por sus características son un buen candidato a un enfoque de procesamiento paralelo. Sin embargo, distintas investigaciones han revelado que la aplicación de técnicas multithreading per se no son una estrategia que garantice un escalamiento en los resultados. Distintas empresas de carácter global (como Google, Facebook y Toshiba) así como investigaciones locales (de la mano de NIC Chile) han reconocido la existencia de este problema, reiterando responsabilidades a los Internet Sockets provistos por el kernel de Linux, los cuales al ser expuestos a un consumo concurrente degradan su capacidad de consumo de datos y rendimiento general, aún cuando existe poder de cómputo excedente. Así estas empresas y otros trabajos de investigación han planteado varias hipótesis teóricamente razonables para explicar dicho comportamiento pero sin concretar las mismas en términos experimentales que permitan confirmarlas o desmentirlas. La presente investigación plantea un estudio experimental del caso de los Sockets UDP que combina técnicas de profiling y testing de distinto nivel, a fin de verificar las principales sospechas vigentes que den explicación al problema en cuestión, reunidas en 3 líneas de trabajo: Problemas de distribución de carga, degradación del rendimiento por mecanismos de bloqueo y problemas de manejo de caché y defectos de contención de recursos. En la misma línea, se ilustra el impacto de fenómeno de contención de recursos en un escenario concurrente y su repercusión en los canales de comunicación en el procesamiento de datos en arquitecturas modernas multiprocesador como la estudiada. Es fruto de este trabajo un veredicto por cada estudio que concluya explicando las características inherentes a los Internet Sockets que expliquen su mal desempeño, bajo los distintos análisis efectuados. Posteriormente, la investigación se traslada a estudiar la técnica denominada reuseport, un desarrollo de ingenieros de Google que plantea una solución al problema presentado y que promete mitigar el efecto negativo causado por el uso de multithreading en el contexto estudiado. Así también, se repasan aspectos como el rendimiento de este enfoque, y ciertas debilidades del mismo. Finalmente, es producto del presente trabajo el planteamiento e implementación de una solución propia al problema que, inspirado en el diseño de reuseport e implementado como un módulo del kernel, provee un mecanismo de distribución de paquetes que permite optar a mejoras de desempeño en el procesamiento de los mismos usando técnicas de procesamiento paralelo clásicas. Una solución que --en su configuración estándar-- provee un rendimiento competitivo a reuseport, pero que gracias a ser ampliamente configurable permite postular a mejores resultados que reuseport en contextos no uniformes de distribución de paquetes.en_US
Lenguagedc.language.isoesen_US
Publisherdc.publisherUniversidad de Chileen_US
Type of licensedc.rightsAtribución-NoComercial-SinDerivadas 3.0 Chile*
Link to Licensedc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/cl/*
Keywordsdc.subjectProgramación paralela (Ciencia de la computación)en_US
Keywordsdc.subjectRequerimientos DNSen_US
Keywordsdc.subjectSockets UDPen_US
Keywordsdc.subjectMultithreadingen_US
Títulodc.titleEstudio de detección y amortización de contención sobre la interfaz de red en sistemas Linux en escenarios de concurrencia sobre máquinas multicoreen_US
Document typedc.typeTesis


Files in this item

Icon

This item appears in the following Collection(s)

Show simple item record

Atribución-NoComercial-SinDerivadas 3.0 Chile
Except where otherwise noted, this item's license is described as Atribución-NoComercial-SinDerivadas 3.0 Chile