High Performance Computing and Networking Lab (HPCNL)

Introduction


High performance computing (HPC) has become essential to almost every field of research to foster innovation and growth. The proliferation of cloud based applications along with the phenomenal growth in smart phone adoption has completely changed the high performance computing landscape. Today, high performance computing is reaching exascale as billions of devices generate zettabytes of IP traffic which is served from various cloud infrastructures and data centers across the globe. HPCNL was established in June 2008 to initiate R&D in HPC and its related echo system. Our research lab is focused on computer systems, networks, and application performance debugging. Our aim is to use overarching approach in cloud computing by covering various aspects related to the cloud such as multi-core infrastructure, virtualization, parallel computing, and distributed application development.

With regards to cloud infrastructure, our lab has developed benchmarks that evaluate the performance of different memory sub-systems, hardware devices, processors, system libraries, operating systems, networks, and applications to identify key performance bottlenecks. Our tools can help in developing techniques to reduce these bottlenecks and achieve maximum sustainable performance. These benchmarks provide a holistic view of system performance and can be useful for system architects as well as end users to compare various systems on the basis of their performance potential.

Similarly, virtualization technology is a key enabler in the cloud based services. Virtualization has made it possible to maximize computer hardware utilization while minimizing overheads of management, power consumption, maintenance and, physical infrastructure. The core component of virtualization is a hypervisor that is also known as virtual machine monitor (VMM). We have successfully completed projects like System Mode Emulation in QEMU and Type-2 Hypervisor for MIPS64 based Systems to demonstrate our capabilities in virtualization and cloud computing domain. We mainly focused on embedded systems domain because of non-availability of virtualization solutions in this arena and its usage in Internet-of-Things (IoT) domain.

Our lab is also working on parallel computing to speed up large scale distributed applications. In this regard we are focusing on harvesting full advantages of multi-core systems. Multicore processor based systems are now everywhere, from laptops, desktops, servers, embedded systems to mobile devices. One of on-going projects in HPCNL is related to parallelization of sequential code for efficient execution on shared memory multi-core systems. The aim of the project is to integrate parallelization capabilities in Java Virtual Machine (JVM). JVM profiles running applications for identification of hot spots of binary code to facilitate Just-in-time (JIT) compilation into native machine code. A hotspot method marked for JIT compilation is potential candidate of parallelization. This project considers hotspot methods for loop level parallelization to take advantage of shared memory multi-core systems. Our aim is to speed up big data applications such as Hadoop and Hive using our modified JVM.

Recently, HPCNL is developing a search engine "Humkinar Pakistan" for Urdu language with the collaboration of Center of Language Engineering. In this project, we are developing tools and algorithms to identify, crawl and index Urdu content present on the Internet. Furthermore, we will develop efficient information storage and retrieval system for a large scale search engine. Our initial prototype can be accessed using www.humkinar.com.pk.

HPCNL is equipped with state-of-the-art multi-core processors based systems supporting up to 1 Gbps network setup. The cluster section is equipped with a capacity of 130 PCs supporting up to 1 Gbps network setup. HPCNL lab is designed on international standards providing secure internal and external high speed connectivity.

Objectives

  • RnD in High Performance Computing in collaboration with industry and academia
  • Develop indigenous HPC/Cloud solutions and applications for national needs.
  • Empowering local students and researchers with state-of-the-art practical research

Research Areas

  • Virtualization and Cloud Computing
  • Parallelization and Multi-core programming.
  • Performance debugging in Embedded Systems
  • Distributed Systems/Big data Analytics