Intruducing FreeBSD 7.0

Recently, Kris Kennaway unveiled a slide “Introducing FreeBSD 7.0, which focused on features of the upcoming release. (Now is 7.0 BETA2)

In this article, we are talking about the amazing SMPng project…

SMPng stands for “Symmetric Multi-Processor, next generation,” tries solve several issue leads from old architectural model for SMP in BSD.

As Kris said in the slides:

FreeBSD 4.x is a single-threaded kernel with limited multiprocessor
support.

The SMPng project can be divided into three parts:

  1. Make it work
    FreeBSD 5.0-5.2.1 (2003-01-17 – 2004-02-22)
    Debut of the new architectural model for symmetric
    multiprocessor support in FreeBSD.

    FreeBSD 5.3 (2004-11-06), 5.4 (2005-05-09)
    The fundamental architectural changes were largely in place
    Some initial progress with kernel parallelism by 5.3 and 5.4 (network stack, virtual memory, …)

  2. Make it work well
    FreeBSD 6.0 (2005-11-01), 6.1 (2006-05-08), 6.2 (2007-01-15)
    Stabilized the work of the 5.x branch
    Performance benefits from subsequent development work
    e.g. Virtual File System (VFS) and Unix File System (UFS) now allow parallel access
    Large parts of the kernel may now operate in parallel, with significant performance gains on many common workloads
  3. Make it fast
    The goals of the SMPng project have been achieved
    The FreeBSD 7 kernel is a fully parallel system
    The “Giant lock” is no longer present on almost all possible workloads
    I Major shift of focus from correctness to optimization, with impressive results

Performance optimizations throughout the system
The ULE scheduler is now recommended instead of the historical 4BSD scheduler
Better interactive performance on desktop systems
Significantly better performance on SMP systems
4BSD will remain the default scheduler in 7.0 to be conservative, but likely to switch for 7.1.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *