Lets visit the major milestones in our LINUX history that illustrates our support for LINUX the past several years. This also reiterates our LINUX support and strategy. 1998 : IBM Informix acknowledged the importance of LINUX and first experimented with a client (ESQL/C) and SE backend and released its first commercial version Later that year we released 7.24 IDS online was the first commercial LINUX Database in the market 1999 : In those days 7.30 was out bread & butter product and we released the engine and labeled it LINUX edition with limited features to support the notion that “we had to release a product on LINUX for SMBs who had intense OLTP requirements without all the overhead of SMP”. We added on 4GL and I-SQL to our LINUX portfolio. Later that year, owing to the its popularity and customer demand with LINUX being treated in line with other mainstream UNIX operating systems, we released a full blown feature set version as long as LINUX OS was not limiting it. E.g.: KAIO was not supported 2003: From 1999 on, LINUX has been treated as any mainstream OS with all product releases – became business as usual adding continuously new products to our portfolio Interesting FACT: By early 2001, prior to us being acquired by IBM, we had been experimenting and incidentally we had a working 31 Bit version of IDS on LINUX 390 [zSeries] exactly on the day we were acquired by IBM – proving our common LINUX vision. This was the first lab version of this family and finally in 2003 we rolled out the 64 Bit 9.4 Engine on zSeries. This is the first time IDS is running on a mainframe!! We will talk about this later on in the presentation. 2004 : This is a great year. This is the first time we will support all IBM hardware platforms which support LINUX. IA 64 release
Direct I/O (DIO) is an alternative caching policy that reduces CPU utilization for reads and writes by eliminating the copy from file cache to user buffer. A read/write against a file opened with the O_DIRECT flag causes data to be transferred directly between the user buffer and the disk. Kernel Asynchronous I/O (AIO) allows applications to overlap processing with I/O operations for improved CPU and device utilization. With AIO, processes do not need to wait for I/O requests to complete; they can continue with other processing while the I/O operations are completed.
X86 needs i686 compatible processors
CPU affinity is a 2.6 kernel feature that has also been back ported. For IDS to take advantage of this feature on a 2.4 kernel, one of the following distributions is required: • Red Hat Enterprise Linux 3 • SUSE Linux Enterprise Server 8
LSC - Large Scale Linux Solution Test Center
Database Server 16-way z900, type 2064-216 with 910 MHz, equipped with • 16 CPUs • 2 x 16 MB L2 cache • 64 GB memory • 2 GbE Cards Hydra 1,75 (connected to 4 PCs x330) installed with: • SUSE LINUX ENTERPRISE SERVER 8 SP2 2.4.19 64–bit • IBM Informix Dynamic Server Version 9.40.FC3 The database sizes were 16 GB – 220 GB.
IBM Informix Dynamic Server supports Kernel Asynchronous I/O (KAIO) on character devices (a.k.a. raw devices) and block devices. It is enabled by default, and can be disabled by setting the environment variable KAIOOFF=1 in the environment of the process that brings up the server. When using KAIO, it is recommended to run poll threads on separate VPs by specifiying NET as VP class in the NETTYPE onconfig parameter, e.g. NETTYPE ipcshm,...,...,NET or NETTYPE soctcp,...,...,NET On Linux, there is a system wide limit of the maximum number of parallel KAIO requests. The file /proc/sys/fs/aio-max-nr is containing this value. It can be increased by the Linux system administrator, e.g. by # echo new_value > /proc/sys/fs/aio-max-nr The current number of allocated requests of all OS processes is visible in /proc/sys/fs/aio-nr. By default, IBM Informix Dynamic server is allocating half of the maximum number of requests, and assigns them equally to the number of configured CPU VPs. The number of requests allocated per CPU VP can be controlled by the environment variable KAIOON, by setting it to the required value before bringing up the server. The minimum value for KAIOON is 100. If Linux is about to run out of KAIO resources, e.g. when dynamically adding many CPU VPs, warnings will be printed to the online.log file. In this case, the Linux system administrator should add KAIO resources as described above. Note that the libaio.so library is required, regardless of the distribution or kernel level. At the time of writing, IBM Informix Dynamic Server requires a minimum of libaio 0.3.96-3.
For TPC like workload on zSeries AS was factor 50% worth then the others You can choose the I/O Scheduler in the /etc/zipl.conf with the elevator parameter: On other Linux system: Selecting IO schedulers ----------------------- To choose IO schedulers at boot time, use the argument 'elevator=deadline'. 'noop' and 'as' (the default) are also available. IO schedulers are assigned globally at boot time only presently.
All taken from the customer reference database and can be referenced (all from 2004 and 2003 !!)
Informix on Linux and A “Sneak Peek” at the New IDS Next Installer Jerry Keesee, Director of the Informix lab Sandor Szabo, Development, Informix R&D, Munich Kozhikode Venugopalan (Venu), Architect, Informix R&D Srini Bhagavan, Architect, IBM Data Management
Informix on Linux Sandor Szabo, Development, Informix R&D, Munich Kozhikode Venugopalan (Venu), Architect, Informix R&D
History 1998 : IBM Informix ESQL/C & SE on LINUX 1998 : First commercial Enterprise LINUX DB – IBM IDS 7.24 1999 : LINUX edition – IBM IDS 7.30. Limited features. 4GL & I-SQL clients. 1999 : LINUX edition – IBM IDS 9.20. Full feature set support. 2003 : IBM IDS 9.4 - 64 bit DB Engine on zSeries 2004 : IBM IDS 9.4 64 bit on Itanium
High hit ratio : use a small number of warehouses (10 or 20) and stay with this through CPU and memory scaling
Low hit ratio: scale number of warehouses with throughput while scaling CPUs and memory. The ratio between warehouses and new order transactions per minute is 1:12.
CPU Scaling [2GB workload fully cached – 10WH]
" The workload scales perfectly from 1 to 16 CPUs, demonstrating that the Informix database, SUSE SLES8 and the zSeries hardware are very well suited for scaling even beyond 4 CPUs " Large Scale Linux Solution Test Center Informix 9.4.0 FC3 on SUSE LINUX ENTERPRISE SERVER 8 SP2 (64-bit) on IBM zSeries
Experiences with different 2.6 Kernel I/O schedulers on zLinux
How to Change the Location of Shared Library for a Process on SUSE Linux……
Beginning with kernel version 2.4.19, Linux provides a way to dynamically change the default start address for shared libraries on a per-process basis. This feature is available, if the file /proc/$$/mapped_base exists.
To change the start address for shared libraries of the oninit processes, the new start address needs to be specified by user root in the shell from where oninit is started.
# # the following sets the start address of shared libraries to 0xB0000000:
# echo -1342177280 > /proc/29712/mapped_base
How to Change the Location of Shared Library for a Process on SUSE Linux…… Assuming the $ONCONFIG parameter SHMBASE is 0x10000000, this gives 2.5 GB of contiguous address space available for the database server.
How to Change the Location of Shared Library for a Process on RedHat Linux……
On Red Hat Enterprise Linux 3 the start address for shared libraries is 0xb7600000 and memory address space is utilized downwards.
The ONCONFIG variable SHMBASE is recommend to be set at SHMBASE 0x10000000L
Needs: resiliency, 24x7 availability, ease of use, open standards
Web portal based based on IBM WebSphere Application Server on Linux
IBM Informix Dynamic Server
IBM Informix SQL, ESQL/C, MaxConnect
Significant cost reduction
More efficient tax collection
Convenience and speed lead to increased customer satisfaction
Current solution allows for future expansion
Flexibility, Options, Efficiency Reduced Costs! Secretaria de Finanzas Gobierno del Estado de Jalisco
El Salvador Tax Administration Office Comparison Statistics 60 mins 1/3 of the time 3 hours Processing EDA 40 mins <1/6 of the time 4 hours Processing Tax Forms 3 hours <1/2 of the time 7 hours Declaration Posting 5 minutes 1/3 of the time 15 minutes Base Tax Report 50% faster - Response Time Data Entry 500 360 Avg Client Connections IDS 9.4 UC2 ODS 7.31 FC2 RDBMS Production Server Original Server Characteristic