Matt Davis
Mattdavis@us.ibm.com)
Linux Power Technical Consultant, IBM
Start using the Enterprise Edition Linux in a Power-based system
Level: Intermediate
The 64-bit POWER architecture is a recognized high-performance, reliable and useful business platform, which provides new options for UNIX and Linux application developers. Regardless of whom, as long as there is an experience in using AIX or Linux on other platforms, it can benefit from the powerful foundation of an open source community that combines the world's top IBM hardware Power.
From the price-mode 2-way server to the vertically extended supercomputer to the world's top JS20 BladeCenter, Power-based machines have all the size and level, which is always leading to people's expectations for enterprise hardware. Innovative configurations such as dynamic logical partitioning, Linux or AIX can be used to provide a unique platform for application development and deployment to Power architectural performance. This article will provide you with the tools and knowledge required to construct most of the code and the Power platform.
Linux release
The optional range is a powerful place for the Linux community for people. The Power version of Linux is mainly provided by Red Hat Linux and SUSE Linux. These two Linux distribution versions are all systems, and their faces provide the full toolchain, library, and development tools expected by Linux developers. This article has been commented on.
Note that TurboLinux has also supported. TurboLinux Enterprise Server8 uses license code from SUSE Linux, so in the discussion below, those features that apply to SUSE are equally applicable to TurboLinux.
Red Hat Enterprise Linux 3 (rhel3)
Red Hat successfully acts as the leader and pioneer of open source communities. 2003 Red Hat Linux released an enterprise version of the Power architecture and brought advanced Linux technology.
Kernel
RHEL3's 2.4.21 Linux kernel is optimized for the POWER architecture. Even before Linux 2.6 released, Red Hat has been transplanted in their Linux 2.4 kernel (backport) of 2.6 features.
Among them, the most striking is the Native Posix THREADS for Linux (NPTL) library. Previous thread models, Linux Thread, is a traditional 1: 1 thread model, with Linux 2.4 scheduler, for a while, this model has been innovated. In RHEL3, Red Hat transplays the new thread model from the 2.5 development tree to 2.4 kernel, making scalability, faster, and most obvious, it fundamentally improves Java performance.
Unlike some of the M: N threads used in some commercial UNIX operating systems, NPTL is still 1: 1 model, but no one is doubting its performance. The new thread model is capable of generating and destroying 100,000 threads within two seconds in the 450 MHz Intel processor, so that the performance required for enterprise Linux can be provided. The execution speed of the Java application is usually eight times faster than the old Linux thread model.
The combination of frontier development is not limited to the kernel thread model. RHEL3 also includes a new improvement GLIBC with version 2.3.1. For NPTL thread performance, Glibc 2.3.1 also introduces a higher efficiency library for Linux applications.
SUSE SLES8SUSE SLES8 is one of the two kinds of qualifications in two enterprise version, which has reached its life cycle. Features of SLES 8 are the 2.4 kernel regularly updated (SUSE has released three service packages for SLES8 users to ensure that system security and performance of supplemental updates can be used, which provides all categories of options. There are three file systems with logs to choose from. By default, all common databases, web servers, and mail server applications and the latest released KDE and GNOME desktop environments can be used in SLES8. The 2.4.21 core currently available in SLES8 provides a 64-bit foundation for 32-bit and 64-bit applications in real time.
The upcoming SLES9 is still in the test, and the last task of SUSE is to combine new GCC, GLIBC, and Linux 2.6 kernels. After release, SLES 9 will provide the first Linux 2.6 core available for IBM ESERVER® ISERIES? And PSERIES® servers.
Which distribution version is used?
Since RHEL 3 and SLES8 is different, it is certainly impossible to believe that there will be complete binary compatibility. The good news is that developers always find that different Linux releases are consistent, and Power Linux is no exception.
However, some applications are more sensitive to specific distributions when deploying. For example, the Reiser file system used by SLES8 is known for high performance handling small files. The application, which is mainly read and written for less than 1 kb, is suitable for this file system, so that the program is best running on SLES8, and the application running Java thread will benefit from NPTL's RHEL3 implementation.
The advantage of open source model model is its flexibility, and the Power version Linux is also flexible. That is, developers will find general references to develop on RHEL3 and SLES8. Compilers, IBM Java Developer's Kit, and development tools such as popular integrated development environment Eclipse are examples of freely available tools in these two release versions.
Compiler and library
Power version Linux is a combination of two aspects: the best open source development and enterprise hardware. It is best to provide a choice of C, C and Fortran compilers to reflect this combination.
GNU Compiler Collection (GCC)
The GNU GCC is the most widely used compiler in Linux for all architectures. RED HAT and SUSE use this compiler to compile binaries (executable files) published as their product. Since GCC 3.2 can generate 32-bit and 64-bit binaries, GCC 3.2 is provided in RHEL3 and SLES8. RHEL3 implements a "Biarch" dual compiler that uses a compiler tag (-M64) to perform 64-bit compilation.
Unlike, SLES8 uses a separate 64-bit GCC toolchain, which is stored in / OPT / CROSS. In order to use 64-bit compilers in SLES8, developers should make sure that their configuration scripts and makefile files can identify this compiler. You can complete this task by setting the CC environment variable to a 64-bit GCC compiler.
Currently, people are optimizing the GNU compiler set for performance optimization for the POWER architecture. In the upcoming 3.3 and 3.4, GCC scheduling and signal processing will be improved. In addition, optimization of specific architectural structures (such as VMX / AlTIVEC support for PPC970 chips in IBM JS20 BladeCenter) will bring great performance advantages to compile. However, SLES8 and RHEL3 are now using GCC 3.2, which is reviewed here. Optimization of these versions. GCC 3.2 does not optimize the specific architecture for the Power processor. Therefore, it is not recommended to use markers for specific architectures, such as -MPower. These options can be used, but usually do not have improved performance. Unlike GCC implementations on X86, the -fpic tag is not included in GCC 3.2. To generate a dynamic link-linked binary, you need to include -fpic in all Makefile files. This is especially critical if you are from the Linux transplant code library (CodeBase) on Intel, because the already Makefile file may not explicitly use this tag.
In addition to identifying the tags used in GCCs that are not currently used in the Power architecture, you should know that those available to the X86 and Power architectures. These tags include compilation tags for processing relocation, table of contents, floating point options, bit adjustments, and the like. For example, large TOC support (more than 8K entries) require multiple TOCs, specified by -mminimal-TOC compilation tag. To review these tags, please read the standard GCC documents in the source package.
IBM Visualage Compiler Set
In addition to GCC, IBM also issued a high-performance Visual Asparagens set, which can be used in RHEL3 or SLES8. These compilers for C, C and Fortran will play performance optimization techniques to the ultimate; they are carefully customized to comprehensively utilize the Power architecture. High Performance Computing developers often find that as long as they use these compilers to recompile their code, performance will increase by more than 30%!
Use VisuaLage to optimize, just set optimization levels, these levels correspond to different types of algorithms. Typically, using simple -o3 -QTune = auto and -qarch = auto will bring the most significant performance improvement. The third level optimization will automatically identify the chip type and perform an optimization of the chip (but not architecture). Further use -O4 optimization markers can achieve higher performance, but the cost of pay is an optimization, inter-program analysis, and high-order conversion routines for a particular chip. High performance code should first optimize with -O3, and then try -O4. Although -O4 may increase performance, it is more critical to code structure, and binary compatibility on the Power Series microprocessor series is more limited.
To avoid unpleasant situations where the library is not compatible, the VisualAge compiler in the Power version of Linux is designed to use the GLIBC to which each release package is used, and they even use the local Linux linker. The application of desire performance clearly requires this unique feature of Power LINUX.
There is a large number of documents for the GCC and Visual Aspapers for Power LINUX. All Power version Linux developers should be placed free of charge on the desktop. IBM JDK 1.4.1
IBM has added development resources to the customized JDK improvement, which can be used for both Linux's JDK has both 32-bit and 64-bit. BHEL3 and SLES8 installation packs have IBM JDK 1.4.1, which can be used in conjunction with the Power version of Linux's Eclipse integration development environment.
development tools
Many Linux developers are willing to use traditional development tools such as VI or Emacs. Natural, these and the common kernel-level debugging tools in Linux, including GDB are available. However, in addition to these tools, Power version Linux features a development tool that supports Eclipse IDE. The VisuaLage compiler has a detailed code analysis option to determine the character arrangement in the source code and 64-bit compatibility, and the comfortable KDE and GNOME desktop environment make developers who are accustomed to the graphical interface. High Performance Calculation (HPC) and Life Science Developers will benefit from available universal applications, such as NCBI applications. IBM's advanced mathematics and scientific libraries ESSL and P / ESSL can also be used to assist high-performance applications on Power LINUX. With the combination of cluster tools such as Globus Toolkit and Cluster Systems Management, CSMs, Power LINUX-based grid calculations become active.
Conclude
The Power version of Linux provides a high-performance environment for applications that need to use a more robust hardware, as well as all hardware and software resources. In a dual execution environment, 64-bit applications can be co-allocated with 32-bit applications. IBM iSeries and PSeries Series provide robust hardware foundation for Linux, and these products cannot be used for Linux. Red Hat and SUSE have been committed to allowing people to use the best open source release, IBM provides a leading middleware solution familiar to AIX developers. New development tools such as Eclipse makes conversions, and advanced development environments provide flexibility and performance that is desirable from Linux and IBM ISERIES and PSERIES servers.
Reference
- understand deeper
Red Hat Enterprise Linux As,
SUSE SLES8 for IBM ISERIES AND PSERIES and
TurboLinux.
- Power version Linux can be used
IBM EServer PSeries,
IBM Eserver iSeries and
JS20 Blade Center on products. in
Find all options in the Linux on Power web page.
-
Development of IBM products such as DB2, Rational and WebSphere, etc. for your Linux applications. You can skip these direct access
Linux on Power download page.
IBM Redbooks On Linux Topics is also an excellent information resource.
- Matt special favorite two Linux Power developer reference materials include "
MIGRATING UNIX Applications for Linux ON IBM PSeries and iSeries Servers "and"
How to use IBM Visualage C Version 6.0 for Linux on IBM PSeries and iSeries Servers "(all PDF formats). - cross-platform
GNU Compiler Collection (GCC) supports all languages, from C and C to Fortran to ADA - there are more! Gcc
3.3 and
3.4 has many improvements for the Power architecture. SUSE Enterprise Server 9 will use a 3.3 version of "Hammer", there are many features that transplant from 3.4.
- Compared to other compilers,
The IBM Visual Aspapers set can increase performance by more than 30%. It also combines advanced
Support for ESSL and P / ESSL (Parallel / Engineering and Scientific Subroutine) mathematics and scientific libraries.
-
IBM Java Developer Kit 1.4.1sR1 and
Eclipse Integrated Development Environment for Linux provides a complete Java development environment for Power Linux.
- pass
Linuxppc64.org You can learn more about Power version Linux kernel development and other 64-bit Linux issues.
- If you are an open source software world, you will find "
It is helpful to use the Linux Open Source Code Tool on Power.
- "
Installing globus on Power is part of the series of "Development and Crystal Speed for your Linux application; you can also
It is very useful to find very useful on the Globus web site.
Documentation.
- "
Application Development On Linux Power "(March 2003) is a guide to deploying and developing Linux applications on the Power platform.
- in DeveloperWorks
Open Source Code Project Zone Find
Articles prepared for Eclipse users. As for the Eclipse plugin and tool, please refer to AlphaWorks
Eclipse Technology Page.
- in
The developerWorks Linux zone can find more reference materials for Linux developers.
- in Developer Bookstore
LINUX zone, you can find a lot of selection of Linux books.
About author
Matt Davis is a Linux technical consultant in the IBM EServer Solutions Enablement team. As a veteran of the PSeries Linux project, he studied and tested a new PSERIES Linux technology and wrote some reports to summarize his discovery. This includes the Power version Linux log file system, with Power version of Linux, in parallel grid, to replace commercial software in Power LINUX, as well as the Linux solution catalog. When he was still a student at Texas State University (located in Austin, he got two degrees in two degrees), he came to IBM as an intern. able to pass
Mattdavis@us.ibm.com Contact him.
Full article:
IBM DeveloperWorks China website