رشد اینترنت موجب افزایش توجه به رایانش شبکه مقیاس بزرگ شده است که می تواند کل جهان را پوشش دهد. اینترنت گسترده ترین سیستم توزیع شده در جهان است. گره ها در اینترنت ممکن است ایستگاه های کاری تک-پردازنده، ماشین های MIMD حافظه مشترک، ماشین های SIMD موازی حجیم، یا انواع دیگر باشند. لینک ها اتصالات بسته سوئیچ شده TCP/IP و تغییرات پهنای باند با بار، تعداد هاپ ها و فناوری ارتباط اساسی می باشند. هنگامیکه یک گره با گره دیگر ارتباط برقرار می کند، بسته های داده ممکن است از طریق یک لینک بیسیم، کابل فیبر نوری، کابل کواکسیال، خط تلفن دیجیتالی، و غیره ارسال شوند. این لایه های فیزیکی موجب تاخیر و خطا شده که می توانند بوسیله بازانتقال و پیکربندی مجدد دینامیکی لینک های اینترنت تصحیح شوند.
در فصل های قبل، ما سیستم های رایانش شامل واحدهای پردازش چندگانه متصل شده از طریق برخی شبکه های ارتباط داخلی را مطالعه کردیم. دو عامل اصلی وجود دارند که چنین سیستم هایی را متمایز می کنند: واحدهای پردازش و شبکه ارتباط داخلی که آن ها را بهم متصل می کند. یاد گرفتیم که واحدهای پردازش می توانند با استفاده از حافظه مشترک یا روش های تبادل پیام با یکدیگر ارتباط برقرار کنند. در این فصل، ما رایانش شبکه را بحث می کنیم که در آن گره ها کامپیوتر های مستقلی هستند که می توانند از طریق یک سوییچ، شبکه محلی، یا اینترنت بهم متصل شوند. ایده اصلی تقسیم برنامه کاربردی به چندین قسمت نیمه مستقل براساس نوع پردازش مورد نیاز می باشد. گره-های مختلف در شبکه می توانند به بخش های متفاوتی از برنامه کاربردی اختصاص داده شوند. این شکل از رایانش شبکه از قابلیت های منحصربه فرد معماری های سیستم متنوع استفاده می کند. برای مثال، بخش SIMD ریزدانه برنامه کاربردی به ماشین SIMD و نمایش گرافیکی و بخش های I/O به یک یا چند ایستگاه کاری تک پردازنده فرستاده خواهند شد. هماهنگی کلی توسط کامپیوتری رومیزی یک شخص انجام می شود. این همچنین تاحدزیادی منابع بیهوده بالقوه در یک سازمان بزرگ را پوشش می دهد. بنابراین، چرخه های CPU استفاده نشده ممکن است درطول دوره های کوتاه زمانی استفاده شده و منجر به قطاری از فعالیت ها بعد از یک دوره عدم فعالیت می شوند. در ادامه، ما استفاده از فناوری شبکه به منظور ایجاد یک زیرساخت رایانش با استفاده از کامپیوتر های کومودیتی را بحث می کنیم.
7.7 خلاصه فصل
اقبال های اخیر به پلتفرم های توزیعی موجب نیاز به درک بهتر از رایانش شبکه شده است. پلتفرم های توزیعی ممکن است به شیوه های مختلفی از شبکه های پراکنده بطور جغرافیایی تا ساختارهای ارتباط داخلی معماری خاص متصل شوند. یک واحد پردازش در چنین سیستم هایی یک کامپیوتر مستقل است که ممکن است در فعالیت های مخصوص به خودشان درگیر باشند و در همان زمان با واحدهای دیگر در زمینه برخی کارهای محاسباتی دیگر همکاری داشته باشند. رایانش شبکه مربوط به چگونگی استفاده از چندین کامپیوتر برای حل یک یا چند مساله، بطور همزمان یا غیرهمزمان می باشد. زیرساخت شامل ماشین های دسکتاپ متصل شده توسط یک WAN، خوشه های ایستگاه کاری و ایستگاه های کاری متصل به اینترنت یا متصل به سوییچ می باشد. تعدادی از مدل ها برای جمع آوری منابع از چندین موتور محاسباتی برای کارهای پردازش مقیاس بزرگ وجود دارند. سیستم های چندپردازنده، چندین پردازنده را در یک ماشین واحد ترکیب کردند، که یک ایستگاه کاری دسکتاپ، یک کامپیوتر بزرگ یا چیز دیگری بین آن ها می-باشد. خوشه ها ماشین های بسیاری را در یک واحد مدیریت شده بطور مرکزی و بزرگ گردآوری می کنند. رایانش شبکه به هر گره برای دسترسی به گره های دیگر چنانچه آن ها محلی باشند اجازه می دهد. انتخاب هر چی باشد، واضح است که با کم هزینه تر شدن توان پردازنده، پردازنده های تجاری مستقل توانمند متصل شده از طریق برخی از انواع شبکه ها با سرعت بالا یک بخش استاندارد رایانش در آینده خواهند بود.
The proliferation of the Internet has stimulated rapid growth of interest in largescale network computing that may span the entire globe. The Internet is the most widely used distributed system in the world. Nodes in the Internet may be single-processor workstations, shared-memory MIMD machines, massively parallel SIMD machines, or other types. Links are TCP/IP packet-switched connections and the bandwidth varies with load, number of hops, and underlying communication technology. When one node connects with another, the packets of data may be sent through a wireless link, fiber optical cable, coaxial cable, digital telephone line, and so on. These physical layers introduce delays and may be errors, which must be corrected by retransmission and dynamic reconfiguration of the Internet’s links.
In previous chapters, we studied computing systems consisting of multiple processing units connected via some interconnection network. There are two major factors that differentiate such systems: the processing units and the interconnection network that ties them together. We learned that the processing units could communicate and interact with each other using either shared memory or message passing methods. In this chapter we discuss network computing, in which the nodes are stand-alone computers that could be connected via a switch, local area network, or the Internet. The main idea is to divide the application into semi-independent parts according to the kind of processing needed. Different nodes on the network can be assigned different parts of the application. This form of network computing takes advantage of the unique capabilities of diverse system architectures. For example, the fine-grained SIMD part of the application would be shipped off to the SIMD machine and the graphical presentation and I/O portions to one or more single-processor workstations. The overall coordination may be done by a PC on someone’s desk. It also maximally leverages potentially idle resources within a large organization. Therefore, unused CPU cycles may be utilized during short periods of time resulting in bursts of activity followed by periods of inactivity. In what follows, we discuss the utilization of network technology in order to create a computing infrastructure using commodity computers.
7.7 CHAPTER SUMMARY
The recent migrations to distributed platforms have increased the need for a better understanding of network computing. Distributed platforms may be connected in a variety of ways ranging from geographically dispersed networks to architecturespecific interconnection structures. A processing unit in such systems is an autonomous computer that may be engaged in its own private activities while at the same time cooperating with other units in the context of some computational task. Network computing is concerned with how to use multiple computers to solve single or multiple problems, more or less simultaneously. The infrastructure includes desktop machines connected by a WAN, workstation clusters and Ethernetconnected or switch-connected workstations. A number of models exist to aggregate the resources of multiple compute engines for large-scale processing tasks. Multiprocessor systems incorporate multiple processors into a single machine, whether it is a desktop workstation, a mainframe, or something in between. Clusters aggregate many machines into a large, centrally managed entity. Grid computing allows each node to access resources on other nodes as if they were local. Whatever the choice, it is clear that as processor power becomes less expensive, capable standalone commodity processors connected via some type of high-speed network will become a standard part of computing in the future.
7.1 COMPUTER NETWORKS BASICS
7.1.1 Network Performance
7.1.2 Internet
7.1.3 Other Network Technologies
7.2 CLIENT/SERVER SYSTEMS
7.2.1 Sockets
7.2.2 Remote Procedure Call (RPC)
7.2.3 Middleware
7.2.4 A Client Server Framework for Parallel Applications
7.3 CLUSTERS
7.3.1 Threads
7.4 INTERCONNECTION NETWORKS
7.4.1 Ethernet
7.4.2 Switches
7.4.3 Myrinet Clos Network
7.4.4 The Quadrics Network
7.5 CLUSTER EXAMPLES
7.5.1 Berkeley Network of Workstations (NOW)
7.5.2 The Beowulf Cluster
7.5.3 FlashMob I
7.6 GRID COMPUTING
7.7 CHAPTER SUMMARY
REFERENCES
7.1 اصول شبکه های کامپیوتری
7.1.1 عملکرد شبکه
7.1.2 اینترنت
7.1.3 فناوری های شبکه دیگر
7.2 سیستم های کلاینت/سرور
7.2.1 سوکت ها
7.2.2 فراخوانی رویه راه دور (RPC)
7.2.3 میان افزار
7.2.4 یک چارچوب کلاینت سرور برای برنامه های کاربردی موازی
7.3 خوشه ها
7.3.1 رشته ها
7.4 شبکه های ارتباط داخلی
7.4.1 اترنت
7.4.2 سوییچ ها
7.4.3 شبکه کلوز میرنت
7.4.4 شبکه چهارتایی
7.5 مثال های خوشه
7.5.1 شبکه برکلی ایستگاه های کاری (NOW)
7.5.2 خوشه بیووولف
7.5.3 FlashMob I
7.6 رایانش شبکه
7.7 خلاصه فصل
منابع