
Hello! My name is Patrick Krusiec. I am currently an undergraduate studying Computer Science and Mathematics at Northern Illinois University. My software interests presently are generally focused on distributed computing, computer architecture and security, and operating systems.
I am always happy to talk about software, math, and interesting problems. Please contact me at [email protected]. I can be found on Github and LinkedIn.
Currently, my main object of attention is Rust in the Linux Kernel centered on, but not limited to, file system drivers. Other topics I allocate attention to are:
- How has the combination of (a) the breakdown of Dennard scaling preventing increases in CPU clock speed and (b) sublinear increases in single-threaded performance when CPU clock speed is kept fixed while transistor counts increase affected software? The most obvious effects are the rise of multi-threading to make use of muli-core CPUs and the use of coprocessors such as GPUs along with their associated drivers and APIs, such as CUDA. But is this it? Or will future software seem very bizarre to us in the present day in order make use of massively parallel computers?
- What is the best way to build an operating system? Microkernels were all the rage back in the 1980s, remember GNU Hurd? Today the dominant paradigm is a monolith kernel (Linux) with some sort of hypervisor and container system, but is this optimal? Of particular interest to me are unikernels such as MirageOS.