Research during my Master's programme at Northwestern University, published at CODES-ISSS conference in 2007.
Abstract
In battery powered embedded systems, dedicated circuitry is used to convert stored energy into a form that can be directly used by processors. These power regulation devices seek to mask non-ideal aspects of the battery and present an ideal, fixed-voltage power source to the processor. However, this comes at a high price in terms of form factor, component cost, and energy efficiency. We describe and evaluate a new method for eliminating voltage regulation circuitry from battery-powered embedded sys- tems. This method makes use of power gating, frequency scaling, and thread migration in chip-level multiprocessors to dynamically adjust to varying battery voltage. The key advantages of this approach are reduction in printed circuit board area (by 1/3 in many embedded applications) and the elimination of bulky unreliable discrete components such as electrolytic capacitors while maintaining and sometimes even improving battery lifespan. We have evaluated the power consumption, performance, and reliability implications of the proposed technique using analytical techniques, power models, and detailed full-system simulation of numerous benchmarks from ALPBench and MediaBench. For numerous battery technologies, the proposed technique permits the elimination of power regulation circuitry and increases battery lifespan while maintaining the same performance as systems using Buck-Boost voltage regulators.
Project page for CS495 Script Programming course taken in Spring 2006 at Northwestern University.
Project page for CS351 and CS352 openGL Computer Graphics course taken in Fall 2005 and Winter 2006 at Northwestern University.
Undergraduate research project taken during the summer of 2005, in collaboration with Dan Burke, Kendall Chuang, and a research group from UC Berkeley. Presented at GSRC Annual Symposium in 2005.
Abstract
The Home Gateway Demo consists of an ad-hoc distributed media framework. The Framework enables a flexible environment capable of streaming media from a variety of source devices to various playback devices, with the necessary real-time transcoding provided by the central hub server.
Overall management of the media streaming environment is the change of a central, portable, remote control device. In addition to transcoding, the hub server coordinates the sink and source devices, maintains logical and physical routing of media content.
This project will demonstrate the use of reprogrammable fabric and the utility of this framework for future research activities in media processing, wireless communication, and advanced reconfigurable architectures.
Four projects done for ECE 412 Microprocessor Laboratory at University of Illinois in Spring 2005.
Networking Laboratory
Lab reports for the five projects that were done, in collaboration with a peer Jigar Doshi, for ECE 435 Networking Laboratory at University of Illinois in Spring 2005. All documents are in pdf format, including source snippets and results.
- Setting up Linux & PPP routing
- User Mode Linux & TCP Timers
- SNMP Protocols & Device Drivers
- TCP & UDP Echo Delays
- Porting & Experimenting DCCP-3
- Load Balancing and High Availability
VHDL source files for three of the projects that were done, in collaboration with a peer Yoontae Kim, for ECE 411 Computer Architecture at University of Illinois in Fall 2004. All projects were coded with Mentor Graphics HDL Designer in VHDL.
VHDL source files for the last three projects that were done, in collaboration with Cassie Lee, for ECE 249(currently 385) Digital Systems Laboratory at University of Illinois in Spring 2004. All projects were coded with Mentor Graphics HDL Designer in VHDL, and tested on Altera Quartus II FPGA.
ECE390 Computer Engineering II taken in Spring 2004 at University of Illinois. The following projects involved extensive assembly programming in X86 processor architecture platform.
CS225 Data Structures taken in Fall 2003 at University of Illinois. Various machine projects processing different forms of data structures, coded in C++.
CS125 Introduction to Computer Science taken in Spring 2003 at University of Illinois. Various machine projects coded in Java.
Project Reports
The following are project reports and/or source codes for term projects done for electrical and computer engineering classes at University of Illinois and Northwestern University.
Mapping a folder into a drive
- for Microsoft Windows
- To map a folder foldername into a drive
subst {drive}: C:\{pathname}\foldername}
ex.) subst X: C:\project
subst {drive}: /D
ex.) subst X: /D
To make this command permanent, copy the lines into autoexec.bat and store it in the Startup folder
MacOSX Performance Optimization
- Disable Spotlight and remove icon from the menu bar
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak
killall SystemUIServer
- Disable Notification Center
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist