Experience – nCUBE
Foster City, CA
Senior Software Engineer
December 1995 to January 1997
nCUBE systems used a proprietary 64 bit processor (running Plan9) in an MPP architecture. These systems are used as scaleable parallel processing engines and scaleable IO engines – video pumps and web servers.
- Responsibilities included kernel development (SCSI, VM, COMM), bug fixing, and performance measurement and improvement.
- Designed and implemented 90% of the OptiVision High Speed Quad – a SCSI based MPEG decoder.
- Increased performance of the SCSI disk driver by 10%.
- Designed and implemented performance measurement tools for the SCSI disk, remote SCSI disk, NCMP, and MDS file system subsystems.
- Added performance measurement hooks to the kernel subsystems – devwren, devscsi, qlogic, NCMP, and TCM.
- Helped create a microsecond timer for the kernel – accounted for context switching and interrupts.
- Measured Video Pump performance and identified bottlenecks for ATM delivery, UDP delivery, SCSI raid set size, and SCSI string size.
- Designed and implemented a mechanism to poke a hung CPU into the kernel debugger – required changes to boot code.
- Designed and implemented a mechanism to dump memory from a CPU – required a new TCM driver.
- Designed and implemented a kernel debugger that could be entered via panic, the console, a user program, or a memory dump. Included full virtual memory support: xalloc, kmalloc, palloc, memory maps, memory leak detection, virtual to physical address translation, and physical to virtual address translation. Included full process support, kernel breakpoints, formatted printing of kernel data structures, symbolic disassembler, symbolic address translation, and a 64 bit calculator. The kernel debugger was fully configurable and ran on it’s own stack.