The Advanced Software and Distributed Computing Lab is a state-of-the-art research facility dedicated to advancing the field of software development and distributed computing. Our lab focuses on developing innovative software solutions, leveraging advanced technologies and distributed computing paradigms to tackle complex problems and enable efficient and scalable software systems. We aim to drive advancements in software engineering, grid computing, and distributed systems, contributing to the development of cutting-edge software applications.

Key Features of the Advanced Software and Distributed Computing Lab:

  • Software Development:

    The lab emphasizes software engineering best practices, employing rigorous methodologies and processes to ensure the development of high-quality software solutions. We focus on requirements engineering, software architecture, design patterns, and code quality to deliver reliable, maintainable, and scalable software systems. Primarily, we develop in-house software for NCP mostly related to management information system applications. In parallel, we have been contributing in software development for CERN projects both via in-person attachment as well as remotely.

  • Management of a Computational Grid Node:

    We are experienced in the deployment and operation of distributed computing facilities like Worldwide Large Hadron Collider Computing Grid (WLCG) Node. NCP is natively hosting a Tier-2 Site i.e., NCP_LCG2 (a.k.a. T2_PK_CMS) of Compact Muon Solenoid (CMS) experiment, a constituent of the Large Hadron Collider (LHC) project at CERN. NCP_LCG2 site is available on the WLCG Globe since 2005. This facility is proficient in batch job processing and is capable to explore techniques such as parallel processing, distributed algorithms, and fault-tolerant systems to achieve efficient & scalable computing across multiple nodes or machines.

  • Administration of a Digital Certification Authority:

    We are also involved in the endorsement of trust fabric across e-Infrastructure services like WLCG by providing credible identity service making use of an indigenous Public-Key Infrastructure (PKI) framework. NCP hosts a non-commercial Certification Authority (CA) setup known as PK-Grid-CA used to issue/revoke user and host certificates for relevant user communities. PK-Grid-CA is an accredited CA since 2004 by European Grid Policy Management Authority (EUGridPMA) which is governed by Interoperable Global Trust Federation (IGTF). PK-Grid-CA publishes its policy document known as Certificate Policy/Certification Practice Statement (CP/CPS) according to a recommended standard. The document is periodically reviewed by the EUGridPMA community to address any non-compliance(s) in exercising the routine operations with respect to our published policy.

  • Big Data Analytics:

    The lab focuses on the deployment and operation of distributed solutions for big data analytics and processing. We employ distributed computing frameworks such as Apache Hadoop, Apache Spark, and distributed databases to handle large volumes of data, extract valuable insights, and support data-driven decision-making.

  • Distributed Infrastructure Deployment for Container Orchestration:

    We are working to configure and setup distributed infrastructure that can be utilized to run machine learning workflows using containerized applications employing technologies such as Kubernetes, Docker and Kubeflow etc.

  • Establishing Collaborations:

    The Advanced Software and Distributed Computing Lab actively collaborates with International and national research institutions. We engage in joint projects, share knowledge, and conduct technology transfer to ensure the practical relevance and real-world impact of our research outcomes. Our major international research partners are CERN and EUGridPMA (IGTF). On the other hand, our national research partners are our local universities such as PIEAS, QAU etc.

  • Education and Skill Development:

    The lab is dedicated to education and skill development in advanced software engineering and distributed computing. We offer training programs, workshops, and internships to students and professionals, equipping them with the necessary expertise and hands-on experience in cutting-edge software development and distributed computing technologies.

Through our research, innovation, and collaborations, the Advanced Software and Distributed Computing Lab aims to advance the field of software engineering and distributed computing, develop state-of-the-art software solutions, and contribute to the development of efficient, scalable, and resilient software systems in an increasingly distributed and interconnected world.