260 likes | 360 Views
XIP (eXecute In Place) for Linux on z/VM Implementation and Analysis. Tony Noto Velocity Software 196-D Castro Street Mountain View, CA 94041 (650) 964-8867 Phone (650) 964-9012 Fax. Tony@VelocitySoftware.com HTTP://VelocitySoftware.com HTTP://LinuxVM.com. November 2005. Agenda.
E N D
XIP (eXecute In Place) for Linux on z/VM Implementation and Analysis Tony Noto Velocity Software 196-D Castro Street Mountain View, CA 94041 (650) 964-8867 Phone (650) 964-9012 Fax Tony@VelocitySoftware.com HTTP://VelocitySoftware.com HTTP://LinuxVM.com November 2005 Velocity Software, Inc - XIP for Linux
Agenda • Implementation procedures for XIP • Targeting processes / libraries • Performance Analysis Velocity Software, Inc - XIP for Linux
XIP Implementation • Reference: • How to use Execute-in-Place Technology with Linux on z/VM (SC33-8283) • SHARE 2005 presentation 9266 by Dr. Holger Smolinski • VM Shared Kernel Support(http://www.vm.ibm.com/linux/linuxnss.html) • Watch this space for new RedBook • Two environments • Flex system, z/VM 4.3, 512Meg, SLES9 31-bit service-pack 2 • Z990 z/VM, 5.1, 20Gig, SLES9 64-bit service-pack2 Velocity Software, Inc - XIP for Linux
XIP Implementation • SLES9 has an older but still valid XIP version built in • The current XIP is delivered in source as diffs apparently need the kernel tree to compile it. • Download the XIP shell scripts from • http://www.ibm.com/developerworks/linux/linux390/april2004_documentation.html • http://awlinux1.alphaworks.ibm.com/developerworks/linux390/src/xip-howto-scripts-v1.tgz Velocity Software, Inc - XIP for Linux
XIP Implementation • Case 1 – z/VM 4.3 SLES9 31-bit • Virtual machine size – 256M • Moving NETSNMP to DCSS • File specific Sharing Velocity Software, Inc - XIP for Linux
XIP Implementation • The Process • This process follows, pretty closely, the procedure as defined in SC33-8283 How to use Execute-in-Place Technology with Linux on z/VM • Download the XIP scripts into the /root directory • Shutdown the linux server: shutdown –h now Velocity Software, Inc - XIP for Linux
XIP Implementation • The Process (Continued) • Define the DCSS: defseg netsnmp 20000-23fff sr • Failed: The virtual machine didn’t have CP class E • Could have been done from some place like MAINT • Due to the amount of testing, gave the virtual machine class E • Save the DCSS: saveseg netsnmp • Failed: The virtual machine size wasn’t large enough • Increased virtual storage: def stor 1024m • This causes a “system reset” so re-ipled CMS then re-issued the saveseg netsnmp • Side effect: PAGE space utilization shot way up • Reboot LINUX Velocity Software, Inc - XIP for Linux
XIP Implementation • Process (continued) • Build the list of files for overmounting: xip-howto-scripts/copylibs.sh –f snmpd –d /dcss • Calculate the required DCSS space: du –sk /dcss • This was actually done prior to creating the DCSS • Determine the number of files that are going into the DCSS: find /dcss –print | wc -l • This was done to obtain overhead - approximately 4k per file • Guess what … it all fit in 64 meg • Copy the init script to /sbin: cp /root/xip-howto-scripts/xipinit-fw.sh /sbin/xipinit –fw • This test was for “file sharing” so we used the xipinit-fw.sh script instead of xipinit.sh script • Alter the xipinit-fw.sh script to point to the mount point and recognize the DCSS name • Vi /sbin/xipinit-fw • #mount point of xipimage • MPXIPIMAGE=“/xip” • #name of xipimage • XIPIMAGE=“NETSNMP” Velocity Software, Inc - XIP for Linux
XIP Implementation • Process (continued) • Load the DCSS driver: modprob dcssblk • Get the major number of dcssblk: cat /proc/devices • Check if devices were created: ls –l /dev/dcss* • First time through they probably aren’t so: mknod /dev/dcssblk0 b 252 0 • Do this for each “device” you want within the DCSS • Load the DCSS: echo “NETSNMP” > /sys/devices/dcssblk/add • This failed because the memory was not adjusted to encompass the DCSS • Change the zipl.conf file to define the memory: parameters = “root=/dev/dasda1 selinux=0 TERM=dump elevator=cfg mem=576M” • Danger Will Robinson!! • Encountered trouble with mem=2G, so used mem=2047M • Reboot Linux Velocity Software, Inc - XIP for Linux
XIP Implementation • Process (continued) • Load the DCSS driver: modprob dcssblk • Load the DCSS: echo ‘NETSNMP” > /sys/devices/dcssblk/add • Results are echoed onto the virtual console • Set the DCSS for exclusive use: echo 0 > /sys/devices/dcssblk/NETSNMP/shared • Put the ext2 file system on a DCSS mapped device: mke2fs –b 4096 /dev/dcssblk0 • Mount the device: mount /dev/dcssblk0 /mnt • Copy the files: cp –va /dcss/* /mnt • Save the DCSS: echo 1 > /sys/devices/dcssblk/NETSNMP/save • Unmount the DCSS: umount /mnt • This is required to finalize the save of the DCSS • Remove the DCSS: echo “NETSNMP” > /sys/devices/dcssblk/remove Velocity Software, Inc - XIP for Linux
XIP Implementation • Process (continued) • Change kernel parms (zipl.conf) to init XIP. • parameters = "root=/dev/dasda1 selinux=0 TERM=dumb elevator=cfq mem=576M init=/sbin/xipinit-fw" • Shutdown Linux: shutdown –h now • Redefine virtual storage if necessary • Reboot LINUX Velocity Software, Inc - XIP for Linux
Targeting • Identify large processes • Identify frequently used processes • Eliminate non-shareable processes Velocity Software, Inc - XIP for Linux
Targeting Storage Processes Velocity Software, Inc - XIP for Linux
Targeting Storage Processes Velocity Software, Inc - XIP for Linux
Targeting Frequent Processes Velocity Software, Inc - XIP for Linux
Targeting Frequent Processes Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Establish Base • Two Suse servers • Each defined as 256M • Base is no DCSS sharing Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Test 1 • Two SUSE servers • Each defined as 256M • SUSELNX1 has a 16M DCSS at the 1.5G mark, mem=1556M • SUSELNX2 has no DCSS • Note Storage usage Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Test 2 • Two Suse servers • Each defined as 256M • Each has a 16M DCSS at the 1.5G mark, mem=1556M • Note Storage usage Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Test 3 • Two Suse servers • Each defined as 256M • Each has a 16M DCSS at the 1G mark, mem=1040M • Note Storage usage Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Test 4 • Two Suse servers • Each defined as 256M • Each has a 16M DCSS at the 256M mark, mem=272M • Note Storage usage Velocity Software, Inc - XIP for Linux
LINUX Evaluation • Back to base • Note Storage usage as compared to “TEST 4” Velocity Software, Inc - XIP for Linux
z/VM Evaluation • VM Storage • Note resident pages as well as working set Velocity Software, Inc - XIP for Linux
z/VM Evaluation • VM Storage • Note resident pages as well as working set Velocity Software, Inc - XIP for Linux
More Testing • Case 2 – z/VM 5.1 SLES9 64-bit • Virtual machine size – 2G • DCSS defined in “storage hole” • Moving 512M of Oracle 10g to DCSS • Directory Sharing • Results NYA (Watch for upcoming REDBOOK) Velocity Software, Inc - XIP for Linux
Summary • Reduction in system storage requirements • Increase in LINUX system storage • potential reduction in paging • Reduction in disk space (DASD to us VMers) • Benefits are best realized in installations running many instances of LINUX with “common” functionality Velocity Software, Inc - XIP for Linux