
Inotify watcher leaks in Kubelet
Symptom
Recently, I faced an issue where Kubelet on a node reported error message failed to create file descriptors.
error creating file watcher: too many open files
error creating file watcher: no space left on device
After short checking, I found the node has max_user_watches of 10000, but the TotalinotifyWatches is beyond this value. (P. S...

Debug Kubelet
Debug logs
Like all others program’s debugging, the most straightforward way for newbies and the easiest way for advanced developer is relying on logs. Same to debug kubelet, bumping up verbosity to show more logs is the most intuitive approach when facing an issue. Like most component in Kubernetes, kubelet uses klog for logging and there are ...

Labs of CS350
This will be a series regarding lab I gave during the spring 2022 semester.
The reason why I am writing this down is because it has been a week and no students ask for the solution of the last Lab.
I realise that learning gap between students are huge, especially when a non-profit university is admitting more and more students.
To help all stud...

EDDL: How do we train neural networks on limited edge devices - PART 2
In the last post, part1, our idea of distributed learning on edge environment was generally addressed.
I introduced the reason why edge distributed learning is needed and what improvements it can achieve.
In this post, I will talk about our motivation study and how our framework works.
How does data support us training on edge?
Before designin...

EDDL: How do we train neural networks on limited edge devices - PART 1
This post introduces our previous milestone in project “Edge trainer”, as the paper “EDDL: A Distributed Deep Learning System for Resource-limited Edge Computing Environment.” was published.
As the first part of the introductions, I focus only on the motivation and summary of our works.
More details in design and implementation can be found in l...

Generate Word Cloud Figures with Chinese-Tokenization and WordCloud python libraries
Let’s generate a word cloud like this.
Don’t understand the language is not a big deal.
If your written language is based on latin alphabet(or other language has space between words), skip tokenization.

Xv6 introduction
In this post, you will learn a few basic concepts of xv6. Learning path will be closed coupled to first project assignment I gave when I assisted in teaching OS classes.
Understand system call and know how to implement a simple one will be coved as the first half.
In the second half of this post, I will discuss a little bit more on how to debug ...

Some of my previews experiment works: 2016
This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.
10 post articles, 2 pages.