In order to fit the increasing performance requirement for computing systems under the constraints of semi-conductor manufacturing process, it becomes a common approach in industry to increase the number of cores on chip. Moreover, it is getting popular to use the heterogeneous multi-core architecture for meeting the requirement of speed and power consumption in the middle and/or high levels of embedded systems. One of the popularly used heterogeneous multi-core platforms is the Andes Core developed by the Andes Corporation, who is the partner of this project. Since the operating systems and executing platforms among various embedded devices are widely different, many applications are developed in the Java language for its platform independency. In order for these applications to be executed on the heterogeneous multi-core architecture, a lot of adaptations are required for the Java virtual machine (JVM) and the garbage collection mechanism.
This project focuses on the garbage collection of the Java virtual machines. We will investigate the behavior of the garbage collection algorithms in the marking phase and the sweep phase. We will develop a new garbage collection algorithm for the Java virtual machines and experiment on the efficiency of the garbage collectors. In embedded heterogeneous multi-core environments like the Andes Core, we have to keep the size of the garbage collector small and we have to make the garbage collection algorithm efficient. Also, we will extend the newly develop garbage collection into the applications on the distributed heterogeneous multi-core platforms.