High Performance Computing Through Parallel and Distributed Processing
Total Page:16
File Type:pdf, Size:1020Kb
Yadav S. et al., J. Harmoniz. Res. Eng., 2013, 1(2), 54-64 Journal Of Harmonized Research (JOHR) Journal Of Harmonized Research in Engineering 1(2), 2013, 54-64 ISSN 2347 – 7393 Original Research Article High Performance Computing through Parallel and Distributed Processing Shikha Yadav, Preeti Dhanda, Nisha Yadav Department of Computer Science and Engineering, Dronacharya College of Engineering, Khentawas, Farukhnagar, Gurgaon, India Abstract : There is a very high need of High Performance Computing (HPC) in many applications like space science to Artificial Intelligence. HPC shall be attained through Parallel and Distributed Computing. In this paper, Parallel and Distributed algorithms are discussed based on Parallel and Distributed Processors to achieve HPC. The Programming concepts like threads, fork and sockets are discussed with some simple examples for HPC. Keywords: High Performance Computing, Parallel and Distributed processing, Computer Architecture Introduction time to solve large problems like weather Computer Architecture and Programming play forecasting, Tsunami, Remote Sensing, a significant role for High Performance National calamities, Defence, Mineral computing (HPC) in large applications Space exploration, Finite-element, Cloud science to Artificial Intelligence. The Computing, and Expert Systems etc. The Algorithms are problem solving procedures Algorithms are Non-Recursive Algorithms, and later these algorithms transform in to Recursive Algorithms, Parallel Algorithms particular Programming language for HPC. and Distributed Algorithms. There is need to study algorithms for High The Algorithms must be supported the Performance Computing. These Algorithms Computer Architecture. The Computer are to be designed to computer in reasonable Architecture is characterized with Flynn’s Classification SISD, SIMD, MIMD, and For Correspondence: MISD. Most of the Computer Architectures preeti.dhanda01ATgmail.com are supported with SIMD (Single Instruction Received on: October 2013 Multiple Data Streams). The class of Accepted after revision: December 2013 Computer Architecture is VLSI Processor, Multi-processor, Vector Processor and Downloaded from: www.johronline.com Multiple Processor. www.johronline.com 54 | P a g e Yadav S. et al., J. Harmoniz. Res. Eng., 2013, 1(2), 54-64 computing is using clusters of independent processors connected in parallel. Many computing problems are suitable for parallelization, often problems can be divided in a manner so that each independent processing node can work on a portion of the problem in parallel by simply dividing the data to be processed, and then combining the final processing results for each portion. This type of parallelism is often referred to as data- High-Performance Computing (HPC) is used parallelism, and data-parallel applications are to describe computing environments which a potential solution to petabyte scale data utilize supercomputers and computer clusters processing requirements. Data-parallelism can to address complex computational be defined as a computation applied requirements, support applications with independently to each data item of a set of significant processing time requirements, or data which allows the degree of parallelism to require processing of significant amounts of be scaled with the volume of data. The most data. Supercomputers have generally been important reason for developing data-parallel associated with scientific research and applications is the potential for scalable compute-intensive types of problems, but performance in high-performance computing, more and more supercomputer technology is and may result in several orders of magnitude appropriate for both compute-intensive and performance improvement. data-intensive applications. A new trend in supercomputer design for high-performance The discussion below focuses on the case of Though, the classical PRAM model assumes multiple computers, although many of the synchronous access to the shared memory. issues are the same for concurrent processes A model that is closer to the behaviour of real- running on a single computer. world multiprocessor machines and takes into Three view points are commonly used: account the use of machine instructions, such Parallel algorithms in shared-memory model - as Compare-and-swap (CAS), is that of All computers have access to a shared asynchronous shared memory. memory. The algorithm designer chooses the Parallel algorithms in message-passing model- program executed by each computer. The algorithm designer chooses the structure One theoretical model is the parallel random of the network, as well as the program access machines (PRAM) that are used. executed by each computer. www.johronline.com 55 | P a g e Yadav S. et al., J. Harmoniz. Res. Eng., 2013, 1(2), 54-64 Models such as Boolean circuits and sorting analytics, and creation of keyed data and networks are used. A Boolean circuit can be indexes to support high-performance seen as a computer network: each gate is a structured queries and data warehouse computer that runs an extremely simple applications. The Data Refinery is also computer program. Similarly, a sorting referred to as Thor, a reference to the mythical network can be seen as a computer network, Norse god of thunder with the large hammer each comparator is a computer. symbolic of crushing large amounts of raw Distributed algorithms in message-passing data into useful information. A Thor cluster is model- similar in its function, execution environment, The algorithm designer only chooses the filesystem, and capabilities to the Google. computer program. All computers run the The figure given below shows a representation same program. The system must work of a physical Thor processing cluster which accurately regardless of the structure of the functions as a batch job execution engine for network.A commonly used model is a graph scalable data-intensive computing with one finite-state machine per node. applications. In addition to the Thor master Architecture of high performance and slave nodes, additional auxiliary and computers: common components are needed to implement The Department of High Performance a complete HPCC processing environment. Computer Architecture is concerned with the architecture, the application and the continued development of high performance computers beneficial to the natural and life sciences. Our focus is on the selection and analysis of experimental data generated by accelerator facilities such as GSI ("Society for Heavy Ion Research" in Darmstadt, Germany) and CERN (the European Centre for Nuclear Research in Geneva, Switzerland). Both of these facilities employ shared, typically massive parallel systems and clusters operating under high- Thor Processing Cluster level, real-time and dependability standards. The second of the parallel data processing Our task is the research and development of platforms is called Roxie and functions as a new computer architectures and algorithms to rapid data delivery engine. This platform is achieve better energy-efficiency. Within the designed as an online high-performance context of shared computing we implement structured query and analysis platform or data both GRID and virtual technologies as well as warehouse delivering the parallel data access cloud computing systems. processing requirements of online applications High Performance Computing Cluster through Web services interfaces supporting (HPCC) System Architecture- thousands of simultaneous queries and users The HPCC system architecture includes two with sub-second response times. Roxie utilizes distinct cluster processing environments, each a distributed indexed file system to provide of which can be optimized independently for parallel processing of queries using an its parallel data processing purpose. The first optimized execution environment and of these platforms is called a Data Refinery filesystem for high-performance online whose overall purpose is the general processing. Both Thor and Roxie clusters processing of massive volumes of raw data of utilize the ECL programming language for any type for any purpose but typically used for implementing applications, increasing data cleansing and hygiene, ETL processing of continuity and programmer productivity. the raw data, record linking and entity the figure given below shows a representation resolution, large-scale ad-hoc complex of a physical Roxie processing cluster which www.johronline.com 56 | P a g e Yadav S. et al., J. Harmoniz. Res. Eng., 2013, 1(2), 54-64 functions as an online query execution engine A computer program that runs in a distributed for high-performance query and data system is called a distributed program, and warehousing applications. A Roxie cluster distributed programming is the process of includes multiple nodes with server and writing such programs. worker processes for processing queries; an Distributed computing also refers to the use of additional auxiliary component called an ESP distributed systems to solve computational server which provides interfaces for external problems. In distributed computing, a problem client access to the cluster; and additional is divided into many tasks, each of which is common components which are shared with a solved by one or more computers which Thor cluster in an HPCC environment. communicate with each other by message Although a Thor processing cluster can be passing. implemented and used without a Roxie Properties of distributed systems - cluster, an HPCC environment which includes So