1. Trang chủ
  2. » Công Nghệ Thông Tin

Handbook Phần Cứng PU part 83 docx

6 168 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

[edit] Concurrency Distributed computing implements a kind of concurrency. It interrelates tightly with concurrent programming so much that they are sometimes not taught as distinct subjects [1] . [edit] Multiprocessor systems A multiprocessor system is simply a computer that has more than one CPU on its motherboard. If the operating system is built to take advantage of this, it can run different processes (or different threads belonging to the same process) on different CPUs. Over the years, many different multiprocessing options have been explored for use in distributed computing. Intel CPUs from the late Pentium 4 era (Northwood and Prescott cores) employed a technology called Hyperthreading that allowed more than one thread (usually two) to run on the same CPU. The most recent Sun UltraSPARC T1, AMD Athlon 64 X2, AMD Athlon FX, Intel Pentium D and Intel Core 2 processors feature multiple processor cores to also increase the number of concurrent threads they can run. [edit] Multicomputer systems A multicomputer system is a system made up of several independent computers interconnected by a telecommunications network. Multicomputer systems can be homogeneous or heterogeneous: A homogeneous distributed system is one where all CPUs are similar and are connected by a single type of network. They are often used for parallel computing. A heterogeneous distributed system is made up of different kinds of computers, possibly with vastly differing memory sizes, processing power and even basic underlying architecture. They are in widespread use today, with many companies adopting this architecture due to the speed with which hardware goes obsolete and the cost of upgrading a whole system simultaneously. [edit] Computing taxonomies The types of distributed computers are based on Flynn's taxonomy of systems; single instruction, single data (SISD), single instruction, multiple data (SIMD), and multiple instruction, multiple data (MIMD). Other taxonomies and architectures available at Computer architecture and in Category:Computer architecture. [edit] Computer clusters Main article: Cluster computing A cluster consists of multiple stand-alone machines acting in parallel across a local high speed network. Distributed computing differs from cluster computing in that computers in a distributed computing environment are typically not exclusively running "group" tasks, whereas clustered computers are usually much more tightly coupled. Distributed computing also often consists of machines which are widely separated geographically. [edit] Grid computing Main article: Grid computing A grid uses the resources of many separate computers connected by a network (usually the Internet) to solve large-scale computation problems. Most use idle time on many thousands of computers throughout the world. Such arrangements permit handling of data that would otherwise require the power of expensive supercomputers or would have been impossible to analyze. [edit] Languages Nearly any programming language that has access to the full hardware of the system could handle distributed programming given enough time and code. Remote procedure calls distribute operating system commands over a network connection. Systems like CORBA, Microsoft D/COM, Java RMI and others, try to map object oriented design to the network. Loosely coupled systems that communicate through intermediate documents that are typically human readable are XML, HTML, SGML, X.500, and EDI. Languages specifically tailored for distributed programming are:  Ada programming language [2]  Alef programming language  E programming language  Erlang programming language  Limbo programming language  Oz programming language [edit] Examples [edit] Projects Main article: List of distributed computing projects A variety of distributed computing projects have grown up in recent years. Many are run on a volunteer basis, and involve users donating their unused computational power to work on interesting computational problems. Examples of such projects include SETI@home, which is focused on analyzing radio-telescope data to find evidence of intelligent signals from space, and distributed.net, which is focused on breaking various cryptographic ciphers. [3] Distributed computing projects also often involve competition with other distributed systems. This competition may be for prestige, or it may be a matter of enticing users to donate processing power to a specific project. For example, stat races are a measure of the work a distributed computing project has been able to compute over the past day or week. This has been found to be so important in practice that virtually all distributed computing projects offer online statistical analyses of their performances, updated at least daily if not in real-time. [edit] Other examples An example of a distributed system is the World Wide Web. As you are reading a web page, you are actually using the distributed system that comprises the site. As you are browsing the web, your web browser running on your own computer communicates with different web servers that provide web pages. Possibly, your browser uses a proxy server to access the web contents stored on web servers faster and more securely. To find these servers, it also uses the distributed domain name system. Your web browser communicates with all of these servers over the Internet, via a system of routers which are themselves part of a large distributed system. [edit] See also Wikibooks has a book on the topic of Distributed_Systems  Fallacies of Distributed Computing  Category:Concurrent programming languages  List of distributed computing publications  Parallel computing  Application server  Software componentry  Distributed computing environment [edit] References 1. ^ CS236370 Concurrent and Distributed Programming 2002 2. ^ Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Annex E Distributed Systems 3. ^ David P. Anderson (2005-05-23). "A Million Years of Computing". Retrieved on 2006-08-11. [edit] Further reading  Tel, Gerard (1994). Introduction to Distributed Algorithms. Cambridge University Press.  Davies, Antony (June 2004). "Computational Intermediation and the Evolution of Computation as a Commodity". Applied Economics.  Kornfeld, William (January 1981). "The Scientific Community Metaphor". MIT AI (Memo 641).  Hewitt, Carl (August 1983). "Analyzing the Roles of Descriptions and Actions in Open Systems". Proceedings of the National Conference on Artificial Intelligence.  Hewitt, Carl (April 1985). "The Challenge of Open Systems". Byte Magazine.  Hewitt, Carl (1999-10-23–1999-10-27). "Towards Open Information Systems Semantics". Proceedings of 10th International Workshop on Distributed Artificial Intelligence. . Distributed computing differs from cluster computing in that computers in a distributed computing environment are typically not exclusively running "group" tasks, whereas clustered computers. taxonomies and architectures available at Computer architecture and in Category:Computer architecture. [edit] Computer clusters Main article: Cluster computing A cluster consists of multiple stand-alone. run. [edit] Multicomputer systems A multicomputer system is a system made up of several independent computers interconnected by a telecommunications network. Multicomputer systems can be

Ngày đăng: 03/07/2014, 13:20

TỪ KHÓA LIÊN QUAN