Home
hydra cluster IASI-CNR
Contents
1. Idirs and corresponding variables mkdir var hydraQueue gt HYDRAQUEUE_DIR mkdir var hydraQueue users QUEUE_DIR mkdir var hydraQueue Launched BACKUP_FILE in func sedstrip mkdir var hydraQueue Errors ERROR_FILE in func sedstrip The most important is QUEUE_DIR This directory must contain all the hydra s users In fact I used the command ls 1 QUEUE_DIR to have a list of the users Under the QUEUE_DIR USER directory there are two files 67 myqueue USER myqueue USER old 1 myqueue USER The first one of this two files is the backbone of the hydraQueue programs It is made up of two part a header that stores some infos about the user and a command part that starts after the line commands which is a list of commands the user want to run on hydra es myqueue muzi date Thu Feb 9 12 30 31 CET 2006 user muzi host hydra01 login name root home home2 users muzi queue list myqueue txt current dir root QueueProgs command newspremi newspremi newspremi calcolone tanticonti 3 d amp e 2 2 amp 2 myqueue USER old It s a backup up of the first file It s overridden each time that some commands are started from myqueue USER B hydraqueuectrl sh hydraqueuectrl sh is the main script 68 It runs in background logging into LOG_FILE var log log hydraQueue you may start it as the following hydraqueuec
2. Document you may at your option designate some or all of these sections as invariant To do this add their titles to the list of Invariant Sections in the Modified Version s license notice These titles must be distinct from any other section titles You may add a section Entitled Endorsements provided it contains nothing but endorsements of your Modified Version by various parties for example statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard You may add a passage of up to five words as a Front Cover Text and a passage of up to 25 words as a Back Cover Text to the end of the list of Cover Texts in the Modified Version Only one passage of Front Cover Text and one of Back Cover Text may be added by or through arrangements made by any one entity If the Document already includes a cover text for the same cover previously added by you or by arrangement made by the same entity you are acting on behalf of you may not add another but you may replace the old one on explicit permission from the previous publisher that added the old one The author s and publisher s of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version 5 COMBINING DOCUMENTS 45 You may combine the Document with other documents released under this License under the terms defined in section
3. I O simulation Next we create the home directorys tree as it is on our fileserver so that the NIS works properly then we link them against the real partition mounted on hydrahome HH HH H OH H OF echo creating home2 3 4 and linking to hydrahome mkdir home2 mkdir home3 mkdir home4 ln s hydrahome home2 users ln s hydrahome home3 users ln s hydrahome home4 users link also home users ln s hydrahome home users show it ls 1 home users ls 1 home2 users ls 1 home3 users 15 Now we performs the last step setting up the directory tree for hydra queue see 4 2 echo setting up hydraqueue groupadd hydrausers mkdir var hydraQueue mkdir var hydraQueue users mkdir var hydraQueue Launched mkdir var hydraQueue Errors HH H H H By now we have completed the basic master set up The machine is not ready to be openmosix hydra master There are few more things to do such as install openmosix and openmosix applications copy all the hydra scripts to the new master copy hydra queue to the new master e copy some other files The installation of openmosixview on all the masters it is not really needed moreover all about openmosix and hydra is the matter of the chapter Bl The files we need to copy are mainly the dsh list of machines the XF86config file the hosts file and so on You will find the complete list of that operations in the Appendix 4 1 2 Remember to se
4. Now it s time to reboot into your new debian clone system 38 5 6 1 Summary 1 as root issue the command bootcdwrite this will create an iso image of the running system Burn the iso image onto a cdrom and restart the computer with this cd After the boot is completed login as root and run bootcd2disk answer ignore to the prompted question about swap Don t reboot yet issue the command hydracd2disk answer to the prompted question with a number as 5 or 16 just the node number as it is in the first column of etc openmosiz map reboot don t use computer enjoy your life 39 Chapter 6 GNU Free Documentation License Version 1 2 November 2002 Copyright 2000 2001 2002 Free Software Foundation Inc 51 Franklin St Fifth Floor Boston MA 02110 1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document but changing it is not allowed Preamble The purpose of this License is to make a manual textbook or other func tional and useful document free in the sense of freedom to assure everyone the effective freedom to copy and redistribute it with or without modifying it either commercially or noncommercially Secondarily this License pre serves for the author and publisher a way to get credit for their work while not being considered responsible for modifications made by others This License is a kind of copyleft which means tha
5. This script is invoked by hchpoxmain It performs a look up of the active pro cesses launched with hydrarun searching in proc directory for the processes that have the environment variable MY_HYDRA_RUN set and ibernate all them with chpoz after finishing the ibernation it starts the shutdown I have to shutdown many nodes to do this I find more easy to write the hchpox main script that runs only on hydra01 It is so short that is faster to show 30 it directly bin bash CHPOX sbin hchpox MASTERS masters hyra01 02 03 04 NODES masters all but hydra01 run hchpox on the four masters hchpox will iberante all the runnig processes started with hydrarun dsh g MASTERS CHPOX dsh g NODES shutdown h 5 amp five minuts shutdown h 8 we need the time to stop it As you can see the key is that I can start all the hchpor and so all the ibernation on each master simultaneously Then I can shutdown all the other nodes and finally hydra01 The great feature of hchpox is taht only the processes started with hy drarun will be chpoxed see Chapter 2 This is very nice 31 Chapter 5 Debian Bootcd Bootcd is a debian package useful for create bootable cd from a running system the software description from the debian site is Package bootcd 2 48 run your system from cd without need for disks Build an image of your running Debian System with the command bootcdwrite You can also build a bootcd ISO i
6. can now specify DISK SFDISK SWAP FSTAB LILO EXTFS2 dev hda2 MOUNT mount dev hda2 mnt HH H H HF 60 C 1 3 S13bootcdflop sh hydra does not have floppy support so I will ask TIMELIMIT 5 echo n do you have the floppy y n read t TIMELIMIT ans if z ans then ans n echo ans exit 0 elif ans n then exit 0 fi C 2 hydracd2disk This is my own made script that performs some minimal adjustments after the installation performed with bootcd2disk There are two versions one for the hydra Master s nodes and one for the Slaves The following is for the slaves nodes bin bash mount the hard disk drive mount dev hdal mnt install grub echo installing grub grub install root directory mnt hd0 change net files echo changing net files usr bootcd_varie mk_net_files sh mnt don t know why but i must create this dir in order to make vi work properly mkdir p var tmp umount mnt 61 echo please reboot to update changes C 2 1 mk_net_files sh This is the script invoked by hydracd2disk It performs net files modifications bin bash this script modify all the net files It is invoked after the bootcd2disk debian command I use n as the node number I also need N for the hostname hydra01 09 n N ROOT 192 168 1 DEFAULT_IP 192 168 1 55 DEFAULT_NAME hydra55 ROOT_NAME hydra PREFIX 1 where dev hda is m
7. cluster I wrote many script some very shorts and stupids others longs and usefuls to me In this chapter I review most of them in order to specify their utilization on the cluster The shortes scripts made up of only one file are called hydra script and are on the thdp CD Rom and under the OpenMosix hydra directory on hydra01 The longer scripts made up of more than one file are hydra queue hydra chpox and hydrabootcd the former is described in the chapter B 4 1 One file bash script In order to automatize some boring operation I wrote some bash scripts Almost all the scripts runned without arguments gives a brief usage syn opsis Furthermore many scripts have it s own README scriptname file which is under hydra script doc directory In Appendix D there were all the readme files Once again the more suitable way to see the overall scripts it s to perform a command directly on hydra01 ls 1 root OpenMosix hydra hydra script addMosixUser sh copy_to_some_node sh delMosixUser sh hydraps sh hydrasync sh iptables_hydra sh isup sh mosctl_all sh 22 quota sh README up_down_node sh doc Hydra_banner iptables txt sample README addMosixUser README quota README sshBanner README sync sources list install_via_repos install_mosix sh master_update sh Starting from the end of the output the two scripts installl_mosix sh and master_update sh are old versions referring on the first settings of hydra when t
8. copy of it on the new master Very Important don t forget to copy the hydra gif image otherwise the cluster loose completly is calculation power The correct position in the filesystem is usr share WindowMaker Backgrounds hydra gif all the above files are on the thdp cdrom under the directory appendix A 1 A 2 Openmosixview A 3 ssh passwordless There are many sites reporting this howto you can see http www freebsdwiki net index php SSH _Passwordless_authentication 51 Appendix B Kernels B 1 hydra and openmosix B 1 1 iptables CONFIG_NETFILTER y CONFIG_NETFILTER_DEBUG is not set CONFIG_FILTER y CONFIG_UNIX m CONFIG_INET y CONFIG_IP_MULTICAST y CONFIG_IP_ADVANCED_ROUTER y CONFIG_IP_MULTIPLE_TABLES y CONFIG_IP_ROUTE_FWMARK y CONFIG_IP_ROUTE_NAT y CONFIG_IP_ROUTE_MULTIPATH y CONFIG_IP_ROUTE_TOS y CONFIG_IP_ROUTE_VERBOSE y CONFIG_IP_PNP is not set CONFIG_NET_IPIP m CONFIG_NET_IPGRE m CONFIG_NET_IPGRE_BROADCAST y CONFIG_IP_MROUTE y CONFIG_IP_PIMSM_V1 y CONFIG_IP_PIMSM_V2 y CONFIG_ARPD is not set CONFIG_INET_ECN is not set CONFIG_SYN_COOKIES y 52 IP Netfilter Configuration CONFIG_IP_NF_CONNTRACK m CONFIG_IP_NF_FTP m CONFIG_IP_NF_AMANDA m CONFIG_IP_NF_TFTP m CONFIG_IP_NF_IRC m CONFIG_IP_NF_QUEUE m CONFIG_IP_NF_IPTABLES m CONFIG_IP_NF_MATCH_LIMIT m CONFIG_IP_NF_MATCH_MAC m CONFIG_IP_NF_MATCH_PKTTYPE m CONFIG_IP_NF_MATCH_MARK m CONFIG_IP_NF_MATCH_MULTIPORT m CONFIG_IP_NF_
9. file etc init d apcupsd conf and set the followings variables e UPSCABLE usb e UPSTYPE usb e DEVICE dev usb hiddev0 according to the user manual you should leave DEVICE blank for me it doesn t work so I explicited the device name dev usb hiddev0 Now you will be able to contact your UPS Start the daemon with etc init d apcupsd start If it can t talk with the UPS it die shortly check the runnig process or the log files var log apcupsd events If it run correctly issue the command apcaccess The result should be a long list of UPS features like that APC 001 035 0910 DATE Tue May 23 17 51 23 CEST 2006 HOSTNAME hydra01 RELEASE 3 10 17 VERSION 3 10 17 18 March 2005 debian UPSNAME hydra01 CABLE USB Cable MODEL Back UPS RS 1500 UPSMODE Stand Alone STARTTIME Thu May 18 15 28 17 CEST 2006 STATUS BOOST ONLINE LINEV 204 0 Volts LOADPCT 75 0 Percent Load Capacity BCHARGE 100 0 Percent TIMELEFT 6 1 Minutes MBATTCHG 5 Percent MINTIMEL 3 Minutes MAXTIME O Seconds LOTRANS 194 0 Volts HITRANS 264 0 Volts 244 ALARMDEL Always BATTV 26 8 Volts NUMXFERS 8 XONBATT Tue May 23 07 24 12 CEST 2006 TONBATT O seconds CUMONBATT 45 seconds XOFFBATT Tue May 23 07 24 18 CEST 2006 SELFTEST NO STATFLAG 0x0200000C Status Flag MANDATE 2005 06 27 SERIALNO JBO526051344 BATTDATE 2001 09 25 NOMBATTV 24 0 FIRMWARE g9 I USB FW g9 APCMODEL Ba
10. files on the other masters On hydra01 to find the executables I issued the following command after looking the makefile to be sure of the destination directory of the executalbles hydra01 usr local src openmosixview 1 5 ls l usr bin openmosix rwxr xr x 1 root root 5065962 2006 04 04 14 20 usr bin openmosixanalyzer root root 419853 2006 04 04 14 20 usr bin openmosixcollector root root 2067695 2006 04 04 14 20 usr bin openmosixhistory root root 3081215 2006 04 04 14 20 usr bin openmosixmigmon root root 1997025 2006 04 04 14 20 usr bin openmosixpidlog rWXr xr x root root 1274782 2006 04 04 14 20 usr bin openmosixprocs rwxr xr x 1 root root 2460917 2006 04 04 14 20 usr bin openmosixview hydra01 usr local src openmosixview 1 5 TIWXI XI X TIWXI XI X TIWXI XI X TIWXI XI X Rh To assure the complete openmosizview functionalitys you must set cor rectly the master node where it runs e ssh passwordless the node that runs openmosixview should be access the other nodes via ssh without typing password see first Aland later for the complete documentation appendix A 3 e Xserver to import Xsession from the other nodes make sure to disallow the option no listen tcp that is the deafult for the debian system Edit the file etc X11 xinit zserverrc and remove the no listen tcp option else your X server does t accept any external comunication 21 Chapter 4 hydra scripts During The setting up of the hydra
11. form lt start gt lt size gt lt id gt lt bootable gt lt c h s gt and lt c h s gt where each line fills one partition descriptor You should omit the last two descriptor because sfdisk can manage them automatically better than you can do e start is the starting point for writing it may be the starting bit or block Should be 0 or blank e size is the size of the partition may be in bit or block e id is the partition type such us Dos or Linus it is one character S stands for swap and L stands for linux which is also the default if you leave this field blank e bootable can be or The first indicate to the boot loader that the partition is bootable The most simple way to use sfdisk is to use 1t with the uM options that is to force it to read the input in Megabyte I suggest you to issue the following just to take confidence sfdisk 1 uM device 59 See the output carefully Therefore to create two partition on dev hda1 one Linux 20 Giga and a Swap 2 8Giga you can use a command such that sfdisk 1 uM dev hdai lt lt EOF 0 19265 L 2643 8 EOF The above syntax works if the device is exactly 22 8 Giga in the most case is safer to let sfdisk to manage the end of the disk To do this you must use a line like aL EOF In this way sfdisk will fill your hard drive untill the end with a linux partition For more infos about sfdisk simply re
12. installed simply bunzip the patch and then issue the command with cat replacing bzcat 17 Now we can start to edit the configuration file this is done with the ncurses interface make mrproper clean the tree also delete config make menuconfig this invokes the ncurses interface Now you are in the kernel configuration menu I left to the default value the openMosix features e Select the P4 processor in the Processor type and features menu e To use iptables many features have to be selected you can find all them in the appendix Appendix Select the quota filsystem fs support Select all 3com ethernet devices Network devices ethernet 10 100 Select Marvell Youkon Network devices ethernet 1000 this is the Gi gabit hydra device Those are the mandatory selections for hydra then I tried to include many other useful things reading them from the 2 4 27 kernel configuration which cames with the debian system you can find it on all the debian installation under boot config 2 4 27 Now save amp exit Since we are using Debian GNU Linux distribution we have to compile the kernel in the debian way with the make kpkg tool Issue the command make kpkg clean make kpkg initrd add to version hydra revision 1 kernel_image This command will create the kernel image 2 4 26hydra_l_deb file in the usr src directory The add to version and version 1 are not manda tory but
13. nodes Despite this we choosed to divide our nodes in two categories we have four masters and twelve slaves To explain our choice is very simple openMosix granularity are processes and each processes is divided in two parts deputy and remote the first resides on the UHN and the second can migrate Consider to start a process on node 3 the remote part will migrate on a remote node reducing the load but the deputy part is still running on the node wasting cpu time Starting many jobs will end with the node 3 overloaded by the deputy parts of each job The context switching happens frequently because each deputy must talk to his remote so it must gain the cpu control even though for little time If too many processes are running each process must wait before to be scheduled this cause a delay in the running time and a decrease in performance The best way to use 16 computers with openMosix is probabily to allow users to access directly the most free node and run his her jobs on that This will be possible but results in many works for the users who have to keep track of the used node Alternatively you can use an appropriate sofware layer that manage the accounts and the job submissing Such a software exists but they are not free or not suitables for ours scopes We found that qsub is more complex and heavy that the solutions we took The idea is to allow login only to four nodes those are the UHNs of the cluster In that way you have
14. nodes some other stuffs are required All my nodes are identical in hardware but they must differ in some configuration files mainly the networks configuration files So I written a simple bash script that performs automatically all the needed changes In the Appendix you will find the entire script Appendix C 2 First of all the script must remount the hard disk then it install grub on the mbr of hd0 After that another script is invoked Pl and it prompt the user for the new node s number There isn t a default behaviour you Must answer with a number as 3 or 5 or 16 just the node number as it is in the first column of etc openmosiz map mk_net_files sh changes the following files e etc network interfaces e etc hostname e etc exim4 update exim4 conf conf e etc mailname e etc motd Then it change the hostname and return to hydracd2disk The last opera tion is to create the directory var tmp in order to make vi work properly I 5mk_net_files sh 37 didn mind why this directory disappear during the bootcd creation process I figured out that bootcd2disk remove all the temporany files before making the booted but why a dir 5 6 I burn We are ready to burn our live cd the first command to run is bootcdwrite this will create the iso image of the cd in the var spool bootcd directory this may last some time If you receive a Warning about insufficient RAM be aware that the bootcd may not works under this
15. one master every four slaves it is better 13 that have only one computer that manage all the deputy and it is easier to distribuite the users over 4 nodes We choosed to leave to the users the works of keep track of their works this simply result in a division of the masters between the different research groups when a user choose one master more often will use only this Therefore you only have to optimize the first distribution of the users trought the masters The problem then become the overload of the masters This is overcamed with a simple home made queue system hydra queue 4 2 see the cited section for detail Moreover in this way we have many facilities e We need to make visible only four nodes to LAN this is achieved by natting the four master via hydra01 that have two ethernet cards e We have to configure software only on 4 PC the others nodes are equipped with a basic installation 2 2 Basic Operating System The non masters slaved hydra nodes are installed with the base debian system This means that there are only the basic packages When installing debian sarge after finishing the base installation you will reach a screen displaying a list of grouped packages to chose from such as Desktop packages or web server database server mail server ecc You must leave this screen with all packages deselected 2 3 Operating System of the master nodes Each master must have some other packages installed th
16. the initrd option this is safer for the new kernels and the bootcd command can manage it with a little extra work There is a special utility bootcdmkinitrd that you must run after you have installed the new bootcd kernel Remember to allow the RAMDISK option in your kernel if you want to use the initrd feature The correct order is 33 1 install the new kernel dpkg i kernel image 2 4 27 bootcd_1_i386 deb 2 reboot your computer with the new kernel reboot 3 run bootcdmkinitrd bootcdmkinitrd this command will recreate the initrd for the new kernel In order to work properly bootcdmkinitrd needs another useful program discover you can simply install it via apt get and then run it typing discover at the prompt see the man page of both bootcdmkinitrd and discover for details 5 3 Bootcd scripts The main booted commands are e botcdmkinitrd it is a special mkinitrd command that configure prop erly the initrd of the running kernel to adapt it to the bootcd writing tools see section above e bootcdwrite performs the creation of the bootable cdrom from the running system you can fit it to your needs trought the configuration file etc bootcd bootcdwrite conf e bootcd2disk this command will perform the installation of the live system on the hard disk you can adjust it via the file usr share bootcd bootcd2disk conf When you run bootcdwrite it writes down the entire but you can also decide to omit s
17. the openMoisx Howto Chapter 4 4 for details My openmosix map file look like that node id IP address range 1 192 168 1 1 1 2 192 168 1 2 1 3 192 168 1 3 1 le bd 1 16 192 168 1 16 1 Make sure you have the same openmosiz map file on each node The config files must be the same on the master and slave nodes 19 3 4 Start openMosix Reboot your computer into the new kernel Start openmosix etc init d openmosix start or setpe w f etc openmosix map this force the reading of the configuration file try mosmon mosmon It is a cluster load viewer supports many options see the man page for details 3 5 Openmosixview I have found many difficulties to install this tool correctly I m still wondering why After a while I finally got an installation method My problem was that when I tried to compile it on my debian system I needed to install many library and those library brought with them the newest libc6 as I was costrained to change apt get to point on the unstable repository This at last caused a lot of problem and above all the impossibility to use the binary executable on the other nodes I haven t find the reason for the above behaviour but after many different attempt I was able to solve the problem whitout doing noting strange First we need to download openmosixview 1 5 from www openmosiz org then move it to usr local sre and unzip it In order to install openmosixview you must assure yo
18. they are very useful to distinguish kernel directory and kernel modules directory that will be created by make kpkg To uderstand this features deeper please refer to the make kpkg manual pages Now you can simply install it dpkg i kernel image 2 4 26hydra_1_ deb 3make kpkg is part of the kernel package package you can use apt get to install it 18 3 2 Openmosix tools Usually when I install a program from the source code I usually put it under usr local src So I suggest you to move there the openmosix tools zipped file that you have previously downloaded Then unzip the file and enter the new created directory It is better to read first the README and INSTALL files and then issue the command configure make make install This will install a set of very useful tools that I will describe later Try to see if the installation was succesful running a script such as mosctl mosctl isup node_number The answer should be no since we haven t yet rebooted the computer into the new kernel Then you can ensure that the file eec init d openmosix exsist You can also try to start it you will end up with an error it will say that this is not yet an openMosix system 3 3 Editing Configuration files Before restarting the system with openMosix you have to edit the configura tion file etc openmosiz map that must be the same on each nodd4 There are two ways to write this file I will report only the one I used see
19. wrong refer to the user manual installed under usr share doc apcupsd First connect one UPS to hydra01 via the eth usb cable called usb cable Then check if the kernel have recognized the device The first time I have connected hydra01 to the UPS it did not work because my kernel haven t USB devices correctly configured l4 A typical USB section of a config file might be CONFIG_USB_DEBUG y CONFIG_USB_DEVICEFS y CONFIG_USB_HIDINPUT y CONFIG_USB_HIDDEV y Once your kernel is properly configured you can issue the command cat proc bus usb devices Bus 02 Lev 01 Prnt 01 Port 01 Cnt 01 Dev 2 Spd 1 5 MxCh 0 Ver 1 10 Cls 00 gt ifc Sub 00 Prot 00 MxPS 8 Cfgs 1 Vendor 051d ProdID 0002 Rev 1 06 Manufacturer American Power Conversion Product Back UPS RS 1500 FW 8 g9 I USB FW g9 SerialNumber JB0526051344 x Ifs 1 Cfg 1 Atr a0 MxPwr 24mA FAHQAMNNMNNMN VY Ad 81 1 Atr 03 Int MxPS 6 Ivl 10ms 2So I nedeed to compile the kernel one more time uuuhh see Appendix 26 If 0 Alt 0 EPs 1 Cls 03 HID Sub 00 Prot 00 Driver hid There are two important things in the above output Manufacturer should be correctly set as APC 4 th line and Driver must be set as hid second last line last word If Driver is set to none you don t have hid driver loaded in the latter case see the apcupsd user manual appendix D 6 If you have experienced no troubles let s go over to configure the daemon You have to edit the
20. 4 above for modified versions provided that you include in the combination all of the Invariant Sections of all of the original documents unmodified and list them all as Invariant Sections of your combined work in its license notice and that you preserve all their Warranty Disclaimers The combined work need only contain one copy of this License and mul tiple identical Invariant Sections may be replaced with a single copy If there are multiple Invariant Sections with the same name but different contents make the title of each such section unique by adding at the end of it in parentheses the name of the original author or publisher of that section if known or else a unique number Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work In the combination you must combine any sections Entitled History in the various original documents forming one section Entitled History likewise combine any sections Entitled Acknowledgements and any sec tions Entitled Dedications You must delete all sections Entitled En dorsements 6 COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other docu ments released under this License and replace the individual copies of this License in the various documents with a single copy that is included in the collection provided that you follow the rules of this License for ver
21. MATCH_TOS m CONFIG_IP_NF_MATCH_RECENT m CONFIG_IP_NF_MATCH_ECN m CONFIG_IP_NF_MATCH_DSCP m CONFIG_IP_NF_MATCH_AH_ESP m CONFIG_IP_NF_MATCH_LENGTH m CONFIG_IP_NF_MATCH_TTL m CONFIG_IP_NF_MATCH_TCPMSS m CONFIG_IP_NF_MATCH_HELPER m CONFIG_IP_NF_MATCH_STATE m CONFIG_IP_NF_MATCH_CONNTRACK m CONFIG_IP_NF_MATCH_UNCLEAN m CONFIG_IP_NF_MATCH_OWNER m CONFIG_IP_NF_FILTER m CONFIG_IP_NF_TARGET_REJECT m CONFIG_IP_NF_TARGET_MIRROR m CONFIG_IP_NF_NAT m CONFIG_IP_NF_NAT_NEEDED y CONFIG_IP_NF_TARGET_MASQUERADE m CONFIG_IP_NF_TARGET_REDIRECT m CONFIG_IP_NF_NAT_AMANDA m CONFIG_IP_NF_NAT_LOCAL y CONFIG_IP_NF_NAT_SNMP_BASIC m CONFIG_IP_NF_NAT_IRC m CONFIG_IP_NF_NAT_FTP m CONFIG_IP_NF_NAT_TFTP m 53 CONFIG_IP_NF_MANGLE m CONFIG_IP_NF_TARGET_TOS m CONFIG_IP_NF_TARGET_ECN m CONFIG_IP_NF_TARGET_DSCP m CONFIG_IP_NF_TARGET_MARK m CONFIG_IP_NF_TARGET_LOG m CONFIG_IP_NF_TARGET_ULOG m CONFIG_IP_NF_TARGET_TCPMSS m CONFIG_IP_NF_ARPTABLES m CONFIG_IP_NF_ARPFILTER m CONFIG_IP_NF_ARP_MANGLE m CONFIG_IP_NF_COMPAT_IPCHAINS m CONFIG_IP_NF_NAT_NEEDED y CONFIG_IP_NF_COMPAT_IPFWADM m CONFIG_IP_NF_NAT_NEEDED y IP Virtual Server Configuration B 2 hydra bootcd This kernel is in the thdp CD Rom under the appendix B 1 directory with the many other kernels 54 Appendix C Bootcd2disk C 1 Bootcd scripts configuration files C 1 1 Brief intro to sfdisk I would like to describe briefly the sfdisk syntax from man page sfdisk reads lines of the
22. UNT mount dev hdai mnt UMOUNT umount mnt And also to specify the fstab for the new system FSTAB dev hdal ext3 defaults errors remount ro 0 1 dev hda2 none swap SW 0 0 After that there are some options for lilo that I have disabled as my system doesn t run lilo it runs erubL instead and then there are two not mandatory options that I left to theri default values 3When you run the bootcd2disk you will prompted for an error when creating the swap this is only a notification of the system but as the bootcd stops every system output you have to ignore it and go on 4and we will face it later 36 5 4 Floppy support One feature of the bootcd tools is that allow you to store modifications on a floppy disk so that you can load them on next boot Unfortunatly hydra s nodes doesn t have any floppy drive so 1 needed to modify another one script that performs the floppy check on startup as I didn t know if in the future may I have one floppy I didn t remove at all this feature I only prompt the user for the question have you got a floppy y n the default behaviour is n and so don t check the floppy and go on My simple modifications to the 13bootdcflop sh script are in the Appendix C J Now that we have configured our tools we can thinking about burning some cdroms don t we At last we don t yet 5 5 hydracd2disk Now the main configuration is done but as I need the cd to install many identical
23. ad the man pages C 1 2 bootcd2disk conf Slave Here is the configuration file for the bootcd2disk utility that I used for the slaves nodes ERRLOG var log bootcd2disk log function do_first If you want to do some things first before doing anythin else e g load additional modules you can add this to this function function do_first return gt To define the disk that will be newly partitioned before copying the cd to it DISK dev hda If you don t want do partition any disk DISK 56 If you want bootcd2disk to find a disk bootcd tries to use the first disk DISK auto DISK dev hda If DISK auto is defined the first disk found will be used To change this order TRYFIRST can be defined for example to use SCSI Disks first TRYFIRST dev sda dev hda Most people will not need this option and will define TRYFIRST TRYFIRST the option uM is set If you don t want to repartition anything use SFDISK If you want to specify yourself see man sfdisk SFDISK 90 100 5 gt If you want to do it automatically There will be 3 partitions boot swap and boot is created first to be sure the bios can load the kernel also on very large disks SFDISK auto set up the first partition of 20giga and a swap of 2 8giga SFDISK 0 19265 L 2643 5 VFAT is normally only ne
24. an the base system described above I will report the script that performs the various steps to complete the masters installation starting from a ready slave node i e starting from a base debian system PH suggest not to use this script in one task as it performs many critical operation so it s better to divide it into pieces or to give each command manually cfdisk see below or Master partition reboot 1 I would emphasize that the openMosix architecture does not divide the nodes in this two category See section L3 Remember to see the section on booted if you can install the system using the hydra bootcd you will save many time 14 HH H H HF HE HH HH H H OH OF echo make filesystem ext2 on hda2 hda3 mkfs ext2 dev hda3 mkfs ext2 dev hda4 echo make directory hydrahome TMP mkdir p hydrahome mkdir p TMP echo creating fstab echo etc fstab static file system information lt file system gt lt mount point gt lt type gt lt options gt lt dump gt lt pass gt proc proc proc defaults 0 0 dev hdal reiserfs notail 0 1 dev hda2 none swap SW 0 0 dev hda3 hydrahome ext2 defaults usrquota 1 1 dev hda4 TMP ext2 defaults usrquota 1 1 gt etc fstab echo mount all mount a In the first two steps above we create the two partitions to store users data The two partition are then mounted The hydrahome directory stores users home while TMP is thought for intensive
25. ast and simple otherwise there is no reason to use the openmosix kernel for the bootable cd It seems better to me to have one kernel for the cd and one for open mosix Thus I set up hydra04 with the base debian system then I installed the openmosix kernel Chapter I Appendix B 2 and the bootcd package After that i built the new kernel for the hydra bootcd and I decided to re move the default 2 4 27 kernel that came with debian maybe three different kernels are to much In the following sections you can find the detailed description of how to make the bootable cd with the bootcd package 5 2 Compiling the Kernel As stated above I needed to compile the kernel to create the hydra live cd In order to boot properly from an usb dvd device my bootcd kernel must had IDE SCSI and USB features built in statically In the appendix you will find the complete config Appendix B 2 file for hydra bootcd kernel Once that the configuration file is written a ker nel compilation is needed for which task you must have the kernel package installed on your debian system I assume that you are in the right condi tion then change to the kernel source directory usr src linux and issue the command make kpkg revision 1 append to version bootcd initrd kernel_image I appended some string to the kernel name revision append to version see the manual page from make kpkg to understand them Furthermore I used
26. authors and publisher of the Document as given on its Title Page then add an item describing the Modified Version as stated in the previous sentence Preserve the network location if any given in the Document for public access to a Transparent copy of the Document and likewise the network locations given in the Document for previous versions it was based on These may be placed in the History section You may omit a network location for a work that was published at least four years before the Document itself or if the original publisher of the version it refers to gives permission 44 K For any section Entitled Acknowledgements or Dedications Pre serve the Title of the section and preserve in the section all the sub stance and tone of each of the contributor acknowledgements and or dedications given therein L Preserve all the Invariant Sections of the Document unaltered in their text and in their titles Section numbers or the equivalent are not considered part of the section titles M Delete any section Entitled Endorsements Such a section may not be included in the Modified Version N Do not retitle any existing section to be Entitled Endorsements or to conflict in title with any Invariant Section O Preserve any Warranty Disclaimers If the Modified Version includes new front matter sections or appendices that qualify as Secondary Sections and contain no material copied from the
27. batim copying of each of the documents in all other respects You may extract a single document from such a collection and distribute it individually under this License provided you insert a copy of this License into the extracted document and follow this License in all other respects regarding verbatim copying of that document 7 AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works in or on a volume of a storage or distribution medium is called an aggregate if the copyright resulting from the compilation is not used to limit the legal rights of the compilation s users beyond what the individual works permit When the Document is included in an aggregate this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document 46 If the Cover Text requirement of section 3 is applicable to these copies of the Document then if the Document is less than one half of the entire aggregate the Document s Cover Texts may be placed on covers that bracket the Document within the aggregate or the electronic equivalent of covers if the Document is in electronic form Otherwise they must appear on printed covers that bracket the whole aggregate 8 TRANSLATION Translation is considered a kind of modification so you may distribute translations of the Document under the terms of section 4 Replacing In
28. ck UPS RS 1500 END APC Tue May 23 17 51 38 CEST 2006 If the command ends with a shorter list be aware that something is going wrong probabily with the DEVICE settings in the file etc init d apcupsd conf described above Try changing the settings and read the full documentation 4 4 chpox What appens if the power failure lasts more then the UPS s battery A disaster Thanks to Olexander Sudakov and Eugeniy Meshcheryakov we have a program that transparently dumps the state of specified process or process group into a disk file The processes may be restarted from that file at the point they were dumped For now it supports virtual memory CPU amp FPU registers regular files terminal state current directory pipes Unix sockets and multiple non interacting processes CHeckPOinting for linuX CHPOX provides Checkpointing for openMosix CHPOX works as kernel module apcupsd is able to detect the powerfailure and when the battery level is under a threshold it starts the shutdown I have modified apcupsd conf to run hchpormain instead of the shutdown The first modification consist only on this edit the file etc apcupsd apcupsd conf and change the variable SHUTDOWN sbin shutdown to the new value SHUTDOWN sbin hchpoxmain In the following we will see first how to install and configure correctly chpox and then how hchpoxmain works 28 Assuming that you have your kernel already patched with the open Mosix patch you have
29. condition Ensure you have the root directory free because it is stored in the initial RAMdisk image together with boot and so it must be very small After the image is ready we have to burn it hydra doesn t have a cd burner doesn t have a cdrom at all so I have copied the image on a remote pe of the internal IASI network and I burned it with k3b I left to you the choice of how to burn the cdrom I assume you have the cdrom in your hand put it in the external usb device or if you are so lucky to have one in the cdrom device remeber to check the boot order in the bios Restart your computer if everything goes well you will drop in a login session otherwise if something goes wrong I suggest you to pray a lot and retray or maybe reread all this busy article Login as root and give the command bootcd2disk Answer yes to the prompted question and then it will start to dump the live system to the hard disk A little bit later you will prompted with a swap error type ignore and go on it is only a warning but the bootcd2disk application leave you to manage every system notification After the process is complete about 15 minutes on hydra the script ends up with something like Reboot Now Don t mind it first you have to run hydracd2disk to make the hydra s modifications hydracd2disk Answer to the prompted question with a number as 5 or 16 just the node number as it is in the first column of etc openmosir map
30. e Intel R Pentium R 4 CPU 3 60GHz stepping ca cpu MHz 3598 423 cache size 1024 KB fdiv_bug no h1t_bug no f00f_bug no coma_bug no fpu yes fpu_exception yes cpuid level 5 wp yes flags fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 cid bogomips ss ht tm pbe pni monitor ds_cpl est 7182 74 And of cat proc meminfo total used free shared buffers cached Mem 2113789952 634724352 1479065600 O 36380672 273498112 Swap 2771877888 O 2771877888 MemTotal 2064248 kB MemFree 1444400 kB MemShared O kB Buffers 35528 kB Cached 267088 kB SwapCached O kB Active 1412 kB Inactive 403168 kB HighTotal 1179328 kB HighFree 808636 kB LowTotal 884920 kB LowFree 635764 kB SwapTotal 2706912 kB SwapFree 2706912 kB Committed_AS 12288 kB 1 1 Topology It s only a joke the following figure LI shows the hydra topology 1 2 Operating System We choosed to install debian GNU Linux as the operating system for all the clusters s nodes When I was setting up the cluster the last stable debian version was debian Sarge 3 1 Therefore hydra is equipped with Sarge 3 1 Chapter 2 deals with the detailed information about the installed debian system 1 3 Short overview on openMosix There are many ways to turn dozens of pc into a hpc cluster and also a lot of books dealing with this matter One of this way is openMosix
31. e process I can distinguish the process started with hydrarun because in the function sedstrip that runs the commands there is also the line export MY_HYDRA_RUN ok This variable will be saved by the system in proc PID environ A11 this features are in a while 1 loop C hydrarun sh This script creates the queue It s used in the following way hydrarun sh myqueue list myqueue list is a simple file conatining a list of commands es HHttttimy queue list HHHHHHHit spremi amp spremi amp spremi amp calcola f g3 amp calcoletto info amp HIBRIDO ROI ROO hydrarun creates the file myqueue USER 70 if it doesn t exist else appends the commands founded in myqueue list to it after the line commands see section A D myclean sh Grep the proc directories seraching for the PID and GID of all the running processes Then it selects processes by their GID and if GID GROUP1 GROUPN that are the users group GID on the local machine default value for hydrausers group is 1111 it checks the file proc PID environ searching for the variable MY_HYDRA_RUN If the variable is not set this imply that the process is not started using hydrarun and must be killllllleeeed Added a check on SHELL and program name to avoid killing ssh session or vi D 5 README quota I run 2 4 26 om1 kernel series that supports old vfs quota So I formatted the filesystems
32. eded on ia64 for EFI files Do not run mkdosfs VFAT Create partitions defined in VFATFS with mkdosfs VFAT dev sdb4 57 VFAT Do not run mke2fs EXT2FS Create partitions defined in EXT2FS with mke2fs EXT2FS dev hdal dev hda3 Create partitions needed automatically EXT2FS auto EXT2FS dev hdai Use EXT3 extenstion for partitions defined by EXT2FS EXT3 yes Do not Use EXT3 extenstio for partitions defined by EXT2FS EXT3 no Use EXT3 automatically if it is supported by the system EXT3 auto If you don t want to run mkswap use SWAP If you want to specify partitions for mkswap SWAP dev hda2 If you want to automatically use mke2fs SWAP auto SWAP dev hda2 HH H If you don t want to mount anything before copying the cd to mnt MOUNT UMOUNT If you want to mount everything yourself MOUNT mount dev hda3 mnt mkdir mnt boot mount dev hdal mnt boot UMOUNT umount mnt boot umount mnt If you want to automatically mount MOUNT auto UMOUNT auto MOUNT mount dev hdal mnt UMOUNT umount mnt If you don t want to change the etc fstab copied form cd 58 FSTAB If You want to define it yourself FSTAB dev sdai boot ext2 defaults 0 1 dev sda2 none swap sw 0 0 dev sda3 ext2 defaults errors remount ro O 1 proc proc proc defaults 0 0 If You wa
33. ee eee 50 og Pag is pe a eee 51 A h passwordlesa 51 52 fee eke a ee eee 52 Bij iptablef 2 a 52 A 54 C_Bootcd2dis C 1 Bootcd scripts configuration file 1 1 Brief intro Ji 12 booted2disk conf Slave D3 README Loma D 4 README hvdraqueue DS README quota D 6 Ups and apcupsd on hydra Preface HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HYDRA THE MIGHTY CLUSTER IASI Istituto di Analisi dei Sistemi ed Informatica viale Manzoni 30 Roma www iasi cnr it hydra HH HH HOH HH HOH OF OF HHH H HH H HH H OH OF HHTHHHHHHHHHHHHHHHHHHHHHHHHHHHEHHHHHHHHHHHHHHHHHHHR HERES mastrostefano iasi cnr it HHTHHHHHHHHHHHHHHHHHHHHHEHHHHHHHHHHHHHHHHHHHHHHH HEHEHE Got to have Kaja now cause the rain it s falling Bob Marley This works was born as an Internal CNR Report but we decided early that once finished we have put it on the web making it accesible for all With this aim this document is released under the GNU Free Documenta tion Licence chapter 6 and the scripts related to this work under the GNU General Public Licence The born of the hydra Cluster was possible thanks to Giovanni Rinaldi the IASI director who planned the setting up of hydra He also followed me in the cluster structure s design and software choosing Many of the ideas under the cluster are due to him or to our conversation about some implementation probl
34. egneria delle Telecomunicazioni Ruggero Russo 2004 11 Modern Operating System 2nd edition A Tanenbaum Prentice Hall 49 Appendix A Debian GNU Linux A l Master nodes In this Appendix section are reported all the detailed infomation needed to the unlucky man who have to manage with my work on hydra 1 would like to tell him to remember how hard it s the work of writing down all you do during the setting up of a machine Please be patient if something is missing try to find it out and add it to this report so that many guys in the future will focus their attetion on something else A 1 1 Scripts I can t put all the script in a report they are on the thdp cdrom and I hope on the hydra web site for free download The set_up_master sh script is on the thdp cdrom under the directory appendix A 1 2 Needed files In order to simplify our life is better to configure only one master and then copy the configuration files to the other This is one of the gain in having all identical nodes First of all you need to set up the dsh distribuited shell configuration so that you can soon start using it The files are etc dsh machine list etc dsh group masters etc dsh group slaves Then it s better to have the right etc openmosiz map file Before start the X session copy the etc X11 XF86config file so that the server starts 50 smootly I suggest you to have all the machine also in each emph etc hosts file so take a
35. ems The realization of hydra it s my goal but it was possible only with the great help of Bruno Martino and Roberto Muzi the system administrators of the IASI istitute They really know everything When I was demotivated by the difficulties arised they ever have the rigth way to the solution or at last some idiot sentence that rise me up definitly Special tanks to Carlo Gaibisso without him I couldn t be there to work and maybe I will do nothing about computer now just don t sleep to install some linux on some old machine He also supproted me in many ways and tolerate my presence in his room not an easy task I assure you Thanks 5 to Lukasz Polansky now working as a network admin at the CNR central building who starts with me the hydra installation Thanks to Angelika Wiegele an informatic researcher who tested the hy dra cluster and helped me to debug all the hydra scripts Many other people were involved sharing with me their knowledge some of them I will never know directly but I read a lot of their free documenta tions Thanks to all the openMosix project we re enjoing it Thanks to ienazeta Introduction This document describes the setting up of the hydra cluster at the IASI CNR institute Istituto di Analisi dei Sistemi ed Informatica In the first chapter there is a short description of the cluster and an overview on the main features of openMosix The second chapter deals about the kind of installatio
36. erating a log Killed file myclean sh can distinguish the programs launched with hydrarun sh with this trick hydrarun sh export the variable MY_HYDRA_RUN so that it is visible in the environment of each process under the proc PID directory Later on this trick has revealed very useful to ibernate he running processes with chpoz see below section 1 4 2 The detailed description of how each script works is in Appendix D 4 3 Ups and power failure One of the worst features of openMosix is that if the UHN dies the process die if the remote node die the process die To minimize the power failure events hydra has been fournished with an UPS system One UPS is connected to hydra01 and is monitored by apcupsd a daemon for the APC UPS system YI choseed this number arbitrary on the base of qualitative observation of the cluster performance 25 4 3 1 apcupsd After searching for a while on the net I found this wonderful tool completly free and opensource Debian have it s own port of this program so the installation is quite simple apt get install apcupsd apcupsd cgi apcupsd doc This will install apcupsd the web interface for monitoring the UPS and the full documentation The needed packages are libsnmp4 and libsnmp base apt will resolve those dependencies 4 3 2 Apcupsd on hydra The documentation is very extensive and exhaustive but very long Try to follow the instruction I have reported below if something goes
37. he hydraWiki site Pm very unhappy that this site is browsable only on the IASI_LAN maybe in the future will be accesible to all the internet up_down_node sh permits to start stop halt the nodes you inter actvely enter on demand Many of those scripts are minded to run on hydra01 with ssh configured to works without passwords This is why I started this section dealing with master_update sh All the scripts are not executables I prefear to run them with sh All the script are implemented to be stupid so read the README scriptname informations before run them you can stop them typing ctrl C but you may loose the control on the resulting operation In order to minimize the risk most of them ask you to interactively input some infos and ask you for confirmation before proceding further Keep in mind that they are definitely not safe 4 2 hydra queue To simplify user s life I have created a very simple queue program hydraque uectrl sh It runs in background on each master node controlling the pro cesses running on the master node and starting user s jobs To run a job on the hydra mighty cluster you must use the appropriate command hydrarun sh hydrarun sh myqueue list hydrarun accept only one argument that is your personal queue file In that file you have to put a list of executable programs one for each line Sup pose you have to run ten times a program called spremi that resides in your home directory and you wan
38. here was a local debian repository on hydra01 Nevertheless mas ter_update sh is very useful you can run it on hydra01 in the following way sh master_update sh scp This will copy the hydra01 RSA key to the node number you interactively pass to the command This resolve definitely the problem of setting up ssh passwordless needed by openmosizview see B 5 The most useful script is addMosixUser I would like to add users si multaneously to the four masters of hydra s cluster So I wrote down this simple script to accomplish the task many difficulties arised because we have a centralised NIS service for the accounting addMosixUser sh col lect some infomations about the new user from standard output and then uses dsh in conjunction with useradd passwd and setquota In the file README addMosixUser there are all the necessary informations about the script functions and usage Appendix D I needed to modify the default quota scripts because of the old kernel version I run See the README quota for detailed information One important features of hydra01 the natting of the other three masters is achieved via the iptables_hydra sh script You can put it directly under etc init d and start it on boot 23 hydraps sh performs a ps command on the node passed as the first argu ment for the program name passed as the second argument giving also the number of total processes running I use this command also via web interface on t
39. his with the Invariant Sections being LIST THEIR TITLES with the Front Cover Texts being LIST and with the Back Cover Texts being LIST If you have Invariant Sections without Cover Texts or some other com bination of the three merge those two alternatives to suit the situation If your document contains nontrivial examples of program code we rec ommend releasing these examples in parallel under your choice of free soft ware license such as the GNU General Public License to permit their use in free software 48 Bibliography E http www openmosix org the official site of the openMosix project N Engineering a Beowulf style Compute Cluster Robert G Brown Duke University Physics Department w openMosix presented by Dr Moshe Bar ns The openMosix Howto Kris Buytaert http howto z tend be openMosix HOWTO al http www cluster kiev ua tasks chpx_eng html checkpointing for linux D http www openmosixview com docs openMosixAPI html openMosix API by Matt Rechenburg N openMosix vs Beowulf a case of study Moshe Bar Stefano Cozzini Mau rizio Davini and Alberto Marmodoroi Democritos INFM Trieste Italy 00 Benchmarking I O Solutions for Clusters Stefano Cozzini and Moshe Bari Democritos INFM Trieste Italy 9 Clustering with openMosix M Michels amp W Borremans 10 Piattaforme software distribuite per il recupero di hardware obsoles cente Tesi di Laurea in Ing
40. hydra cluster tAsiCNR The Hydra documentation project thdp RS CR 27th July 2006 enrico mastrostefano Copyright 2006 enrico mastrostefano Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later version published by the Free Software Foundation with no In variant Sections with one Front Cover Texts The Hydra doc umentation project thdp by enrico mastrostefano ASI CNR Roma and no Back Cover Texts A copy of the license is in cluded in the section entitled GNU Free Documentation License chapter 8 Contents e a in 6 Introductio 7 8 SA a ee BG Ee Gees et Gs Gag et oe Bae G 9 See Merges oe Be pe ee ee ee 9 Pe Gee A ae 9 Migration 2 aca oe aa a o a a a 11 132 openMosix EA ww a 11 i 12 2 Operating 21 Ar hi e 44 1 Basic Usage 32 dee ah See o o dd gt ee 32 AE 33 Le o e a a a a A a a a 34 E o 35 a oh eek ee ees 35 5 4 Floppy support 2 a 37 a ee eee 37 LANAS 38 A eee ee eee nea 39 40 1 APPLICABILITY AND DEFINITIONS 41 gyn Sos nds es e dd N 42 Bg he aed Re aks begs bee 43 pes be oie has ee ee oe 43 er ee rn oe 45 6 CO ONS O O gt PONEN 46 N 46 AAA 47 AIN IO 47 R 47 48 BiBlio 49 50 ok bine we A A ee Be 50 es aa ee e Be eve as Se o 50 1 2 Needed filed cee
41. it can be a Beouwulf cluster as stated by Robert G Brown 2 But what is openMosix labove all I would like to cite engineering a Beowoulf Cluster 2 9 1Gigabit Switch Figure 1 1 hydra topology and how does it work The best way to understand openMosix features is to read them directly from Dr Moshe Bar it s main creator 8 openMosix is a kernel extension for single system image clustering open Mosix is a tool for Unix like kernel such as Linux consisting of adaptive resource sharing algorithms It allows multiple uniprocessor UP and sym metric multiprocessor SMP nodes running the same kernel to work in close cooperation The openMosix resource sharing algorithms are designed to re spond on line variations in the resource usage among nodes This is achieved by migrating processes from one node to another preemptively and transpar ently The standard runtime environment of openMoisx is a computer cluster in which the cluster wide resources are available to each node Therefore openMosix turns our 16 nodes into a single system image cluster that is it trying to make all nodes share their resources working as if they were a single system Moreover openMosix is implemented at the kernel level it is a linux kernel patch It is very important to underline the main difference between mosix and the other software for hpc clustering PVM and MPI the mostly used software are both library for parallel prog
42. mage via NFS on a remote System When you run your system from CD you do not need any disks All changes will be done in ram To reuse this changes at next boot time you can save them on FLOPPY with the command bootcdflopcp If booting from your CD drive is not supported booting from FLOPPY is possible It is possible to install a new system from the running CD with the command bootcd2disk Bootcd2disk can also find a target disk format it and make it bootable automatically Bootcd also supports initrd root fs devfs transparent compression ISO 9660 fs and syslinux isolinux 5 1 Set up an hydra s node In order to make easy the set up of an hydra node I built a bootable cd that can be installed on the hard disk To accomplish this task I used debian bootcd 2 48 The main script of the bootcd package is bootcdwrite that performs the creation of the cdrom starting from a running debian system 32 My first problem was that hydra s nodes doesn t have any cdrom or floppy so the bootable cdrom I will create must boot from an external usb dvdrom The kernel image om1hydra Chapter Appendix B 2 that I built does not support it statically so it s impossible to use it to make a bootable linux system on an external usb device As I was compiling a new kernel with IDE SCSI USB features static compiled in I decided to use the 2 4 27 stable debian kernel and not the 2 4 26 openmosix patched one The reason is that I found it more f
43. me Such new versions will be similar in spirit to the present version but may differ in detail to address new problems or concerns See http www gnu org copyleft Each version of the License is given a distinguishing version number If the Document specifies that a particular numbered version of this License or 47 any later version applies to it you have the option of following the terms and conditions either of that specified version or of any later version that has been published not as a draft by the Free Software Foundation If the Document does not specify a version number of this License you may choose any version ever published not as a draft by the Free Software Foundation ADDENDUM How to use this License for your documents To use this License in a document you have written include a copy of the License in the document and put the following copyright and license notices just after the title page Copyright YEAR YOUR NAME Permission is granted to copy distribute and or modify this document under the terms of the GNU Free Documentation License Version 1 2 or any later ver sion published by the Free Software Foundation with no Invari ant Sections no Front Cover Texts and no Back Cover Texts A copy of the license is included in the section entitled GNU Free Documentation License If you have Invariant Sections Front Cover Texts and Back Cover Texts replace the with Texts line with t
44. must either include a machine readable Transparent copy along with each Opaque copy or state in or with each Opaque copy a computer network location from which the general network using public has access to download using public standard network protocols a complete Transparent copy of the Document free of added material If you use the latter option you must take reasonably prudent steps when you begin dis tribution of Opaque copies in quantity to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy directly or through your agents or retailers of that edition to the public It is requested but not required that you contact the authors of the Document well before redistributing any large number of copies to give them a chance to provide you with an updated version of the Document 4 MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above provided that you release the Mod ified Version under precisely this License with the Modified Version filling the role of the Document thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it In addition you must do these things in the Modified Version 43 Use in the Title Page and on the covers if any a title distinct from that of the Document and from those of previous
45. n I have performed on hydra The third chapter would be a short document about how to install open Mosix furthermore it contains some detailed information about the hydra openMosix kernels The fourth chapter deals with the scripts I wrote from the shortest ones for basic adminstrative task to the longer not to much at least one to submit jobs on hydra In the last Chapter there is a useful overview on the debian bootcd pack age I described in detail how I have created the hydra booted live CDs that allow the administrator me to set up an hydra node in a quick and safe way The Appendix are mainly a collection of README files of the above cited scripts and report some full scripts too As part of this documentation there are three CDs 1 hydrabootcd the live CD for slave nodes 2 hydrabootcd M the live CD for master nodes 3 thdp the CD containing this document with all the scripts the kernels and anything else cited in the following Chapter 1 The hydra cluster hydra is the openMosix cluster set at the IASI CNR istitute It was built with the aim of doing high performance calculation HPC hydra si made up of 16 identical nodes connected by a 1Gigabit ethernet switch Each node is equipped with P4 3 6Ghz processor and 2G of Ram Here is the result of the command cat proc cpuinfo performed on hydra01 the first node of the cluster processor 0 vendor_id Genuinelntel cpu family 15 model 7 4 model nam
46. nt to do it automatically FSTAB auto FSTAB lt file system gt lt mount point gt lt type gt lt options gt lt dump gt lt pass gt proc proc proc defaults 0 0 dev hdal ext3 defaults errors remount ro 0 dev hda2 none swap sw 0 If you don t want to change the etc lilo conf copied from cd LILO If you want to define it yourself LILO boot DISK delay 20 vga 0 image vmlinuz root DISK3 initrd initrd img label Linux read only If You want to do it automatically LILO ELILO is only needed on ia64 systems If you don t want to run elilo ELILO If you want to define etc elilo conf and run elilo ELILO install usr lib elilo elilo efi HE H HH H H HF 59 boot dev sdb4 prompt timeout 50 default Linux append console ttyS0 9600n8 image vmlinuz label Linux root dev sdb5 read only ELILO HH HHH HH A A SSHOSTKEY yes no If you are using ssh it is helpfull to have a unique ssh hostkey for each PC installed with bootcd2disk This will be generated with SSHHOSTKEY yes SSHHOSTKEY yes function after_copy If you want to do some things after copying the files e g remount of directories you can add this to this function function after_copy return HH H H H HF Examples IF you only want to copy the cd to an already existing Partition dev hda2 You
47. o 0 0 dev fd0 media floppy0 auto rw user noauto 0 0 As you can see you have to add usrquota after each device where you want to run quota I also needed to create the soft link between hydrahome and the default nis home So I created 12 home2 users gt hydrahome home3 users gt hydrahome home4 users gt hydrahome because my nis homes is under home2 users home3 users home4 users That s all 73 D 6 Ups and apcupsd on hydra the complete USB options are in the file appendiz B 1_kernel kernel_configs kernel_ config ups usb txt in the thdp CD Rom The source of this config is simply the apcupsd user s manual You can browse it directly from http www2 apcupsd com 3 10 x manual manual html Linux Kernel Config 74
48. ome directorys system on a iso image file Once the image is ready is to late to make any modification You must plan the structure of the system before proceding If you are interested in using the bootcd2disk command you must modify it s config file before doing anything else First of all we have built the kernel and rebooted the system into the new kernel then we have ran the bootcdmkinitrd script to tune the initrd to the booted tools Our next step is to modify the configuration files of bootcdwrite and bootcd2disk 1On the live cdrom there are some config files that you can still edit and save but they are obviously saved in ram and you will have to edit them each time 34 5 3 1 bootcdwrite conf The configuration file of bootcdwrite is in the etc bootcd directory I didn t need to modify it as it already fit my needs Anyway it is simple to un derstand and it s safer to take a look at it before proceding further As an exemplum bootcdwrite try to find your kernel as umlinuz This is the default line in the configuaration file Define the kernel which is used KERNEL vm1inuz This is also the default for debian systems but you may have changed it or you have forgot to make the link in the root directory Therefore make sure to check the configuation file 5 3 2 bootcd2disk conf You will find this configuration file in the usr share bootcd directory with all the booted scripts This is because the bootcd2disk sc
49. on is a named appendix or a front matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document s overall subject or to related matters and contains nothing that could fall directly within that overall subject Thus if the Document is in part a textbook of mathematics a Sec ondary Section may not explain any mathematics The relationship could be a matter of historical connection with the subject or with related matters or of legal commercial philosophical ethical or political position regarding them The Invariant Sections are certain Secondary Sections whose titles are designated as being those of Invariant Sections in the notice that says that the Document is released under this License If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant The Document may contain zero Invariant Sections If the Document does not identify any Invariant Sections then there are none The Cover Texts are certain short passages of text that are listed as Front Cover Texts or Back Cover Texts in the notice that says that the Document is released under this License A Front Cover Text may be at most 5 words and a Back Cover Text may be at most 25 words A Transparent copy of the Document means a machine readable copy represented in a format whose specification is available to the general public that i
50. ounted echo n insert the node number read n echo my ip ROOT n if n ge 10 J then N n else N 0 n fi echo my hostname ROOT_NAME N etc network interfaces ip modification gt n echo DEFAULT_IP gt ROOT n sed i address s DEFAULT_IP ROOT n PREFIX etc network interfaces etc hostname name modification gt N sed i s DEFAULT_NAME ROOT_NAME N 62 PREFIX etc hostname etc exim4 update exim4 conf conf etc mailname etc motd sed i s DEFAULT_NAME ROOT_NAME N PREFIX etc exim4 update exim4 conf conf sed i s DEFAULT_NAME ROOT_NAME N PREFIX etc mailname sed i s DEFAULT_NAME ROOT_NAME N PREFIX etc motd restart net service hostname ROOT_NAME N echo please restart network 63 Appendix D Script and README files This is a collection of README files wrote for the hydra scripts Those are not the whole but the most relevant All the README files are on the CD under the hydra script doc directory or under the directory of the program such as hydra queue D 11 README addMosix User HHTHHHHHHHHEHHHEHHHEAHHE HEHEHE HHE HEA HRERHEA HEHE HYDRA THE MIGHTY CLUSTER IASI Istituto di Analisi dei Sistemi ed Informatica viale Manzoni 30 Roma www iasi cnr it hydra HHEHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHR HERES I would like to add users to the four maste
51. ramming so they works only with programs written ad hoc The programmer write the code in parallel mode so that it can be distribuited trought the cluster More the nodes on which the program run less the running time if the code is well formatted Write 10 parallel codes can be quite complex you may need many time to reorganize your code to make it work on parallel machine but the result can be very powerfull openMosix is different It manages the processes running on a system and it is not designed for parallel programming When the require ments for resource of a given proecess exceed some threshold level then some processes may be migrated to other nodes to take advantage of avaliable re mote resource 3 The openMosix creator assert that the inter processes comunication IPC gain performance in conjuction with openMosix This will lead to a gain in performance using MPI PVM library 1 3 1 Migration Each process has is unique home node UHN where it was created open Mosix divides the migrating processes in two context the system context called the deputy and the user context called the remote The user context contains the program code stack data memory maps and register of the pro cess the remote encapsulate the process when it is running in the user level The system context called the deputy contains a description of the resources that the process 1s attached to and the kernel stack for execution of
52. ript is useful only on the live cdrom During the cdrom creation it will be automatically moved under the bin directory and the configuration file will be copied to the etc bootcd dir This configuration file is a little be tricky to modify you need to know exactly what you are doing First we have to specify the disk that will be newly partitioned DISK dev hda Then we have to specify_how to repartition it see Appendix for understanding sfdisk syntax set up the first partition of 20giga and a swap of 2 8giga SFDISK 0 19265 15 2643 5 I must remark that my hard disk is bigger than the part I had partitioned via sfdisk this is crucial otherwise the last line of the SFDISK directive must be like in the following exemplum 21 anticipate that bootcd2disk pass the uM option to the sfdisk command i cryed bitter tears while burning the 100th cdrom 35 set up the first partition of 20giga and a swap of 2 8giga and a third Linux partition that fills the remaining part SFDISK 0 19265 L 2643 5 aL As you can imagine the last line L leave sfdisk free of fill the device untill the end We must create the filesystem and if this is the case set the use of ext3 EXT2FS dev hdal EXT3 auto We need to turn on the swap in the sfdisk command above we have set the swap on the 2nd partition so El SWAP dev hda2 Now we have to specify the mount and umount comand for the new partition MO
53. rnel module ready you can copy it to all the masters in the correct location cited above and then on each master repeat the two last command line to insert the module in the running kernel You still have to install the chpox debian package on all the master but not the chpox source package 3http www cluster kiev ua tasks chpx eng html 29 4 4 1 Basic Usage In this section IIl report briefly the typical chpox usage see also http www openmosizview com chpox by Matt Rechenburg Suppose you have a running process called polimero AkT 0 59 Issue the command ps ax grep polimero AkT 0 5 Look at the PID of the process Then to chpox the process chpoxctl add 32707 31 1 tmp proc dump To verify that the process is chpoxed cat proc chpox info But we have to add the library needed by the process so ldd polimero AkT 0 59 This command will produce a list of library to add them just type chpoxctl addlib lib libm so 6 chpoxctl addlib lib libc so 6 chpoxctl addlib lib Id linux so 2 To verify the library added chpoxctl listlibs Now to really dump the process we have to send a SIGHUP to the process kill 31 32707 Check the result with and find the difference between this and the previuos time we issued this command cat proc chpox info Now we try to kill the process and the restore it kill 32707 Gasp Now restore it ld chpox tmp proc dump amp Have been restarted ps ax grep polimero AkT 0 5 4 4 2 hchpox
54. rs of my mighty hydra s cluster I want to run useradd only one time so i writed down 64 this simple script to accomplish this task enrico mastrostefano romal infn it mastrostefano iasi cnr it This script collect some infos for the new user and then use dsh in conjunction whit useradd passwd and setquota First of all I defined some DEFAULT values that will be used if you leave blank all the answers Then I simply call dsh g masters useradd so if you want to use this script you must create the group masters with the options collected The g option allow me to tell dsh the machine s group where to perform the actions etc dsh see dsh man pages for details There are two types of users most of the users are nis users so they login trought the nis server and then are bounced to their hydra s home directorys there are also some local users that are only on hydra Both them will have an home directory on hydrahome their_name and another one on TMP their_name The script recognizes the two different types of users making a simple call to the nis server ypcat passwd For them the script creates the two home directory with the same uid and gid as they have on the nis server For the local users the script make a call to the useradd and passwd commands For Both them the script uses the setquota command to set the avaliable disk space for each user I also needed to create
55. s will be spread over the nodes and many processes will run simultaneously reducing the runnig time One of the most interesting features for me of openMosix is that there is no master slave relationship among nodes It means that each node can be simultaneously the UHN of some processes and the remote for some other Moreover on an openMosix cluster you can login and run processes on each node distributing all the load not only the intensive calculation but each kind of work 1 3 3 openMosix and Hyperthreading In order to have an HPC cluster it is necessary to disable the hypertrading feature of the PIV Dual core processors are not suitable for our scope In fact by definition of HPC we would have CPU always running on a single thread We have hpc computing in the limit FPUtime Clock where FPU indicate the Floating Point Unit register s With a dual core processor the system can switch beetween threads the control of the FPU this could be great for everday applications that spend many time whitout using the CPU but would have the opposite effect in the hpc case We would have the maximum power on a single process to minimize the single thread execution time and not the overall applications time see also 7 12 Chapter 2 Operating System This Chapter focus over the operating system installation details 2 1 Architecture of the Cluster As we have already told there is no master slave relationship between open Mosix
56. s suitable for revising the document straightforwardly with generic text editors or for images composed of pixels generic paint programs or for drawings some widely available drawing editor and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters A copy made in an otherwise Transparent file format whose markup or absence of markup has been arranged to thwart or discourage subsequent modification by readers is not Transparent An image 41 format is not Transparent if used for any substantial amount of text A copy that is not Transparent is called Opaque Examples of suitable formats for Transparent copies include plain ASCII without markup Texinfo input format LaTeX input format SGML or XML using a publicly available DTD and standard conforming simple HTML PostScript or PDF designed for human modification Examples of trans parent image formats include PNG XCF and JPG Opaque formats include proprietary formats that can be read and edited only by proprietary word processors SGML or XML for which the DTD and or processing tools are not generally available and the machine generated HTML PostScript or PDF produced by some word processors for output purposes only The Title Page means for a printed book the title page itself plus such following pages as are needed to hold legibly the material this License requires to appear in
57. system code on behalf of the process The deputy encapsulates the process when it is running in the kernel it holds the site dependent part of the process it must remain in the UHN The interfaces between the deputy and the remote is well defined so it is possible to intercept every interaction between these contexts and forwarding it across the network If a process overcome the resource of the node where it is actually running the remote and part of it s memory pages migrats to another node When the remote needs to execute a system call it tries first to execute it locally if it doesn t work contact the deputy that peforms the requested operation in the UHN By now openMosix doesn t migrate threads we are all waiting for this new promised feature 1 3 2 openMosix usage Suppose that we have to solve one computational problems we would like to solve it as soon as possible The best way to do this is to separate our problem in N subproblems If these subproblems are strictly dependent than we must use the MPI like technology as we need intercomunication between these N processes Otherwise if the subprocesses are losely dependent then we can use the fork system call and run them indipendently The latter situation is perfect for openMosix when a process fork then another process 11 is created and openMosix can manage it Many processes are running instead of one and openMosix takes care of load balancing them The processe
58. t derivative works of the document must themselves be free in the same sense It complements the GNU General Public License which is a copyleft license designed for free software We have designed this License in order to use it for manuals for free software because free software needs free documentation a free program should come with manuals providing the same freedoms that the software does But this License is not limited to software manuals it can be used for any textual work regardless of subject matter or whether it is published as a printed book We recommend this License principally for works whose purpose is instruction or reference 40 1 APPLICABILITY AND DEFINITIONS This License applies to any manual or other work in any medium that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License Such a notice grants a world wide royalty free license unlimited in duration to use that work under the conditions stated herein The Document below refers to any such manual or work Any member of the public is a licensee and is addressed as you You accept the license if you copy modify or distribute the work in a way requiring permission under copyright law A Modified Version of the Document means any work containing the Document or a portion of it either copied verbatim or with modifications and or translated into another language A Secondary Secti
59. t to redirect the output to the file spremiout txt under the result directory So your myqueue list file should be like this begin of spremiqueue list spremi gt result spremiout1 txt amp spremi gt result spremiout2 txt amp spremi gt result spremiout3 txt amp spremi gt result spremiout10 txt Y eof 24 Therefore to run your spremi jobs just type hydrarun sh spremiqueue list Every fixed time hydraqueuectrl sh check the number of processes running for each user and create a list of users starting from the one that uses less resources If the whole numer of processes running is less then 100 H it starts few processes for each user in the users list Then stores the launched processes in a file under the directory var hydraQueue The user can view the file using the command hyQrun sh Furthermore an error hydraQueue file is generated in the SHOME directory of the user after the submission of his her jobs If error hydraQueue is an empty file then no errors occured otherwise the error given by the system are reported Every operation done by hydraqueuectrl sh is logged There are other two commands hyQmyqueue sh to see the command still in queue and hyQlog sh mainly for the administrator to see the log file of hydraqueuectrl sh I was nearly to forget the most beautiful part of hydra queue program myclean sh This amazing script kill each process that are launched without hydrarun sh gen
60. the soft link 65 between hydrahome and the default nis home So I created home2 users gt hydrahome home3 users gt hydrahome home4 users gt hydrahome because my nis homes is under home2 users home3 users home4 users I generate default passwd with apg tools that is a random passwd generator so you need it to make this script work properly D 2 README hchpox hchpox ibernate all the processes that runs on the computer and are launched with hydrarun It requires the existence of the directory where to save the dump files TMP chpox_dump It is called by the hchpoxmain script In order to use it you must copy hchpox under the sbin directory of each master node hydra01 02 03 04 Moreover on hydra01 under the sbin dir you must have a copy of hchpoxmain see README hchpoxmain D 3 README hchpoxmain This script is invoked by etc apcupsd apccontrol instead 66 of invoking directly the shutdown system program I have simply edited etc apcupsd apccontrol and modified the value of the SHUTDOWN variable at the beginning of the file In this way each time apcupsd wants to call a shutdown it calls hchpoxmain instead hchpoxmain use dsh program to run hchpox script on the masters node and then shutdown all the nodes see README hchpox D 4 README hydraqueue HOWTO use hydraQueue programs A directories B hydraqueuectrl sh C hydrarun sh D myclean sh A create the directories
61. the title page For works in formats which do not have any title page as such Title Page means the text near the most prominent appearance of the work s title preceding the beginning of the body of the text A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses follow ing text that translates XYZ in another language Here XYZ stands for a specific section name mentioned below such as Acknowledgements Dedications Endorsements or History To Preserve the Title of such a section when you modify the Document means that it re mains a section Entitled XYZ according to this definition The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document These Warranty Disclaimers are considered to be included by reference in this License but only as regards disclaiming warranties any other implication that these War ranty Disclaimers may have is void and has no effect on the meaning of this License 2 VERBATIM COPYING You may copy and distribute the Document in any medium either com mercially or noncommercially provided that this License the copyright no tices and the license notice saying this License applies to the Document are reproduced in all copies and that you add no other conditions whatsoever to those of this License You may not use technical meas
62. to ext2 and set quota whit the options F vfsold see quota sh and addMosixUsers sh To set quota first install the package apt get install quota 71 answer No to the question I have modified the etc init d quota script as I wrote in the first lines of this document So take this script from the openmosix all mosix script quota sh directory and copy it to etc init d quota if you leave unchanged the name it will start automatically each reboot because apt had just configured it else run update rc d as you like After the installation the old script quota trys to set quota on but fails because has not the correct F vfsold flag So after installed you have to force it manually be sure that your quota filesystem are already mounted see section below on fstab etc init d quota restart that is the same as running the following commands quotacheck a F vfsold quotaon a F vfsold But before running the above commands remember to set correctly your etc fstab my fstab is etc fstab static file system information lt file system gt lt mount point gt lt type gt lt options gt lt dump gt lt pass gt proc proc proc defaults 0 0 dev hdal reiser s notail 0 1 dev hdab none swap sw 0 0 dev hda2 hydrahome ext2 defaults usrquota 1 1 dev hda3 TMP ext2 defaults usrquota 1 1 dev scd0 media cdrom0 iso9660 ro user noauto 0 0 dev hdc media cdromi iso9660 ro user noaut
63. to install with apt get the following two packages chpozx_0 7 1 1_1386 deb and chpox source_0 7 1 1_all deb which provides the source for the kernel modules The second is a source package and you have to compile it referring to the inside README file Change to the usr src modules chpox directory and build as the README file instructs using make make install This will build and install a module specific to the system you are building on and is not under control of the packaging system NWARNING Compile CHPOX with the same compiler the kernel was compiled WARNING Recompile CHPOX after recompiling kernel I decided to recompile the kernel You may have understood that at last I like very much to compile the damned linux kernel but it is really not needed The real problem is that I have removed the linux source I would emphasize that this is not the correct procedure it s a blood but it works read the instruction in the README Debian to perform the right installation I performed the following make menuconfig make dep make bzImage make modules_install the above lines installed the new module founded created by the compilation of chpox under the directory 1ib modules 2 4 26 om1 misc chpox_mod o Then I copied it to the directory misc under the current kernel modules directory lib modules 2 4 26 omthydra misc chpox_mod o I must create the misc directory depmod ae modprobe chpox_mod Once you have the ke
64. trl sh This script checks the number of active processes on hydra I called this number num_tot Calling NUM_LIMIT the maximum number of processes hydra can accept then if num_tot lt NUM_LIMIT gt hydraqueuectrl can start other processes else it must wait until the above condition is satisfied If the above condition is stisfied hydraqueuectrl have to start some other processes that are in queue but where they are which is the queue thank you for the questions The script hydrarun sh attempts this task as you can learn later it will create for you the file myqueue USER so each user have a personal queue file Hydraqueuectrl sorts the users by running processes in such a way that the first user in the list is the one that have less processes running Then save this list in the file USERS_LIST_FILE var hydraqueue users_queue_list tmp Now we have an ordred list of user Next step is to check the myqueue file owned by the first user in the list and starts his commands Furthermore hydraqueuectrl backup the commands launched in the BACKUP_FILE var hydraQueue Launched launch USER and delete the commands launched from myqueue USER file 69 Then hydraqueuectrl sleeeeeep for WAIT seconds and starts the script myclean sh I m very happy of this script It checks if a process owned by hydra s user is started by hydrarun or not In the first case all it s ok but in the second it will kill th
65. tting up the NIS application adding the ypserver in the etc yp conf file and setting the right domain name iasi rm cnr it on the new node The set_master_node sh script described in this section is in appendix A 1 16 Chapter 3 Openmosix on Debian In the first chapter L3 we have seen that openMosix is a linux kernel patch therefore it is needed to compile and patch the kernel The latest stable version of openMosix is for the 2 4 26 kernel series this kernel it s not avalaible as a debian package so you have to download it directly from http ww kernel org Moreover we need to download the openMosix 2 4 26 patch and the latest openmosix tools 1 5 H from www openmosixz org For further information on the installation procedure please read the official openMosix Howto 4 3 1 Kernel compilation In the following I briefly show how I have compiled the hydra kernel The kernel configuration file config is in the appendix Appendix B 1 I suppose you have downloaded the kernel and already unzipped it under usr src linur 2 4 26 Next step is to create the following links cd usr src ln s linux 2 4 26 linux ln s linux 2 4 26 linux openmosix Then it is necessary to copy the openMosix patch openMosix 2 4 26 1 bz2 in the usr src linux directory then enter the directory and patch the kernel bzcat openMosix 2 4 26 1 bz2 patch Np1 la set of standard tools to manage the cluster 2if you haven t bzcat
66. ures to obstruct or control the reading or further copying of the copies you make or distribute However you may accept compensation in exchange for copies If you dis tribute a large enough number of copies you must also follow the conditions in section 3 42 You may also lend copies under the same conditions stated above and you may publicly display copies 3 COPYING IN QUANTITY If you publish printed copies or copies in media that commonly have printed covers of the Document numbering more than 100 and the Doc ument s license notice requires Cover Texts you must enclose the copies in covers that carry clearly and legibly all these Cover Texts Front Cover Texts on the front cover and Back Cover Texts on the back cover Both covers must also clearly and legibly identify you as the publisher of these copies The front cover must present the full title with all words of the title equally prominent and visible You may add other material on the covers in addition Copying with changes limited to the covers as long as they pre serve the title of the Document and satisfy these conditions can be treated as verbatim copying in other respects If the required texts for either cover are too voluminous to fit legibly you should put the first ones listed as many as fit reasonably on the actual cover and continue the rest onto adjacent pages If you publish or distribute Opaque copies of the Document number ing more than 100 you
67. urself to have the qt library 2 0 lt version lt 4 0 PL In a debian system this means that you have to install many differents packages plus the corresponding devel packages See also Appendix A 2 If you have already installed the masters packages Appendix A 1 as described in chapter one 2 3 then you only need to install the following with the apt get install package command e libqt3c102 mt 4 packages will be installed e libqt3 mt dev many packages will be installed 5in the 4th release the latest when I wrote this document there are diffrente header files 20 e libqt3 compact header Then you must link them against what openmosixview s Makefile think 1n s usr lib qt3 usr lib qt And you also have to export the QTDIR variable In a bash environment you ca do it issuing the following commands export QTDIR usr share qt3 The QTDIR is the installation directory of the gt packages You can check it with the command dpkg S qt Once you have prepared your system compile openmosixview is straight forward Go to the openmosixview source directory and after reading the README and INSTALL files type setup This will work I hope If make ends with some errors check the errors if the compiler can t find some qstuff h files then something goes wrong with the qt installation Try to checkout the openMosix Howto f4 Of course you need to compile it only once then you can copy directly the executalbe
68. vari ant Sections with translations requires special permission from their copy right holders but you may include translations of some or all Invariant Sec tions in addition to the original versions of these Invariant Sections You may include a translation of this License and all the license notices in the Document and any Warranty Disclaimers provided that you also include the original English version of this License and the original versions of those notices and disclaimers In case of a disagreement between the translation and the original version of this License or a notice or disclaimer the original version will prevail If a section in the Document is Entitled Acknowledgements Dedica tions or History the requirement section 4 to Preserve its Title section 1 will typically require changing the actual title 9 TERMINATION You may not copy modify sublicense or distribute the Document except as expressly provided for under this License Any other attempt to copy modify sublicense or distribute the Document is void and will automatically terminate your rights under this License However parties who have received copies or rights from you under this License will not have their licenses terminated so long as such parties remain in full compliance 10 FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new revised versions of the GNU Free Documentation License from time to ti
69. versions which should if there were any be listed in the History section of the Document You may use the same title as a previous version if the original publisher of that version gives permission List on the Title Page as authors one or more persons or entities responsible for authorship of the modifications in the Modified Version together with at least five of the principal authors of the Document all of its principal authors if it has fewer than five unless they release you from this requirement State on the Title page the name of the publisher of the Modified Version as the publisher D Preserve all the copyright notices of the Document E Add an appropriate copyright notice for your modifications adjacent to the other copyright notices Include immediately after the copyright notices a license notice giving the public permission to use the Modified Version under the terms of this License in the form shown in the Addendum below Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document s license notice Include an unaltered copy of this License Preserve the section Entitled History Preserve its Title and add to it an item stating at least the title year new authors and publisher of the Modified Version as given on the Title Page If there is no section Entitled History in the Document create one stating the title year
Download Pdf Manuals
Related Search
Related Contents
Xerox DocuTech 128 HighLight Color User's Manual Product PDF - Amber Technology Online Store Motorola SURFboard® Guide des mesures de conductivité Copyright © All rights reserved.
Failed to retrieve file