INTRODUCTION Cloud computing is tied up with the parallel and distributed computing which is used to get a better understanding of the cloud architecture. Basically, all the users manage the application through software in their system and all the data management takes place in the cloud. We know that the cloud runs several instances of peak load which means cloud has the ability to run several instances in parallel. To get the efficient outputs, communication protocols follow a process of sending the message in sequential order and receiver ensures with an acknowledgment that they received the message. In this way, we can have a track of the message and track the missed or delayed messages. This process is the check-point which is used by all cloud computing services to restart their service from this check-point in case of any failure in the system.PARALLEL COMPUTING Human taught themselves to work together in a group to accomplish the task quickly. Suppose a single person takes five days to reach the target, the same target can be completed in a single day if there are five-person hands on it. The same principle applies in parallel computing. In parallel computing, a complex problem is split into parts and is solved concurrently. Data-intensive problems from the different area of engineering, science, management are often solved by parallel computing. Parallel hardware and parallel software allow people to solve the problem which is slower by a single system. The effectiveness is often measured by the speed-up process. Speed-up is defined by, S(N)=(T(1))/(T(N))T(1) – Execution time of sequential computation T(N) – Execution time of N parallel computations Concurrent computations have some challenges which may decrease the speed-up. Concurrent activities in parallel computing have to finish one stage before moving to the next stage which often reduces the speed-up. Dead-locks are the other challenge of concurrent. Dead-locks often occur when a process is forced to wait for additional resources. Dead-lock occurs when the all four Coffman conditions – Mutual execution, Hold and wait, No preemption, Circular wait occur simultaneously. A live-lock condition occurs when two or more processors change their state based on the result of other processors which results in incomplete executions.PARALLEL COMPUTING ARCHITECTUREIn Parallel computing parallelism can be used at different levels: Bit-level parallelism: Bit-level parallelism is a form of parallel computing based on increasing processor size. Improvements in the computer world are done by increasing the bit-level parallelism. The number of instruction which a processor have to execute can be reduced by increasing the word size. Example: 8-bit and 8-bit processor must add two 16-bit integers. The processor must first add the 8 lower-order bits from each integer, and then add the 8 higher-order bits, which requires two sets of instructions to complete a single operation. A 16-bit processor would be able to complete the operation with a single instruction. Thus, 4-bit microprocessors were replaced with 8-bit, then 16-bit, then 32-bit microprocessors and finally we have 64-bit processors. Instruction-level parallelism: In today’s computer world we always look for methods to speed up the process. An instruction is completed when an n-stage pipeline is full. We need to maximize the number of cycles per instruction. This can be done by increasing number of stages in the pipeline. Data parallelism: Data level parallelism is more of a special case than instruction level parallelism. This means, performing similar operations on different data simultaneously. Example: An image, processing each pixel is independent of the ones around it. This type of image processing lends itself well to having multiple pixels modified simultaneously using the same modification function. Other types of operations that allow the exploitation of data parallelism are the matrix, array, and vector processing. Task parallelism: In this type of level, a big/complex problem is divided into small portions and these small portions of the problem are made to solve in parallel. Small problems are distributed across the processors which are connected in parallel and these processors process may differ from each other but ultimately the problem is solved. DISTRIBUTED SYSTEMS Distributed systems are the connection of different computers through a network and software to solve a complex problem by breaking down into small tasks. A distributed system consists of more than one computer connected through a network which communicated with each other to solve a complex problem by making use of one common memory. Distributed systems can handle cases in which different computer users might have different requirement, in this case, it provides common resources and has different users communicate with each other through the nodes. Below shows the sample connection of a distributed system which consists of several computers connected to a main shared resources. These different computers are connected through a network and through nodes. Fig 1.0: Distributed systems layout CLOUD COMPUTING AT AMAZON, GOOGLE, MICROSOFT WINDOWS AND OPEN SOURCE AMAZON PERSPECTIVE: Amazon first introduced cloud computing based on IaaS model which is known as Amazon Web Services (AWS). AWS supplies both hardware and software. Hardware includes servers, storage, and network. Software includes operating system and database. AWS provides security and fault tolerance. Amazon also provides SaaS and Paas models. Amazon is famous for its pay per use basis. Amazon can be a better choice if customer’s needs are mainly storage and computation because Amazon offers better service as an IaaS. GOOGLE PERSPECTIVE: Google mainly focuses on Software-as-a-Service (SaaS) model. Most of us use Google services in our everyday lives. Some of the Google services are Gmail, Google Drive, Picasa, Google Calendar etc. With the help of Google services, we are making our works easy by communicating formally or informally with each other through Emails using Gmail. Google Calendar plays an important role in day to day life like sharing our day/month/year schedules with others with ease. Google service provider provides both hardware and software. Users have direct access to the service through Web.MICROSOFT WINDOWS PERSPECTIVE: Microsoft Azure is a Platform-as-a-Service (PaaS) model and Microsoft online services are SaaS model. Microsoft Azure provides only a platform which includes hardware and system software which includes operating system and database. Azure is only responsible for updates and software maintenances. They do not allow users to control operating system, security or ability to install applications. The APIs are built through REST, SOAP services.OPEN SOURCE PLATFORM: For a very large scale organization, a private cloud is a good option in terms of cost. They can have their servers, networks and VMware, a front end communication with the users. Some of the examples of private clouds are Eucalyptus, OpenNebula, and Nimbus. ?