You are here: Agenda
Last update: 04/12/2009 07:40

Presentation Details

APP02 Dynamically Tuning the JFS Cache for Your Job

Thursday 16:15 Stralsund
Saturday 12:00 Stralsund

During several years IBM ported the Journaled File System (JFS) from AIX (JFS1) to more generic code (JFS2) for the OS/2 4.5 (1999) and Linux kernels (2001).

The OS/2 4.5 port of JFS was accompanied by a Logical Volume Manager (LVM) to solve several OS/2-specific problems like use of drive letters and the lack of a dynamic Unix-like Virtual File System (VFS). The JFS2 code was also modified to make it bootable on the type 07 bootable IFS partitions shared with NTFS.

Because JFS is internally a 64 bit server file system, the announced bootable JFS and ACPI support of eComStation 2.0 keeps OS/2 (now eCS 2) viable and prepared for the future.

Although the OS/2 version of JFS2 and its utilities are open sourced since 1999, practical use of JFS and its utilities is still very poorly documented. There are anecdotal reports of JFS cache problems in newsgroups, but little published systematic testing was done.

The most serious study was done by Michal Necasek (OS/2 Filesystem Shootout) on a 256 MiB SCSI system with a (default) 32 MiB JFS cache that was published on March 2002. But he created a relatively small 1GB volume to reformat it with various filesystem to make comparative tests.

But JFS and other metadata logging server file systems like NTFS and EXT3, were not designed for 1 GB volumes and 32 MiB caches. NTFS would be terrifically slow with a 32 MiB cache. The vFAT (24 MiB cache) and HPFS(386) caches were designed to accomplish this, but their big brothers NTFS an JFS were designed to use much larger caches to serve the data (files) and metadata (directories, free blocks) of many much larger volumes. To serve the overhead of 64 bits data in the case of JFS.

Seven years after Michal Necasek (OS/2 Filesystem Shootout), even minimally equipped cheap netbooks have more CPU-power and disk space than JFS for AIX and OS/2 servers was designed for. So what are the optimal JFS settings for a desktop or server system today?

As Michal Necasek said: It depends. But on what goals do you base your static IFS.JFS and dynamic CACHEJFS.EXE settings today? The openjfs utility CSTATS.EXE can immediately tell you how your JFS cache is now being used. So logging and interpreting the values of cstats is the best way to tune your static and dynamic JFS cache.