Show simple item record

dc.contributorCosta Prats, Juan José
dc.contributor.authorMéndez Orero, Alba
dc.contributor.otherUniversitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
dc.date.accessioned2020-10-01T09:05:33Z
dc.date.available2020-10-01T09:05:33Z
dc.date.issued2020-06
dc.identifier.urihttp://hdl.handle.net/2117/329616
dc.description.abstractLinux caches disk I/O for performance: writes complete immediately from userspace perspective, and are committed to storage later. But in the presence of heavy writers, this buffering can easily hurt system responsiveness if not handled correctly. This is well known and has received substantial work, but remains a problem today. In this thesis, we first research the relevant kernel subsystems & technologies, measure and understand what's happening, then design a PoC to mitigate the adverse effects. We discover cache flushes to be the issue, because inodes are locked until written to disk. Today's large caches mean inodes from innocent processes can stay locked for long amounts of time. This often replaces the intended throttling. We designed a daemon that detects heavy writers and lowers their I/O priority, allowing inodes from other processes to be written (and unlocked) first. It successfully reduces long pauses and improves responsiveness.
dc.description.abstractLinux cachea las operaciones I/O de disco: las escrituras acaban inmediatamente desde la perspectiva de userspace, y más adelante se escriben realmente al disco. Pero en la presencia de procesos que escriben sin límite, este buffering puede dañar facilmente la responsividad del sistema si no se gestiona de forma justa. Se trata de un problema conocido y que se ha trabajado bastante, pero que sigue presente a día de hoy. En este proyecto se investigan los subsistemas y tecnologías relevantes del kernel, se mide y racionaliza el comportamiento observado, y finalmente se diseña un PoC para mitigar los efectos adversos. Se descubre que el problema parece estar en los vaciados de cache, ya que los inodes son bloqueados hasta que se escriben al disco. Hoy en día con cachés tan grandes, los inodes de procesos inocentes pueden mantenerse mucho tiempo bloqueados mientras esperan ser escritos. Esto aveces reemplaza el throttling normal. Se ha diseñado un daemon que detecta procesos ofensivos y les reduce la prioridad I/O, de forma que cuando se vacie la caché, los inodes del resto de procesos se escriban (y desbloqueen) antes. Esto consigue reducir las largas pausas y mejora la fluidez del sistema.
dc.description.abstractLinux cacheja les operacions I/O de disc: les escriptures acaben immediatament des de la perspective d'userspace, i més endavant s'escriuen realment al disc. Però en la presència de processos que escriuen sense límit, aquest buffering pot danyar fàcilment el temps de resposta del sistema si no es gestiona de forma justa. Es tracta d'un problema conegut i que s'ha treballat bastant, però que segueix estant present a dia d'avui. En aquest projecte s'investiguen els subsistemes i tecnologies rellevants del kernel, es mesura i entén el que està passant, i llavors es dissenya un PoC per mitigar els efectes adversos. Es descobreix que el problema sembla estar en els buidats de la cache, ja que els inodes és bloquegen fins que s'escriuen al disc. Avui dia amb caches tan grans, els inodes de processos innocents poden mantenir-se bloquejats durant un temps llarg mentre esperen ser escrits. Això fins i tot reemplaça el throttling normal. S'ha dissenyat un daemon que detecta processos ofensius i els redueix la prioritat I/O, de forma que quan es buidi la cache, els inodes d'altres processos s'escriguin (i es desbloquegin) primer. Això aconsegueix reduir les llargues pauses i millora la fluidesa del sistema.
dc.language.isoeng
dc.publisherUniversitat Politècnica de Catalunya
dc.rightsS'autoritza la difusió de l'obra mitjançant la llicència Creative Commons o similar 'Reconeixement-NoComercial- SenseObraDerivada'
dc.subjectÀrees temàtiques de la UPC::Enginyeria de la telecomunicació
dc.subject.lcshComputer architecture
dc.subject.lcshOperating systems (Computers)
dc.subject.otherOperating systems
dc.subject.otherSistemas operativos
dc.titleAnalysis and mitigation of writeback cache lock-ups in Linux
dc.title.alternativeAnálisis y mitigación de bloqueos por writeback caching en Linux
dc.title.alternativeAnàlisi i mitigació dels bloquejos per writeback caching a Linux
dc.typeBachelor thesis
dc.subject.lemacArquitectura d'ordinadors
dc.subject.lemacSistemes operatius -- (Ordinadors)
dc.identifier.slugETSETB-230.154182
dc.rights.accessOpen Access
dc.date.updated2020-08-03T05:51:04Z
dc.audience.educationlevelGrau
dc.audience.mediatorEscola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona
dc.audience.degreeGRAU EN ENGINYERIA DE TECNOLOGIES I SERVEIS DE TELECOMUNICACIÓ (Pla 2015)


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record