Distribuirano računarstvo

Distribuirano računarstvo se u računarskoj nauci koristi za oblast koja proučava distribuirane sisteme.[1] Distribuirani sistem se sastoji od više samostalnih računara koji komuniciraju putem računarske mreže. Računari međusobno djeluju sa namjerom da postignu zajednički cilj. Računarski program koji radi u u distribuiranom sistemu se zove distribuirani program, i distribuirano programiranje je proces pisanja takvih programa.
Distribuirano računarstvo se također odnosi na korištenje distribuiranih sistema za rješavanje računarskih problema. U distribuiranom računarstvu se problem dijeli na više zadataka, pa se svaki dio zadatka rješava na posebnom računaru.
Uvod
[uredi | uredi izvor]Riječ distribuirani (en: distributed) u izrazima, kao što su "distribuirani sistem", "distribuirano programiranje", i "distribuirani algoritam" u originalu se odnose računarske mreže gdje su individualni računari bili fizički distribuirani na određenom geografskom području[2]. U novije vrijeme se koristi u mnogo širem značenju, čak i kada se odnosi na o autonomne računarske procese koji se odvijaju u samom računaru kao jedinci, i koji međusobno djeluje sa drugima razmjenjivanjem poruka[3]
Paralelno ili distribuirano računarstvo?
[uredi | uredi izvor]Termini "konkurentno računarstvo", "paralelno računarstvo", i "distribuirano računarstvo" imaju dosta preklapanja, i ne postoji jasna razlika među tim izrazima[4][5]
Uvod u historiju distribuiranih računarskih sistema
[uredi | uredi izvor]Korištenje konkurentnih procesa koji komuniciraju prenošenjem poruka ima svoje korijene u studijama arhitektura operativnih sistema iz 1960-tih godina[6]. Prvi široko raspostranjeni distribuirani sistemi su bile lokalne mreže, kao što je Ethernet koji je izumljen u 1970-tim (Andrews, 2000).
ARPANET, prethodnik Interneta, je predstavljen u kasnim 1960-tim, i ARPANET e-mail je izumljen u ranim 1970-tim. E-mail je postao najuspješnija aplikacija ARPANET-a (Peter, 2004), i vjerovatno je najraniji primjer distribuirane aplikacije u velikim razmjerama. Dodatno, uz ARPANET i njegovog nasljednika Internet, druge rane svjetske računarske mreže uključuju Usenet i FidoNet iz 1980-tih, i obje su bile korištene za podršku distribuiranim sistemima za diskusiju.
Studij distribuiranog računarstva postaje zasebna grana računarskih nauka u ranim 1980-tim.[7]
Aplikacije
[uredi | uredi izvor]Dva su glavna razloga za korištenje distribuiranih sistema i distribuiranog računarstva. Prvo, sama priroda aplikacija može zahtijevati korištenje komunikacijske mreže koja spaja nekoliko računara. Naprimjer, podaci se proizvode na jednoj fizičkoj lokaciji i potrebni su na drugoj lokaciji.
Drugo, mnogo je slučajeva u kojima je, u principu, moguće korištenje jednog računara, ali je korištenje distribuiranog sistema korisno iz praktičnih razloga. Naprimjer, može biti efikasnije dobiti željeni nivo performansi korištenjem klastera računara, sastavljenog od jeftinijih računara, u poređenju sa računarom visoke klase. Također, klaster može biti manje podložan padu cijelog sistema, jer nema samo jednu kritičnu tačku. Isto, takav klaster je jednostavnije nadograđivati.[8]
Primjeri distribuiranih sistema[9] i aplikacija uključuju:
- Telekomunikacione mreže:
- Telefonske mreže i mrežu mobilne telefonije.
- računarske mreže, kao što je Internet.
- bežične senzorske mreže.
- ruterske algoritme.
- mrežne aplikacije:
- World wide web i peer-to-peer mreže.
- masivne online igre velikog broja igrača, kao zajednice virtualne realnosti.
- Distribuirane baze podataka i distribuirane sisteme upravljanja bazama podataka.
- mrežne datotečne sisteme.
- Distribuirane informacione procesne sisteme, kao što su bankarski sistemi i sistemi rezervacije avionskih karata.
- kontrola procesa u realnom vremenu:
- kontrolni sistemi avio-saobraćaja.
- Industrijski kontrolni sistemi.
- Paralelno računanje:
- računanje u naučne svrhe, uključujući klastersko računanje, i grid računarstvo, kao i razno dobrovoljno računanje, odnosno njihove projekte;
- Distribuirano renderiranje u računarskoj grafici (render farme).
Najbrže distribuirane mreže
[uredi | uredi izvor]- Folding@Home,
- BOINC
- Milkyway@Home
- Collatz Conjecture
- SETI@Home
- Einstein@Home
- GIMPS
Također pogledajte
[uredi | uredi izvor]Reference
[uredi | uredi izvor]- ↑ "What is Distributed Computing?". Arhivirano s originala, 24. 1. 2026. Pristupljeno 9. 1. 2026.
- ↑ Lynch, Nancy A. (Nancy Ann) (1996). Distributed algorithms. Internet Archive. San Francisco, CA. : Morgan Kaufmann Publishers. ISBN 978-1-55860-348-6.
- ↑ Dolev, Shlomi (2000). Self-stabilization. Cambridge, Mass: MIT Press. ISBN 978-0-262-04178-2.
- ↑ Ghosh, Sukumar (2007). Distributed systems: an algorithmic approach. Chapman & Hall/CRC computer and information science series. Boca Raton: Chapman & Hall/CRC. ISBN 978-1-58488-564-1.
- ↑ "The ACM SIGACT News Distributed Computing Column Archive of Idit Keidar". webee.technion.ac.il. Arhivirano s originala, 16. 1. 2014. Pristupljeno 9. 1. 2026.
- ↑ Andrews, Gregory R. (2000). Foundations of multithreaded, parallel, and distributed programming. Internet Archive. Reading, Mass. : Addison-Wesley. ISBN 978-0-201-35752-3.
- ↑ "Distributed Systems Introduction". DiPhyx (jezik: engleski). Pristupljeno 9. 1. 2026.
- ↑ Elmasri, Ramez; Navathe, Sham (2001). Fundamentals of database systems (3. ed., internat. ed., [Nachdr.] izd.). Reading, Mass.: Addison-Wesley. ISBN 978-0-201-54263-9.
- ↑ "10 industries that use distributed computing | IBM". www.ibm.com (jezik: engleski). 18. 7. 2024. Pristupljeno 9. 1. 2026.
Vanjski linkovi
[uredi | uredi izvor]Literatura
[uredi | uredi izvor]- Knjige
- 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. izd.), Springer, Bibcode:2011itra.book.....C, ISBN 978-3-642-15259-7
- Coulouris, George; et al. (2011), Distributed Systems: Concepts and Design (5th Edition), Addison-Wesley ISBN 0-132-14301-1.
- Faber, Jim (1998), Java Distributed Computing, O'Reilly, arhivirano s originala, 24. 8. 2010, pristupljeno 29. 9. 2010: Java Distributed Computing by Jim Faber, 1998 Arhivirano 24. 8. 2010. na Wayback Machine
- 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; et al. (1988), Parallel Program Design, Addison-Wesley ISBN 0201058669
- Dusseau, Remzi H.; Dusseau, Andrea (2016). Operating Systems: Three Easy Pieces, Chapter 48 Distributed Systems (PDF). Arhivirano s originala (PDF), 31. 8. 2021. Pristupljeno 8. 10. 2021.
- Članci
- Keidar, Idit; Rajsbaum, Sergio, ured. (2000–2009), "Distributed computing column", ACM SIGACT News, arhivirano s originala, 16. 1. 2014, pristupljeno 16. 8. 2009.
- 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. Arhivirano (PDF) s originala, 30. 7. 2016.
- Dokumenti sa konferencija
- Rodriguez, Carlos; Villagra, Marcos; Baran, Benjamin (2007). "Asynchronous team algorithms for Boolean Satisfiability". 2007 2nd Bio-Inspired Models of Network, Information and Computing Systems. str. 66–69. doi:10.1109/BIMNICS.2007.4610083. S2CID 15185219.
