Edward Hu
Linux, kernel, OS, GPU, CUDA, virtualization, heterogeneity, anything system. Proud longhorn
About
Tags
RSS
Program Loading and Memory Mapping in Linux
The goal here is to familiarize yourself with how programs are loaded, dynamically paged, and some of the mechanics of signal handling and memory mapping in Linux. execve Syscall The operating s...
Scheduler Activation
What is a thread? A thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler. Kernel Level Threads Pros/Cons Good functionality,...
Add MathJax v3 Support to Jekyll
I was using Mathjax v2 for a while and I heard v3 perform significantly better than v2. Many great tutorials explains explains how to add Mathjax support to Jekyll websites. Some of them only cover...
Linux Program Measurement and mmap
This is a summary over Linux kernel program measurement and mmap. The specs of our experiment environment is listed below. For more details regarding the CPU spec please refer to cpu world. This is...
Memory Resource Management in VMware ESX Server
VMWare ESX Server is a software layer designed to multiplex hardware resources among virtual machines running unmodified commodity operating systems. ESX Server, different to VMware Workstation, is...
Xen and the Art of Virtualization
Xen is an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, without sacrificing either performance...
Start Linux Kernel Hacking
This is a summary of how to compile and boot the Linux kernel on the KVM-qemu virtual machine. It coveres how to get a VM running in KVM, how to build a customized kernel, and how to use GDB with t...
Performance Anamoly of 802.11b
This research is conducted by Martin Heusse, Franck Rousseau, Cilles Berger-Sabbatel, Andrzej Duda on analyzing the performance of the IEEE 802.11b wireless local area networks. Degraded transmitti...
Exokernel
Exokernel is a term every system researcher has heard of at some point in life. However, according to the PDOS group at MIT, there aren't any exokernel-baseed operating ssytems in active use to...
Sketch on the UNIX Timesharing System
Unix is general-purpose, multi-user, interactive operating system, it offers several new features hardly found in other largers operating systems back in the day. These features include (1) a hiera...
Monads in Haskell
I've scratched my head for quite a while trying to understand the concept of monad in Haskell. This is a brief summary of monads. I take William Cook's Anatomy of Programming Languages as m...
Singular Value Decomposition
Unitary matrices and the Singular Value Decomposition (SVD) are two important concepts in linear algebra. In order to fully understand these concepts, we will need to first discuss orthogonality. M...
Understanding Probabilistic Clock Synchronization
This post is meant to discuss the probabilistic clock synchronization technique. The main goal of this technique is to bound the difference between systems by setting up an upper bound. In short, ...
How to Put Papers on ArXiv
I was recently trying to put my research paper draft on ArXiv. I thought it would be as simple as submitting the pdf file, which should take approximately less than ten minutes. I was wrong. It too...
A Little Review on Barrelfish Memomry Management
The memory management has been mentioned numerous times and still remains huge topic. virtual vs. physical memory, physical frame allocation, MMUs, page faults, address space layout, and demand pag...
Pascal GPU memory and cache hierarchy
Memory access efficiency is an important factor in fully utilizing the computational power of graphics processing units (GPUs). However, many GPU vendors like NVIDIA kept the GPU memory hierarchy as...
Map Reduce
I was always interested by the name "map reduce" since two years ago when I first heard this term. But I've never put any effor to know the concept until Chris mentioned it in class b...
Networks
The concept of a worldwide of networks of information was introduced long before the technology used to build the internet. The first workable prototype came in the late 1960s with the creation of ...
File System Design
What exactly is a file system? The general concept is that the file system provides naming organization. It manages the physical disk layout such as picking a block constituting a file, balancing l...
Disk Introduction
This chapter is all about disk. Before we start. We won't go deep into the mechanical part of disk operation; rather we will be focusing on general concept related to disk and algorithms to imp...
Virtual Memory Mechanisms
As we can see in the previous post, all allocation algorithms we discussed lead to external fragmentation. As time goes by, external fragmentation is going to get worse and we need solutions for th...
Virtual Memory Overview
I love pointers. Pointer is very a useful feature in programming languages like C/C++. I can pass weird hexidecimal numbers to a function and then it will magically locate where the program is in m...
© Edward Hu