官术网_书友最值得收藏!

Quick Start to Distributed Computing

Distributed computing is the process of accomplishing a bigger task through splitting? it into multiple subtasks, which can be performed by multiple components that are located in a network of computers termed as distributed systems. These distributed systems have the capability to communicate and coordinate their activities by exchanging the information and/or status of their individual processes. Having such distributed systems allows organizations to maintain comparatively smaller and cheaper computers in a network rather than having to maintain one large server with bigger capacity.

In this chapter, we will cover the following topics:

  • Evolution of computing models
  • Parallel computing
  • Amdahl's law
  • Distributed computing
  • Parallel versus distributed computing
  • Design considerations for distributed systems
  • Java support

Let's begin our discussion by remembering the great Charles Babbage, considered to be the "father of the computer",? who originated the concept of a programmable computer. He,? who was? an English mechanical engineer and? polymath, ? conceptualized and invented the first mechanical computer in the early 19th century. While Alan Turing introduced the principle of the modern computer in 1936, modern digital computers were heralded to the world in the 1940s, and the? Electronic Numerical Integrator and Computer (ENIAC) was among the earliest electronic general-purpose computers made. From there on, computers have evolved to be faster and cheaper at an astonishing rate, along with the operating systems, programming languages, and so on. The computers with such faster processing capacity were called supercomputers and used to occupy more than one big room years ago. Today, we have multicore processing capacity computers such as minicomputers and mobiles/smart phones, which can be carried in a pocket and are able to do most of jobs humans need in day-to-day life.

While a computer may be regarded as executing one gigantic program stored in its main memory, in some computers, it is necessary to have the capacity of executing several programs concurrently. This is achieved through multitasking; that is, the computer is enabled to switch rapidly between multiple executing programs to show them running simultaneously.

Next-generation computers are designed to distribute their process across numerous CPUs in a multiprocessing configuration. This technique was earlier available in huge and commanding computers, such as supercomputers, servers, and mainframe computers. Nowadays, such multiprocessor and multicore capabilities are extensively available on personal computers and laptops.

Although such high-speed computers are demonstrating delightful processing abilities, the next serious invention that? transformed the world of processing was high-speed computer networking. This technique permitted an enormous number of computers to interact and established the next level of processing. The incredible fact about networked computers is that they can be placed geographically either within the same location connected as Local Area Network (LAN) or be situated across continents and connected as Wide Area Network (WAN).

Today, a new computer/smartphone is definitely expected to have multiprocessor/multicore capacity at an affordably low cost. Besides, the trend has changed from CPU to Graphics Processing Unit? (GPU), also? called as Visual Processing Unit (VPU), which can be installed in personal computers, mobile phones, workstations, embedded systems, and gaming consoles. Recent GPUs are very capable of? computer graphics manipulation and image processing, and they are more efficient than general-purpose CPUs due to their highly parallel assembly.

The following diagram represents the evolution of computing models from mainframe to cloud, how each concern like availability SLA, Scaling, Hardware, HA Type, Software and Consumption are varied over the time with technology.

Early computing was a uniprocessor computing that? was performed on a single processor, which can be called centralized? computing. Later,? parallel computing with more than one processor simultaneously executing a single program helped middleware processing. Parallel processing was achieved through either a single computer with multiple CPUs or multiple network connected computers (with the help of software).

Let us now learn? in detail about parallel computing and how the trend moved toward distributed computing.

主站蜘蛛池模板: 苗栗市| 建瓯市| 孟津县| 新民市| 宁津县| 弋阳县| 克拉玛依市| 宁阳县| 柳州市| 凌云县| 天台县| 锡林浩特市| 东乡| 武城县| 海丰县| 定西市| 安宁市| 呼伦贝尔市| 桑日县| 旺苍县| 卓尼县| 敖汉旗| 通城县| 洪泽县| 普兰县| 卫辉市| 沭阳县| 阿克苏市| 鹿邑县| 格尔木市| 乡城县| 巴彦淖尔市| 新巴尔虎左旗| 江陵县| 荥经县| 梅州市| 江油市| 都江堰市| 扶余县| 贵南县| 盐源县|