1. |
Japonica:
Transparent Runtime and Memory Coherence Support for GPU Based
Heterogeneous Many-Core Architecture,
11/2011-10/2013. (new)
In this project, we propose a new runtime platform,
called Japonica
(Java with Auto-Parallelization ON GraphIcs Coprocessing
Architecture), which enables a multithreaded Java program to
scale transparently on a GPU-based heterogeneous system. With
the transparent runtime support, application developers can
utilize both CPU and GPU resources seamlessly with an
idiomatic Java programming model. Japonica possesses several
unique features: (1) automatic translation
from Java bytecode to OpenCL, (2)
auto-parallelization of loops with non-deterministic data
dependencies, (3) dynamic load scheduling and
rebalancing via task migration between CPU and GPU,
(4) virtual shared memory between host and device,
and (5) speculative coherency protocol for
threads running on both CPU and GPU cores. The proposed work
explores GPU-friendly ways to support a partial Java heap and
STM-based synchronization of shared objects and arrays
mirrored in GPU.
1 Ph.D student: interested in Java Virtual Machine,
Java compiler, software transactional memory. Some experiences
in GPU programming is preferred.
|
2 |
Self-Organizing
Desktop Cloud
(SODC)
We
are currently building a P2P Personal Cloud system which
heavily adopts the Xen virtual machines. The research
focus will be on VM I/O performance isolation, live VM
migration over WAN environment. 1 student: good in virtual machines design, such as
KVM, Xen, VMWare. All these are related to "virtualization
techniques". This research is quite low level. Students
require solid background in Linux kernel and VM and computer
networking.
|