1 UNIT – 1 Systems Modelling, Clustering and Virtualization 1. Scalable Computing Over the Internet 1.1 Scalability: Scalability is the capability of a system or network or process to handle a growing amount of works like database storage, software usage and so on . A scalable system should be able to handle the ever-increasing data, levels of computations and should be efficient. 1.2 NOTE: Generally, a computer uses a centralized system to solve the problems. A parallel and distributed computing system uses multiple computers to solve large scale problems over the Internet . 1.3 Parallel Computing: Execution of many processes is carried out simultaneously in this case. Large problems can be divided into smaller ones, solved at the same time and integrated later. 1.4 Distributed Computing: A distributed system is a model in which components located on connected computers (through a network) interchange/monitor their actions by passing messages. Distributed computing may refer to systems situated at different physical locations or different actions being performed on the same system. Distributed Computing is centred on data and based on networks. NOTE: Data Center is a centralised repository and distribution of data and information organised around a particular concept (ex: Telecommunications, Health data, business data etc.). A typical data center may have a capacity in Petabytes. 1.5 Internet Computing: Data centers and super computer sites must be upgraded to meet the demands of millions of users who utilize the Internet. High Performance Computing (HPC), which was a standard for measuring the system performance, is no longer used. High Throughput Computing (HTC) came into existence with emergence of computing clouds. Here, the systems are parallel and distributed. 1.6 Platform Evolution: Figure 1.1 : Evolutionary Trend towards parallel, distributed and cloud computing
2 Computer technology has gone through five generations of development, each spanning at 10 to 20 years. By the start of 1990s, the use of HPC and HTC systems has skyrocketed. These use clusters, grids, Internet and clouds. The general trend is to control shared web resources and massive data over the Internet. In the above figure 1.1, we can observe the evolution of HPC and HTC systems. NOTE: HPC contains super computers which are gradually replaced by clusters of intercooperating systems that share the data among them. A cluster is a collection of homogeneous computers, which are physically connected. HTC shows the formation of peer-to-peer (P2P) networks for distributed file sharing and apps. A P2P system is built over many client machines and is globally distributed. This leads to formation of computational grids or data grids. 1.7 High Performance Computing (HPC): HPC stressed upon the speed performance. The speed of HPC systems has increased from Gflops to Pflops (FLOP=> Floating Point Operations Per Second) these days, driven by the requirements from different fields like science, engineering, medicine and others . The systems that generally have high speed are super computers, main frames and other servers. It should be noted here that the number of users (in HPC) is limited – less than 10% of all the users. The majority of the market now uses servers, PCs or mobile devices that conduct Internet searches and other assigned tasks. 1.8 High Throughput Computing: The market-oriented computing is now going through a strategic change from HPC to HTC paradigm (concept). HTC concentrates more on high-flux computing (ex: Internet searches, web apps used by many users simultaneously). The performance goal has shifted from speed of the device to the number of tasks completed per unit of time (throughput). HTC needs not only to improve the speed but also to solve other problems like time availability, cost, security and reliability. 1.9 New Computing Concepts: It can be seen from Figure 1.1that SOA (Software Oriented Architecture) has made the web services available for all tasks. The Internet Clouds have become a major factor to consider for all types of tasks. Three new paradigms have come into existence: (a) Radio-Frequency Identification (RFID): This uses electro-magnetic fields to automatically identify and track tags attached to objects . These tags contain electronically stored information. (b) Global Positioning System (GPS): It is a global navigation satellite system that provides the geographical location and time information to a GPS receiver . (c) Internet of Things (IoT): It is the internetworking of different physical devices (vehicles, buildings etc.) embedded with electronic devices (sensors), software, and network connectivity . Data can be collected and exchanged through this network (IoT). 1.10 Computing Paradigm Distinctions: (a) Centralized Computing: All computer resources like processors, memory and storage are centralized in one physical system. All of these are shared and interconnected and monitored by the OS. (b) Parallel Computing: All processors are tightly coupled with centralized shared memory or loosely coupled with distributed memory (parallel processing). Inter
3 processor communication is achieved by message passing. This methodology is known as parallel computing. NOTE: Coupling is the inter-dependence between software/hardware modules. (c) Distributed Computing: A distributed system consists of multiple autonomous computers with each device having its own private memory. They interconnect among themselves by the usage of a computer network. Here also, information exchange is accomplished by message passing. (d) Cloud Computing: An Internet Cloud of resources can either be a centralized or a distributed computing system. The cloud applies parallel or distributed computing or both. Cloud can be built by using physical or virtual resources over data centers. CC is also called as utility/ service/concurrent computing. 1.11 NOTE: IoT is a networked connection of general objects used everyday including computers, systems and sensors. IoT is supported by Internet Clouds to access any ‘thing’ at any place at any time. Internet Computer is a larger concept that covers all computing paradigms, emphasizing on distributed and cloud computing. 1.12 Explanation on the recent surge in networks of clusters, data grids. Internet Clouds are the result of moving desktop computing to service-oriented computing using server clusters and huge databases at data centers. In the future, both HPC and HTC will demand multicore processors that can handle large number of computing threads per core. Both concentrate upon parallel and distributed computing. The main work lies in the fields of throughput, efficiency, scalability and reliability. Main Objectives: (a) Efficiency: Efficiency is decided by speed, programming and throughput demands’ achievement. (b) Dependability: This measures the reliability from the chip to the system at different levels. Main purpose here is to provide good QoS (Quality of Service). (c) Adaption in the Programming Model: This measures the ability to support unending number of job requests over massive data sets and virtualized cloud resources under different models. (d) Flexibility: It is the ability of distributed systems to run in good health in both HPC (science/engineering) and HTC (business). 1.13 Degrees of ‘Parallelism’: (a) Bit-level parallelism (BLP) 8 bit, 16, 32, and 64. (b) Instruction-level parallelism (ILP): The processor executes multiple instructions simultaneously. Ex: Pipelining, supercomputing, VLIW (very long instruction word), and multithreading. Pipelining: Data processing elements are connected in series where output of one element is input to the next. Multithreading: Multithreading is the ability of a CPU or a single core in a multicore processor to execute multiple processes or threads concurrently, supported by the OS. (c) Data-level Parallelism (DLP): Here, instructions are given like arrays (single instruction, multiple data SIMD). More hardware support is needed. (d) Task-level Parallelism (TLP): It is a process of execution where different threads (functions) are distributed across multiple processors in parallel computing environments. (e) Job-level Parallelism (JLP): Job level parallelism is the highest level of parallelism where we concentrate on a lab or computer center to execute as many
4 jobs as possible in any given time period . To achieve this, we purchase more systems so that more jobs are running at any one time, even though any one user's job will not run faster. 1.14 Usage of CC: It is used in different fields for different purposes. All applications demand computing economics, web-scale data collection, system reliability, and scalable performance. Ex: Distributed transaction processing is practiced in the banking industry. Transactions represent 90 percent of the existing market for reliable banking systems. [Give an example of demonetization to increase Internet transactions.] Table 1.1  1.15 Major computing paradigms and available services/capabilities are coming together to produce a technology convergence of cloud/utility computing where both HPC and HTC are utilised to achieve objectives like reliability and scalability. They also aim to reach autonomic operations that can be self-organized and support dynamic recovery. Ex: Interpretation of sensor data, effectors like Google Home and Amazon Echo, smart home devices etc. CC focuses on a business model where a customer receives different computing resources (storage, service, security etc.) from service providers like AWS, EMC, Salesforce.com. A new hype (exciting) cycle is coming into picture where different important and significant works needed by the customer are offered as services by CC. Ex: SaaS, IaaS, Security as a Service, DM as a Service etc. Many others are also along the pipeline. Figures 1.2 and 1.3  depict various actions discussed above (as in 2010).