dc.contributor | Costa Prats, Juan José |
dc.contributor.author | Méndez Orero, Alba |
dc.contributor.other | Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors |
dc.date.accessioned | 2020-10-01T09:05:33Z |
dc.date.available | 2020-10-01T09:05:33Z |
dc.date.issued | 2020-06 |
dc.identifier.uri | http://hdl.handle.net/2117/329616 |
dc.description.abstract | Linux 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.abstract | Linux 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.abstract | Linux 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.iso | eng |
dc.publisher | Universitat Politècnica de Catalunya |
dc.rights | S'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.lcsh | Computer architecture |
dc.subject.lcsh | Operating systems (Computers) |
dc.subject.other | Operating systems |
dc.subject.other | Sistemas operativos |
dc.title | Analysis and mitigation of writeback cache lock-ups in Linux |
dc.title.alternative | Análisis y mitigación de bloqueos por writeback caching en Linux |
dc.title.alternative | Anàlisi i mitigació dels bloquejos per writeback caching a Linux |
dc.type | Bachelor thesis |
dc.subject.lemac | Arquitectura d'ordinadors |
dc.subject.lemac | Sistemes operatius -- (Ordinadors) |
dc.identifier.slug | ETSETB-230.154182 |
dc.rights.access | Open Access |
dc.date.updated | 2020-08-03T05:51:04Z |
dc.audience.educationlevel | Grau |
dc.audience.mediator | Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona |
dc.audience.degree | GRAU EN ENGINYERIA DE TECNOLOGIES I SERVEIS DE TELECOMUNICACIÓ (Pla 2015) |