Page 18 - profile2014.indd
P. 18
Computer Systems Lab
Lab
Research Faculty
Jan-Jan Wu The Computer Systems Lab was established in 2009. Its primary research areas in-
Research Fellow clude multicore systems, virtualization, system software for cloud computing and
related applications, and storage designs for embedded systems.
Yuan-Hao Chang
Assistant Research Fellow
1. System Support for Virtualization
Sheng-Wei Chen
Associate Research Fellow Virtualization is very important for multicore computing and cloud computing. It
PeiZong Lee allows applications running on such systems to be agnostic about the underlying
Research Fellow hardware platforms. For example, applications compiled for a particular instruc-
Chien-Min Wang tion-set architecture, such as Intel’s x86 running under Windows, could be run on
Associate Research Fellow a system using the instruction set of ARM architecture under Linux. Dynamic bi-
nary translation (DBT) is the core technology for virtualization. At present, QEMU
is the most popular retargetable DBT system that supports both process-level and
system-level virtualization for multiple guest and host ISAs and OS’s. As these binary
manipulation technologies are performed at runtime and most of them expand the
original binary code for their intended functions, they are notoriously time consum-
ing. For example, QEMU requires at least 10X more runtime overhead in practice.
Sophisticated and elaborate binary optimization schemes are required to cut down
the overhead.
Through our current work, we have developed a multi-threaded DBT prototype,
called HQEMU, using QEMU and LLVM (Low Level Virtual Machine) as building
blocks. HQEMU improves QEMU process-level virtualization performance by a factor
of 4X for emulation of single-thread applications, and by a factor of 25X for emula-
tion of multi-threaded applications. We are currently extending our current work to
develop binary manipulation technologies that are crucial to support system-level
virtualization.
2. Design and Implementation of Cloud Gaming System
Cloud gaming systems render the game scenes on cloud servers and stream the
encoded game scenes to thin clients over the Internet. The thin clients send user
inputs, from joysticks, keyboards, and mice, to the cloud servers. With cloud gam-
ing systems, users can: (i) avoid upgrading their computers for the latest games, (ii)
play the same games using thin clients on different platforms, such as PCs, laptops,
tablets, and smartphones, and (iii) play more games due to reduced hardware/soft-
ware cost. Meanwhile, game developers may: (i) support more platforms, (ii) avoid
hardware/software incompatibility issues, and (iii) increase net revenues. Therefore,
cloud gaming systems have attracted attention from users, game developers, and
service providers.
We have developed an open cloud gaming system, GamingAnywhere, which can
18 研究群 Research Laboratories