حوسبة موزعة
الحوسبة الموزعة هي عبارة عن مجال من مجالات هندسة الحاسبات والذي يدرس مايسمى بالأنظمة الموزعة distributed system حيث تتألف الأنظمة الموزعة من مجموعة من أجهزة الكمبيوتر والتي تتصل مع بعضها البعض من خلال شبكة موصلة فيما بينها ، تتفاعل الكمبيوترات فيما بينها وذلك لتحقيق هدف مشترك . إن برامج الكمبيوتر التي تعمل على الأنظمة الموزعة تسمى برامج موزعة . في الحوسبة الموزعة يتم تقسيم المشكلة إلى مشاكل صغيرة ثم يتم توزيعها على الحواسيب ليتم حل هذه المشكلة .
وهو مصطلح يطلق على مجموع مصادر حواسب من عدة اماكن لكل منها إداري administrative خاص بها , تحقق تلك الحواسيب اهدافاً شائعة . الذي يميز الحوسبة الموزعة عن انظمة الحواسب عالية الاداء مثل الحوسبة العنقودية cluster computing هي ان الحوسبة الموزعة تميل لكونها متغيرة الخواص ومتباعدة جفرافياً . على الرغم من ان الحوسبة الموزعة تم تصميمها من اجل تطبيقات محددة إلا انه يمكنها القيام باداء عمل العديد من الخدمات . تحتاج الحوسبة الموزعة الى برنامج مساعد يدعى middleware
تتميز الأنظمة الموزعة بالعديد من المميزات نذكر منها :
- لا وجود لنبضات ساعة مشتركة بين الأجهزة ، أي كل جهاز له نبضات الساعة مستقلة عن الأجهزة الأخرى .
- لا يوجد ذاكرة مشتركة ، وكما قلنا يتم تبادل المعلومات عن طريق تمرير الرسائل .
- القدرة على تحمل الفشل tolerate failer .
- القدرة على التوسع في بنية المنظومة ( الشبكة ، عدد الأجهزة ) .
- كل جهاز أو عقدة يرى جزء بسيط من المنظومة ، ويتعامل مع جزء محدد من الدخل (نوع محدد من المعطيات ) .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
الحوسبة المتوازية والموزعة
Distributed systems are groups of networked computers which share a common goal for their work. The terms "concurrent computing", "parallel computing", and "distributed computing" have much overlap, and no clear distinction exists between them.[1] The same system may be characterized both as "parallel" and "distributed"; the processors in a typical distributed system run concurrently in parallel.[2] Parallel computing may be seen as a particular tightly coupled form of distributed computing,[3] and distributed computing may be seen as a loosely coupled form of parallel computing.[4] Nevertheless, it is possible to roughly classify concurrent systems as "parallel" or "distributed" using the following criteria:
- In parallel computing, all processors may have access to a shared memory to exchange information between processors.[5]
- In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.[6]
The figure on the right illustrates the difference between distributed and parallel systems. Figure (a) is a schematic view of a typical distributed system; the system is represented as a network topology in which each node is a computer and each line connecting the nodes is a communication link. Figure (b) shows the same distributed system in more detail: each computer has its own local memory, and information can be exchanged only by passing messages from one node to another by using the available communication links. Figure (c) shows a parallel system in which each processor has a direct access to a shared memory.
The situation is further complicated by the traditional uses of the terms parallel and distributed algorithm that do not quite match the above definitions of parallel and distributed systems (see below for more detailed discussion). Nevertheless, as a rule of thumb, high-performance parallel computation in a shared-memory multiprocessor uses parallel algorithms while the coordination of a large-scale distributed system uses distributed algorithms.[7]
Examples
Examples of distributed systems and applications of distributed computing include the following:[8]
- telecommunication networks:
- network applications:
- World Wide Web and peer-to-peer networks,
- massively multiplayer online games and virtual reality communities,
- distributed databases and distributed database management systems,
- network file systems,
- distributed cache such as burst buffers,
- distributed information processing systems such as banking systems and airline reservation systems;
- real-time process control:
- aircraft control systems,
- industrial control systems;
- parallel computation:
- scientific computing, including cluster computing, grid computing, cloud computing,[9] and various volunteer computing projects (see the list of distributed computing projects),
- distributed rendering in computer graphics.
- peer-to-peer
الأسس النظرية
النماذج
انظر أيضاً
- Distributed networking
- Decentralized computing
- Federation (information technology)
- AppScale
- BOINC
- Code mobility
- Distributed algorithm
- Distributed algorithmic mechanism design
- Distributed cache
- Distributed operating system
- Edsger W. Dijkstra Prize in Distributed Computing
- Fog computing
- Folding@home
- Grid computing
- Inferno
- Jungle computing
- Layered queueing network
- Library Oriented Architecture (LOA)
- List of distributed computing conferences
- List of distributed computing projects
- List of important publications in concurrent, parallel, and distributed computing
- Model checking
- Parallel distributed processing
- Parallel programming model
- Plan 9 from Bell Labs
- Shared nothing architecture
الهامش
- ^ Ghosh (2007), p. 10. Keidar (2008).
- ^ Lynch (1996), p. xix, 1–2. Peleg (2000), p. 1.
- ^ Peleg (2000), p. 1.
- ^ خطأ استشهاد: وسم
<ref>
غير صحيح؛ لا نص تم توفيره للمراجع المسماةharvtxt|Ghosh|2007
- ^ Papadimitriou (1994), Chapter 15. Keidar (2008).
- ^ See references in Introduction.
- ^ Bentaleb, A.; Yifan, L.; Xin, J.; et al. (2016). "Parallel and Distributed Algorithms" (PDF). National University of Singapore. Retrieved 20 July 2018.
- ^ Andrews (2000), p. 10–11. Ghosh (2007), p. 4–6. Lynch (1996), p. xix, 1. Peleg (2000), p. xv. Elmasri & Navathe (2000), Section 24.
- ^ Haussmann, J. (2019). "Cost-efficient parallel processing of irregularly structured problems in cloud computing environments". Journal of Cluster Computing. 22 (3): 887–909. doi:10.1007/s10586-018-2879-3. S2CID 54447518.
المراجع
- Books
- Andrews, Gregory R. (2000), Foundations of Multithreaded, Parallel, and Distributed Programming, Addison–Wesley, ISBN 978-0-201-35752-3, https://archive.org/details/foundationsofmul0000andr.
- Arora, Sanjeev; Barak, Boaz (2009), Computational Complexity – A Modern Approach, Cambridge, ISBN 978-0-521-42426-4.
- Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. (1990), Introduction to Algorithms (1st ed.), MIT Press, ISBN 978-0-262-03141-7.
- Dolev, Shlomi (2000), Self-Stabilization, MIT Press, ISBN 978-0-262-04178-2.
- Elmasri, Ramez; Navathe, Shamkant B. (2000), Fundamentals of Database Systems (3rd ed.), Addison–Wesley, ISBN 978-0-201-54263-9.
- Ghosh, Sukumar (2007), Distributed Systems – An Algorithmic Approach, Chapman & Hall/CRC, ISBN 978-1-58488-564-1.
- Lynch, Nancy A. (1996), Distributed Algorithms, Morgan Kaufmann, ISBN 978-1-55860-348-6, https://archive.org/details/distributedalgor0000lync.
- Herlihy, Maurice P.; Shavit, Nir N. (2008), The Art of Multiprocessor Programming, Morgan Kaufmann, ISBN 978-0-12-370591-4.
- Papadimitriou, Christos H. (1994), Computational Complexity, Addison–Wesley, ISBN 978-0-201-53082-7.
- Peleg, David (2000), Distributed Computing: A Locality-Sensitive Approach, SIAM, ISBN 978-0-89871-464-7, http://www.ec-securehost.com/SIAM/DT05.html, retrieved on 2009-07-16.
- Articles
- Cole, Richard; Vishkin, Uzi (1986), "Deterministic coin tossing with applications to optimal parallel list ranking", Information and Control 70 (1): 32–53, doi:.
- Keidar, Idit (2008), "Distributed computing column 32 – The year in review", ACM SIGACT News 39 (4): 53–54, doi:, http://webee.technion.ac.il/~idish/sigactNews/#column%2032.
- Linial, Nathan (1992), "Locality in distributed graph algorithms", SIAM Journal on Computing 21 (1): 193–201, doi:.
- Naor, Moni; Stockmeyer, Larry (1995), "What can be computed locally?", SIAM Journal on Computing 24 (6): 1259–1277, doi:, http://www.wisdom.weizmann.ac.il/~naor/PAPERS/lcl.pdf.
- Web sites
- Godfrey, Bill (2002). "A primer on distributed computing".
- Peter, Ian (2004). "Ian Peter's History of the Internet". Retrieved 2009-08-04.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
للاستزادة
- كتب
- Attiya, Hagit and Jennifer Welch (2004), Distributed Computing: Fundamentals, Simulations, and Advanced Topics, Wiley-Interscience ISBN 0-471-45324-2.
- Christian Cachin; Rachid Guerraoui; Luís Rodrigues (2011), Introduction to Reliable and Secure Distributed Programming (2. ed.), Springer, ISBN 978-3-642-15259-7, Bibcode: 2011itra.book.....C
- Coulouris, George (2011), Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley ISBN 0-132-14301-1.
- Faber, Jim (1998), Java Distributed Computing, O'Reilly, http://docstore.mik.ua/orelly/java-ent/dist/index.htm: Java Distributed Computing by Jim Faber, 1998
- Garg, Vijay K. (2002), Elements of Distributed Computing, Wiley-IEEE Press ISBN 0-471-03600-5.
- Tel, Gerard (1994), Introduction to Distributed Algorithms, Cambridge University Press
- Chandy, Mani, Parallel Program Design
- Dusseau, Remzi H.; Dusseau, Andrea (2016). Operating Systems: Three Easy Pieces, Chapter 48 Distributed Systems (PDF). Archived from the original (PDF) on 31 August 2021. Retrieved 8 October 2021.
- Articles
- Keidar, Idit; Rajsbaum, Sergio, eds. (2000–2009), "Distributed computing column", ACM SIGACT News.
- Birrell, A. D.; Levin, R.; Schroeder, M. D.; Needham, R. M. (April 1982). "Grapevine: An exercise in distributed computing" (PDF). Communications of the ACM. 25 (4): 260–274. doi:10.1145/358468.358487. S2CID 16066616.
- أوراق مؤتمرات
- Rodriguez, Carlos; Villagra, Marcos; Baran, Benjamin (2007). "Asynchronous team algorithms for Boolean Satisfiability". 2007 2nd Bio-Inspired Models of Network, Information and Computing Systems. pp. 66–69. doi:10.1109/BIMNICS.2007.4610083. S2CID 15185219.