RedHat 7.0 beta release notes summary and personal analysis

Source: Internet
Author: User

Next, I sorted out the new features of RedHat 7.0 beta that I was interested in and briefly expressed my views.

1. GRUB 2

In redhat 7.0 beta, the previous Boot Loader was upgraded from GRUB to GRUB2, mainly based on the following four notable features of GRUB2:

(1) GRUB2 supports more hardware architectures, such as PowerPC

(2) GRUB2 supports more firmware types, such as BIOS, EFI, and OpenFirmware.

(3) GRUB2 not only supports MBR (Master Boot Record) disk Partition Tables, but also supports GPT (GUID Partition Tables)

(4) GRUB2 not only supports linux file systems, but also some non-linux file systems, such as Apple's HFS + and Microsoft's NFS file systems

2. Storage

(1) LIO Kernel Target Subsystem

Here we emphasize that the iscsi target of RedHat 7.0 uses LIO (linux-IO Target) instead of tgtd. Compared with tgtd, LIO has the following advantages (personal understanding ):

• Tgtd is a user space daemon, while LIO is a kernel driver, which provides better performance;

• LIO uses a unified method to configure and manage the current iscisi protocol, that is, a unified interface and more powerful configuration and management methods.

(2) Fast Block Devices Caching Slower Block Devices

The Linux kernel supports block-level caching solution, that is, using a high-speed storage device as the cache of a low-speed storage device. Currently, the popular block-level caching solutions include dm-caceh, bcache, flashcache, and enhanceio.

Among them, dm-cache is merge to the linux-3.9 kernel, bcache is merge to the linux-3.10 kernel, the latter two are proposed by facebook, and now the application is relatively wide. Next we will briefly introduce the principle of block-level caching (taking dm-cache as an example). We will analyze it in detail if we have time.

Linux kernel uses virtual cache devices as the cache device abstraction. virtual cache devices are implemented based on three physical devices:

Origin device: slower physical device, such as Hard Disk Device, where data is stored persistently.

Cache device: fast physical device, such as SSD, where data is temporarily stored

Metadata device: a metadata device that can be used with an SSD (that is, the cache device and metadata deivce can be two SSD partitions) to configure the cache placement policy (the cache block replacement policy ), dirty block flags (record the modified block in the cache, that is, dirty block) and other internal data

To put it simply, when reading data, the system looks for the metadata device to check whether the request block is in the cache device command. If it is hit, it is obtained directly from the cache device. If it is missing, get the data from the origin device and read the data to the cache device. When writing data, according to the different policies configured by the cache placement policy,

Execute the corresponding write operation. Currently, the supported policies include writeback and writethrough. the Default policy is writeback, which is written to the cache device first and recorded as dirty in the metadata device, now the write operation is complete. The dirty block in the cache device is flushed to the origin device every time.

3. File System

The redhat 7.0 installed on the GUI uses XFS as the default file system. For details about XFS, see XFS introduction.

4. Kernel

(1) increased hardware-supported APIC Virtualization

APIC-related operations are all privileged operations. When the vcpu receives the APIC interrupt, It switches from Guest Mode to Kernel Mode, which greatly reduces the system performance, this switchover is avoided by adding APIC virtualization supported by hardware.

(2) Full DynTick support

This feature means that when a cpu has only one runable process, tick of the cpu is disabled (tick-answer, which means the clock is interrupted), which I think is a great improvement. Here, we will briefly introduce the relevant background knowledge and give a detailed analysis later.

It is estimated that everyone has heard of HZ. The common HZ is: 100,250,300,100 0. Generally, the default value of the desktop version is 250 (the server version is 1000), that is, 250 clock interruptions are generated every second (tick, tick). It is mainly used to measure the scheduling time For scheduler.

If the cpu idle is used, there will still be 1000 clock interruptions per second. That is, even if the idle is used for clock interruption processing, the NO_HZ occurs, that is, if the cpu is in the idle, disable clock interruption and configure it through CONFIG_NO_HZ. (We will not discuss how to timing it here ).

Later, if money cpu only has one task to run, if interruption is disabled, the current task will still be interrupted for 250 or 1000 times, so it is unnecessary, CONFIG_NO_HZ_FULL (Full DynTick Support here) appears ).

Finally, we must acknowledge that the adoption of tickless will inevitably lead to some shortcomings, and we will not make a detailed analysis here.

For more details, please continue to read the highlights on the next page:

  • 1
  • 2
  • Next Page

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.