26
Velocity Software, Inc - XIP for Linux 1 XIP (eXecute In Place) for Linux on z/VM Implementation and Analysis [email protected] HTTP://VelocitySoftware.com HTTP://LinuxVM.com Tony Noto Velocity Software 196-D Castro Street Mountain View, CA 94041 (650) 964-8867 Phone (650) 964-9012 Fax November 2005

Velocity Software, Inc - XIP for Linux1 XIP (eXecute In Place) for Linux on z/VM Implementation and Analysis [email protected] HTTP://VelocitySoftware.com

Embed Size (px)

Citation preview

Velocity Software, Inc - XIP for Linux

1

XIP (eXecute In Place) for Linux on

z/VM Implementation and Analysis

[email protected]://VelocitySoftware.comHTTP://LinuxVM.com

Tony NotoVelocity Software196-D Castro StreetMountain View, CA 94041(650) 964-8867 Phone(650) 964-9012 Fax

November 2005

Velocity Software, Inc - XIP for Linux

2

Agenda

Implementation procedures for XIP Targeting processes / libraries Performance Analysis

Velocity Software, Inc - XIP for Linux

3

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

4

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

5

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

6

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

XIP Implementation

Velocity Software, Inc - XIP for Linux

7

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

8

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

9

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

10

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

11

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

12

Targeting

Identify large processesIdentify frequently used processesEliminate non-shareable processes

Velocity Software, Inc - XIP for Linux

13

Targeting Storage Processes

Velocity Software, Inc - XIP for Linux

14

Targeting Storage Processes

Velocity Software, Inc - XIP for Linux

15

Targeting Frequent Processes

Velocity Software, Inc - XIP for Linux

16

Targeting Frequent Processes

Velocity Software, Inc - XIP for Linux

17

LINUX Evaluation

Establish Base- Two Suse servers

- Each defined as 256M

- Base is no DCSS sharing

Velocity Software, Inc - XIP for Linux

18

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

19

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

20

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

21

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

22

LINUX Evaluation

Back to base- Note Storage usage as compared to “TEST 4”

Velocity Software, Inc - XIP for Linux

23

z/VM Evaluation

VM Storage- Note resident pages as well as working set

Velocity Software, Inc - XIP for Linux

24

z/VM Evaluation

VM Storage- Note resident pages as well as working set

Velocity Software, Inc - XIP for Linux

25

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

26

Summary

Reduction in system storage requirements Increase in LINUX system storagepotential reduction in pagingReduction in disk space (DASD to us VMers)Benefits are best realized in installations

running many instances of LINUX with “common” functionality