Business school University of Saint Thomas Of Mozambique Bachelors Honor In Computer Science High Performance computing in Advanced Operating System Eric Pascal Wasonga, Daniel Darsamo , Kainza Scovia, Marcos Custanheira . 1
HIGH PERFORMANACE COMPUTING Table Outline 1.introduction 2. components and application of HPC 3. Parallel computing 3. distributed computing 4. super computing 5. quantam computing 6. conclussion 2
Introduction This presentation aims to provide an in-depth exploration of three pivotal topics in contemporary computer science: High-Performance Computing (HPC), Computer Architecture, and Quantum Computing. Each section will cover fundamental concepts, advanced techniques, and real-world applications, equipping readers with a comprehensive understanding of these domains for academic and practical purposes. 3
Key components of High-Performance Computing (HPC) 1 Computing Power HPC systems utilize multiple processors or cores, often organized into nodes, to perform computations simultaneously. These systems range from small clusters to large supercomputers with thousands of processors. 2 Storage High-speed storage solutions, such as solid-state drives (SSDs) and parallel file systems (e.g., Lustre, GPFS), are essential for managing large datasets efficiently. 3 Networking Fast and reliable networking, including technologies like InfiniBand and 10/40/100 Gigabit Ethernet, ensures quick data transfer between computing nodes. 4
Appplication of High-Performance Computing (HPC) Applications of HPC : Adopted from HPC wire 5
Techniques in Parallel Computing 1. Data Parallelism Distributing subsets of the same dataset across multiple computing nodes and performing the same operation on each subset. 2. Task Parallelism Distributing different tasks across multiple processors, where each processor performs a different task on the same or different data. 3. Pipeline Parallelism Dividing tasks into a series of subtasks, each executed in a specific order, analogous to an assembly line. Parallel Computing Parallel computing is a computational paradigm that allows for the execution of multiple calculations or processes simultaneously . 6
Parallel Computing 1 . Shared memory model, multiple processors access a common memory space. 2. Distributed memory model, each processor has its own private memory, and processors communicate with each other through a network. 3.Hybrid model combines elements of both shared and distributed memory models, leveraging the advantages of each. P rogramming models 1. Symmetric Multiprocessing (SMP) systems utilize multiple identical processors that share a single memory space and are connected via a common bus. 2. Massively Parallel Processing (MPP) systems consist of numerous independent processors, each with its own private memory. 3. Cluster Computing involves connecting multiple standalone computers (nodes) through a network to function as a cohesive system. A rchitecture 7
Distributed Computing 1 Scalability Ability to handle increasing workloads by adding more nodes. 2 Fault Tolerance Capability to continue operation even if some components fail. 3 Resource Sharing Efficient utilization of resources across multiple systems. 4 Concurrency Multiple processes running simultaneously. Distributed computing is integral to High-Performance Computing (HPC) as it enables the use of networked computer resources to work collaboratively on complex computations. By distributing tasks across multiple systems, HPC can achieve; 8
Types and Technics of Distributed Computing Types of Distributed Computing Techniques of Distributed Computing 1. Message Passing Interface (MPI) MPI is a standardized and portable message-passing system designed for parallel computing architectures . 2. Remote Procedure Call (RPC) RPC is a protocol that allows a program to execute procedures on a remote server as if it were local. 3. MapReduce MapReduce is a programming model designed for processing large datasets in a distributed computing environment. Grid computing P eer to peer model 1 2 3 Client Sever computing 9
Supercomputing High Processing Speed Measured in FLOPS (Floating Point Operations Per Second). Large Memory Capacity Ability to handle extensive datasets. High-Speed Interconnects Fast communication between processors. Specialized Software Optimized for performance. Major Characteristics Supercomputing involves the use of supercomputers, which are the fastest and most powerful computers available. Supercomputers are designed to perform highly complex computations at extremely high speeds, often measured in FLOPS (Floating Point Operations Per Second) 10
Examples of Super Computers and their Applications Summit, Developer : IBM Usage : Summit is employed for a variety of scientific research applications, including astrophysics, climate modeling, and genomics. It boasts a peak performance of over 200 petaflops . Fugaku ,Developer : RIKEN and Fujitsu Usage : Fugaku is used for simulations in medicine, material sciences, and climate research. It achieved the top position in the TOP500 list of supercomputers with a performance exceeding 442 petaflops. 3. Sierra ,Developer : IBM Usage : Sierra is primarily used for nuclear weapons simulations and stockpile management at the Lawrence Livermore National Laboratory. It delivers a peak performance of over 125 petaflops. 11
Supper computing challenges Energy consumption Heat Dissipation Programming complexity 12
Computer Architecture Processor (CPU) Executes instructions from programs, performing arithmetic and logical operations. Memory Stores data and instructions for quick access by the processor. Input/Output (I/O) Systems Manage data exchange between the computer and external devices. concept 13
Processor Design 1. Advanced Microprocessor Architectures Integrate multiple processing cores on a single chip, allowing parallel execution of tasks to enhance performance and energy efficiency. Many-Core Processors Incorporate a large number of cores, often exceeding dozens or hundreds, to perform massively parallel computations, suitable for HPC applications. Vector Processors Perform single instructions on multiple data points simultaneously, ideal for applications involving large datasets and repetitive calculations. Multi-core processor 14
2. Memory Hierarchy Registers : Registers are the fastest and smallest form of memory, located directly within the CPU. They store data and instructions temporarily during program execution . Cache Memory : Cache memory sits between the CPU and main memory, serving as a high-speed buffer to reduce memory access latency. It stores frequently accessed data and instructions to expedite retrieval . Main Memory (RAM) : Main memory provides larger storage capacity than cache memory but with longer access times. It holds the data and instructions required by active processes . Secondary Storage : Secondary storage devices, such as hard disk drives (HDDs) and solid-state drives (SSDs), offer persistent storage for data and programs, albeit with slower access speeds compared to main memory. 3. System on chip SoC SoC architectures integrate all essential components of a computing system onto a single chip, including processing units, memory controllers, input/output interfaces, and system management functions. This integration minimizes physical footprint, power consumption, and manufacturing costs, while maximizing system performance and efficiency. 15
Concepts of Quantum Computing Quantum Superposition A qubit can exist in multiple states simultaneously, enabling parallelism in computations. Qunatum Entanglement Qubits can be entangled, meaning the state of one qubit can depend on the state of another, even over long distances, allowing for complex correlations. Quantum Interference Quantum states can interfere with each other, enhancing correct solutions while canceling out incorrect ones. Quantum Bits Quibits may exist in several states simultaneously ,in contrast to classical bits which only represent 0 or 1. Because of this quantum computing can handle enormous volumes of data simultaneously. 16
Quantum Algorithms Shor's Algorithm Shor's algorithm is used for integer factorization, exponentially faster than the best-known classical algorithms. It has significant implications for cryptography, particularly in breaking widely used encryption schemes like RSA. Grover's Algorithm Grover's algorithm provides a quadratic speedup for unstructured search problems, allowing a quantum computer to search through unsorted databases more efficiently than classical counterparts. Major Examples Other Quantum Algorithm Vairous other algorithims have been developed for specific computational tasks, including simulations ,optimization ,cryptography ,and machine learning. 17
Quantum Cryptography Quantum Key Distribution (QKD) QKD enables two parties to generate a shared, secret key, ensuring secure communication. The most well-known QKD protocol, BB84, uses the principles of quantum superposition and entanglement to detect eavesdropping, guaranteeing secure key exchange. Post-Quantum Cryptography Post-Quantum Cryptography involves developing classical cryptographic algorithms that are secure against quantum attacks. Research in this field aims to create encryption methods resistant to quantum computing capabilities, ensuring data security in a future with quantum computers . 18
C onclusion In conclusion, the convergence of High-Performance Computing, Computer Architecture, and Quantum Computing underscores the inexorable march towards a future where computational boundaries are continually pushed, enabling humanity to tackle grand challenges, unlock new discoveries, and usher in a new era of innovation and progress. As we navigate this ever-evolving landscape, it is imperative to embrace the opportunities and challenges posed by these technologies, ensuring that we harness their full potential for the betterment of society and the advancement of human knowledge. 19
References References High-Performance Computing (HPC): 1.Dongarra, J., Beckman, P., et al. (2020). The International Exascale Software Project: A Call to Cooperative Action by the Global High-Performance Community. IEEE Computer, 53(3), 16-24 2.Wilkinson, B., & Allen, M. (2021). Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers. Springer. See more references on our report word documenet . 20