MOSIX
MOSIX je distribuovaný operační systém.[1] Ačkoli první verze byla založena na starších unixových systémech, od roku 1999 se zaměřuje na Linux, clustery a gridy. V MOSIXU není potřeba pro provozování aplikace měnit její zdrojové kódy, upravovat algoritmus, linkovat ji se speciální knihovnou, kopírovat mezi uzly clusteru soubory, přihlašovat se vně nebo uzlům procesy přiřazovat. Vše se děje automaticky stejně jako v prostředí víceprocesorového systému (SMP).
Historie
editovatOperační systém MOSIX byl vyvíjen od roku 1977 na Hebrejské univerzitě v Jeruzalémě, kterou vedl výzkumný tým profesora Amnona Baraka. Na této univerzitě bylo vytvořeno deset hlavních verzí. První verze byla pojmenována „MOS“ a byla určena pro multipočítačový operační systém. MOSIX (1981-83) byl vypracován v Bell Laboratories na základě sedmé verze operačního systému UNIX (Version 7 Unix) a běžel na clusteru minipočítačů PDP-11. Pozdější verze byly postavené na operačním systému UNIX System V Release 2 (1987-1989), který byl také napsán v Bellových laboratořích a tyto verze byly koncipovány na clusteru počítačů VAX a NS32332 (NS320xx). Následující verze byly odvozené z BSD/OS (1991-93) a běžely na clusteru počítačů Intel 80486 a Pentium. Od roku 1999 je psán pro operační systém Linux a platformu x86.
MOSIX2
editovatMOSIX2 je nejnovější verze, která je kompatibilní s OS Linux 2.6. MOSIX2 je implementován jako virtualizační vrstva poskytující uživatelům a aplikacím jednotný systém obrazu s Linuxem v běhovém prostředí. To umožňuje aplikacím pracovat na vzdáleném uzlu, jako kdyby běžely lokálně. Uživatelé mohou mít své aplikace (sekvenční a paralelní) spuštěné, zatímco MOSIX automaticky vyhledává zdroje a procesy mezi uzly pro zlepšení celkového výkonu.
Tento operační systém může spravovat clustery a multiklastrové gridy stejně dobře, jako pracovní stanice. Flexibilní řízení sítě umožňuje majitelům clusterů sdílet své počítačové prostředky, zároveň si zachovat svou autonomii a možnost odpojit uzly od jejich sítě, aniž by došlo k narušení již spuštěných programů.
Takovéto řízení sítě může běžet neurčitou dobu, záleží na důvěře mezi jeho vlastníky clusteru. Zárukou důvěry je skutečnost, že hostitelské aplikace nesmějí být měněny při běhu ve vzdálených skupinách a že žádné nepřátelské počítače nemohou být připojeny do lokální sítě.Tyto požadavky jsou v dnešní době standardní v rámci uskupení a organizace sítě.
Tento systém může běžet v nativním režimu nebo ve virtuálním stroji (virtual machine). V nativním režimu roste výkon za podmínky úpravy linuxového jádra, zatímco virtuální stroj může běžet v horní části libovolného operačního systému. Musí podporovat virtualizaci, pro příklad lze uvést Microsoft Windows, Linux a Mac OS X.
Z hlediska použití je systém nejvhodnější pro provoz výkonově náročných aplikací s nízkým až středním množstvím vstupů/výstupů (I/O). Testy systému MOSIX2 ukazují, že výkon několika takovýchto aplikací okolo 1Gb/s v areálu sítě, je téměř totožný s výkonem jednoho klastru.
Hlavní vlastnosti
editovat- Poskytuje jednotný systémový obraz:
- Uživatelé se mohou přihlásit na libovolném uzlu a nemusí vědět, kde běží jejich program.
- Není potřebná úprava nebo propojení aplikace se speciálními knihovnami.
- Není třeba kopírovat soubory do vzdálených uzlů.
- Bezpečné prostředí Sandbox pro hostitelské procesy.
- Je možné spuštění více programů na počítači, bez ručního zásahu.
- Snadná obnova systému.
- Nástroje: automatické instalace a konfigurace skriptů, on-line kontrola.
MOSIX pro HPC
editovatMOSIX je velmi vhodný pro HPC aplikace s nízkým až středním rozsahem. To je vhodné zejména pro:
- Efektivní využití rozlehlé sítě prostřednictvím automatického vyhledávání zdrojů a dávkových úloh.
- Provoz aplikací s nepředvídatelnými požadavky na zdroj aplikace nebo čas spuštění aplikace.
- Zdlouhavé procesy, které jsou automaticky zaslány k uzlům a jsou přeneseny zpět, když jsou tyto uzly odpojeny od sítě.
- Kombinace uzlů s rozdílnými rychlostmi. Střídání procesů mezi uzly probíhá na základě jejich rychlosti, konkrétního zatížení, a dostupné paměti.
Několik příkladů
editovat- Vědecké aplikace – genomu, molekulární dynamika, kvantová dynamika, nano-technologie a další HPC aplikace.
- Inženýrské aplikace – CFD(Computational Fluid Dynamic), předpověď počasí, simulace pádu, ropný průmysl, ASIC design, farmaceutické a jiné aplikace HPC.
- Finanční modelování, rendering farmy, compilating farmy.
openMOSIX
editovatPoté, co se MOSIX stal na konci roku 2001 proprietárním softwarem, Moshe Bar začala pracovat v roce 2002 na volné verzi Mosixu.[2] Projekt plánovala dokončit v roce 2007, ale zjistila, že rostoucí výkon a dostupnost nízké ceny více jádrových procesorů umožňuje vytvářet jeden-systém obrazu (SSI) a poté svůj postoj v roce 2008 přehodnotila.[3] Nástupcem projektu Moshe Bar byl LinuxPMI, který pokračoval na bázi bývalého openMosix kódu.
Další četba v angličtině
editovatMOSIX2 pro Linux 2.6
editovat- Meiri E. and Barak A., Parallel Compression of Correlated Files, Proc. IEEE Cluster 2007, Austin, Sept. 2007.
- Amar L., Stosser J., Barak A. and Neumann D., Economically Enhanced MOSIX for Market-based Scheduling in Grid OS, Workshop on Economic Models and Algorithms for Grid System (EAMGS 2007), 8th IEEE/ACM Int. Conf. on Grid Computing(Grid 2007), Austin, Sept. 2007.
- Amar L., Barak A., Levy E. and Okun M., An On-line Algorithm for Fair-Share Node Allocations in a Cluster. Proc. 7-th IEEE Int. Symposium on Cluster Computing and the Grid (CCGrid '07), pp. 83–91, Rio de Janeiro, May 2007.
- Amar L., Barak A., Drezner Z. and Peer I., Gossip Algorithms for Maintaining a Distributed Bulletin Board with Guaranteed Age Properties. TR, 2006.
- Barak A., Shiloh A. and Amar L., An Organizational Grid of Federated MOSIX Clusters. Proc. 5-th IEEE International Symposium on Cluster Computing and Grid (CCGrid '05), Cardiff, May 2005 .
- Barak A. and Drezner Z., Gossip-Based Distributed Algorithms for Estimating the Average Load of Scalable Computing Clusters and Grids. Proc. 2004 Int. Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'04), Las Vegas, NV, June 2004.
MOSIX pro Linux 2.2 & 2.4
editovat- Okun M. and Barak A., Atomic Writes for Data Integrity and Consistency in Shared Storage Devices for Clusters. Journal of Future Generation Computer Systems, Vol. 20, No. 4, pp. 539–547, May 2004.
- Amar L., Barak A. and Shiloh A., The MOSIX Direct File System Access Method for Supporting Scalable Cluster File Systems. Cluster Computing, Vol. 7, No. 2, pp. 141–150, April 2004.
- Keren A. and Barak A., Opportunity Cost Algorithms for Reduction of I/O and Interprocess Communication Overhead in a Computing Cluster. IEEE Tran. Parallel and Distributed Systems, Vol. 14, No. 1, pp. 39–50, January 2003.
- Amar L., Barak A. and Shiloh A., The MOSIX Parallel I/O System for Scalable I/O Performance. Proc. 14-th IASTED Int. Conference on Parallel and Distributed Computing and Systems (PDCS 2002), pp. 495–500, Cambridge, MA, Nov. 2002.
- Amir Y., Awerbuch B., Barak A., Borgstrom R.S. and Keren A., An Opportunity Cost Approach for Job Assignment in a Scalable Computing Cluster. IEEE Tran. on Parallel and Distributed Systems, Vol. 11, No. 7, pp. 760–768, July 2000.
- McClure S. and Wheeler R., MOSIX: How Linux Clusters Solve Real World Problems. Proc. 2000 USENIX Annual Tech. Conf., pp. 49–56, San Diego, CA., June 2000.
- Amar L., Barak A., Eizenberg A. and Shiloh A.,. The MOSIX Scalable Cluster File Systems for LINUX, June 2000.
- Barak A., La'adan O. and Shiloh A., Scalable Cluster Computing with MOSIX for LINUX. Proc. 5-th Annual Linux Expo, pp. 95–100, Raleigh, NC, May 1999.
MOSIX verze 1 kniha
editovat- Barak A., Guday S. and Wheeler R., The MOSIX Distributed Operating System, Load Balancing for UNIX. Lecture Notes in Computer Science, Vol. 672, Springer-Verlag, May 1993.
Ostatní
editovat- Barak A. and La'adan O., The MOSIX Multicomputer Operating System for High Performance Cluster Computing. Journal of Future Generation Computer Systems, Vol. 13, No. 4-5, pp. 361–372, March 1998.
- Barak A., Laden O. and Yarom Y., The NOW MOSIX and its Preemptive Process Migration Scheme. IEEE TCOS, Vol. 7, No. 2, pp. 5–11, Summer 1995.
- Haban D., Wybranietz D. and Barak A., Monitoring and Management-Support of Distributed Systems, Proc. European Workshop on Progress in Distributed operating Systems and Distributed System management, pp. 110–137, Berlin, April 1989.
- Barak A. and Wheeler R., MOSIX: An Integrated Multiprocessor UNIX. Proc. Winter 1989 USENIX Conf., pp. 101–112, San Diego, CA, Feb. 1989.
- Barak A., Shiloh A. and Wheeler R., Flood Prevention in the MOSIX Load-Balancing Scheme, IEEE-TCOS Newsletter, Vol. 3, No. 1, pp. 24–27, Winter 1989.
- Barak A. and Kornatzky Y., Design Principles of Operating Systems for Large Scale Multicomputers, Proc. Int. Workshop on Experience with Distributed Systems, pp. 104–123, Kaiserslautern, Sept. 1987. Also, Report RC 13220, IBM T.J. Watson Research Center, Yorktown Heights, NY, Oct. 1987.
- Alon N., Barak A. and Manber U., On Disseminating Information Reliably Without Broadcasting, Proc. 7-th Int. Conf. on Distributed Computing Systems (ICDCS-7), pp. 74–81 (best conference paper), Berlin, Sept. 1987.
- Barel A., NSMOS - MOS Port to the National's 32000 Family Architecture. Proc. 2nd Israel Conf. Computer Systems and Soft. Eng., Tel-Aviv, May 1987.
- Barak A., Drezner Z. and Gurevich Y., On the Number of Active Nodes in a Multicomputer System, Networks, An Int. Journal, Vol. 16, No. 3, pp. 275–282, Fall 1986.
- Barak A. and Paradise G. O., MOS - Scaling Up UNIX. Proc. Summer 1986 USENIX Conf., pp. 414–418, Atlanta, GA, June 1986.
- Barak A. and Paradise G. O., MOS - a Load Balancing UNIX. Proc. Autumn 86 EUUG Conf., pp. 273–280, Manchester, Sept. 1986.
- Drezner Z. and Barak A., An Asynchronous Algorithm for Scattering Information Between the Active Nodes of a Multicomputer System, Journal of Parallel and Distributed Computing, Vol. 3, No. 3, pp. 344–351, Sept. 1986.
- Barak A. and Shiloh A., A Distributed Load-balancing Policy for a Multicomputer. Software - Practice & Experience, Vol. 15, No. 9, pp. 901–913, Sept. 1985.
- Barak A. and Litman A., MOS - A Multicomputer Distributed Operating System. Software - Practice & Experience, Vol. 15, No. 8, pp. 725–737, Aug. 1985.
- Drezner Z. and Barak A., Efficient Algorithms for Routing Information in a Multicomputer System, Distributed Algorithms on Graphs, Carleton Univ. Press, pp. 41–48, Ottawa, Aug. 1985.
- Barak A., Dynamic Process Control for Distributed Computing, Proc. 3-rd Int. Conf. on Distributed Computing Systems (ICDCS-3), pp. 36–40, Ft. Lauderdale, FL, Oct. 1982.
- Barak A., Shapir A., Steinberg G. and Karshmer A.I., A Modular, Distributed UNIX. Proc. 14-th Hawaii Int. Conf. on System Science, pp. 740–747, January 1981.
- Barak A. and Shapir A., UNIX with satellite Processors. Software - Practice & Experience, Vol. 10, No. 5, pp. 383–392, May 1980.
Reference
editovat- ↑ The MOSIX distributed operating system: Load balancing for UNIX, volume 672 of Lecture Notes in Computer Science. Springer-Verlag, New York, 1993
- ↑ the openMosix Project
- ↑ http://sourceforge.net/projects/openmosix/
Externí odkazy
editovat- MOSIX homepage
- HUGI Campus Multi-Cluster, a MOSIX grid at Hebrew University