SUPER

Jump to: navigation, search

Susemini.png 本文处于需要翻译的文章的状态,欢迎您积极参与翻译与修订。 翻译人员:无,修订人员:无。

Geeko SUPER project ideas are now included in the mainstream as of openSUSE 10.3. One click install, fast boot and SLICKer design are 3 notable examples. So if you want to see how SUPER would work you can try mainstream now.


SUSE Performance Enhanced Release (SUPER)

Please add your own wishes to the "Wishlist and future ideas" section. Remember here you can be imaginative on how a more experimental SUSE can and will look like

SUPER is a testbed for anything that makes your SUSE Linux OS perform in a different manner than intended in the more stable and enterprise oriented SUSE Linux tree. This can be a speed improvement geared towards the specialized desktop user or an additional feature that is considered too experimental or dangerous by the main SUSE Linux tree. This project is done by members of the openSUSE community. We do not want to create a new distro out of this or a fork that requires large amounts of code maintenance, since that would be futile. We only want to add certain packages and features that for one reason or another are not available in the standard SUSE. This can be interesting for both the demanding geek and the power hungry desktop user alike.

A 1 CD Install allows you to install a basic KDE or Gnome system that is SUSE-standard or SLICK modified. Both versions can be updated using YOU. Slick can also be updated to bleeding edge code using kynaptic/apt. Additional software for standard can be installed by using the public yast repositories or the DVD version. Additional software for modified (SLICK) can also be installed by using the public yast repositories or the DVD version or by using kynaptic, which is the prefered way for SLICK. A 1 CD install is just a base to access all the SUSE packages and more.

The SUPER project concentrates on creating packages and modifications to SUSE Linux in the following areas:

  • Speed
  • Graphical Attractiveness
  • Missing features
  • General Experiments, bleeding edge.

Do you want to help? Let us know by subscribing to the opensuse-optimize mailinglist by sending an email to opensuse-optimize-subscribe@opensuse.org. Archives are online at lists.opensuse.org/archive/opensuse-optimize. The following information is probably going to change heavily once more people have input into it.

Subprojects

See also Category:SUPER_Project, Das SUPER und OpenSUSE-Forum in deutscher Sprache

Downloads

News

SUPER/News

Current development milestones

  • Beta4 integration of SUPER techniques. (partial done)
  • Define final set of i686 rpm's.
  • Recompile Set of i686 rpm's.
  • Benchmark beta4 standard and new SUPER.
  • Create 1 CD iso with SUPER on it + already integrates techniques.
  • Script the whole lot to create super from base oss+src.rpm's.
  • Create CVS/SVN server for our team.
  • Announce mailinglist, SVN and optimized 1 CD iso.

Current Project Members

Please add yourself if you contribute

Current work

to do

  • Prelinking
  • preload kde+OpenOffice (has now been integrated into SUSE beta4 standard, thanks a lot suse.de folks, you rock!)
  • Con Kolivas kernel patches (will not be used unless we have someone with kernel skills on board)
  • Some i686 packages ( binutils preload gcc bzip2 zlib arts bash fam fontconfig freetype2 gdbm gimp glib2 gzip jpeg libpng MozillaFirefox openssh openssl prelink sysvinit tar util-linux xorg-x11)
  • Fonts Optimal Use of Fonts on SuSE
  • reiserfs noatime,notail
  • Security enhanced (no root logins)
  • Test also with defragmented filesystem
  • test with XFS noatime,nodiratime,logbufs=8 + mkfs.xfs -d agcount=45 -l size=64m

The howto is based on beta2 and is available on 10.0 beta2 i686 SUPER and the repository is on [1]. As soon as the super modified iso is released the mods become maintained and we can move on finding more mods.

Technical principles

  1. Create SUSE addon packages that make it fast and snappy and contain experimental features not found in the standard more consumer/enterprise oriented and stable SUSE. SUPER can be your testbed for things to come and features you want to try and keep in a maintained manner until they could if accepted go into the mainstream code base or be maintained within SUPER.
  2. Create test reports on features/speed improvements that then could be going into the mainstream branch. These reports are geared to prove to the mainstream maintainers to take this feature/improvement on.
  3. We should stay as close as possible to the SUSE Linux code, since this means that each openSUSE release gets followed on the day by our "addon" packages. Those packages should and could be installed on top of an existing SUSE install or for convenience sake we could also create a 1 CD/DVD desktop distro a user can download and install quickly and then install additional packages onto with Yast or Kynaptic/Synaptic against the gwdg.de or other repositories. We could also create a mini install containing <150 base packages on top of which a geek can install the rest. The result is a fast and experimental SUSE in which new technologies that improve speed and performance in any way can be tested and then used in a maintained manner with the SUPER repository.
  4. Create scripts to be able to release the modifications on the day of a new SUSE Linux release or of a development release or of an updated package.

Kernel optimizations

Kernel optimizations to scheduling and swap algorithms, made by Con Kolivas, have been integrated in http://opensuse.linux.co.nz/ftp/pub/SUPER/files (link down at the time).

For serious audio/music computing jackd must be used with realtime privileges - without root login. The kernel requires the realtime kernel module, which can be acquired from sourceforge.net - use search. The realtime module module cannot be loaded to the kernel without compiling two important things into the kernel:

1. Processor Type and Features

CONFIG_PREEMPT=y

CONFIG_PREEMPT_BKL=y

2. Security options

CONFIG_SECURITY_CAPABILITIES=m

The realtime module must be loaded as root with parameter "any=1" (modprobe realtime any=1) before starting for example qjackctl. Jackd without realtime capabilities reaches latencies barely < 40 ms, with realtime module latency < 10 ms. is a piece of cake.

Binary video drivers

Got 2 rpm's for you to test. You need kernel sources and gcc and make: http://opensuse.linux.co.nz/apt/suser-agirardet/10.0/RPMS/i686/nvidia-7676-1.SUPER.i686.rpm http://opensuse.linux.co.nz/apt/suser-agirardet/10.0/RPMS/i686/fglrx-8.16.20-1.SUPER.i686.rpm

ATI driver:

# rpm -Uvh  fglrx-8.16.20-1.SUPER.i686.rpm 

then run the following on a konsole

# sax2 -r -m 0=fglrx -b /usr/share/doc/packages/fglrx/sax2-profile


Close, Test and Save the new configuration and exit sax2 and restart X

NVIDIA driver:

# rpm -Uvh nvidia-7676-1.SUPER.i686.rpm

Restart X

Benchmarks

What? Description Added yet Improvement Tested yet? Real Life bench Technical bench
Standard Standard SUSE install on IBM T42p NA NA SUPER standard benchmark SUPER technical benchmark
FLAGS "-O3 -march=i686 -mtune=i686" Y Y SUPER standard benchmark
preload (now in SUSE beta4!) even more by preloading more files Y Y SUPER standard benchmark
prelink prelink system after install and remove kdeinit startup Y Y SUPER standard benchmark
Con Kolivas patches Improves System repsonsiveness Y Y SUPER standard benchmark
XFS XFS has a fast algorithm and online defragmentation N N No report yet
initng see if initng makes difference compared to paralellboot N N No report yet

Wishlist and future ideas

Speed

  • recompile in the following order (some packs might not exist, since I took these from my previous experience with another distro).
binutils preload gcc bzip2 zlib arts bash fam fontconfig freetype2 gdbm gimp glib2 gzip jpeg libpng MozillaFirefox openssh openssl prelink sysvinit tar util-linux xorg-x11
  • Look at if it is possible to the packages we decide should be optimised as athlon and pentium4 optimised packages and not just i686 on a DVD edition and have the installer choose according to that architecture. That would be the ideal scenario
  • create base install (150 packages)
  • add apt to it
  • add prelink
  • apt-get install kdebase and add some more packages to make it all look good.
  • add some yast packages
  • get the file list
  • compile kynaptic and add it
  • autoyast instruction. Easy install for dummies
  • Test, test and create a objective comparison system
  • Compare to standard SUSE Linux and create chart.
  • Publish results and get more people onboard.
  • The whole build process should be scripted so that we can just run the script when a new opensuse comes out.
  • Consider adding some lightweight X window managers e.g. openbox, blackbox, fluxbox or icewm
  • other speed tricks like "preloading/linking", precomputed hash values (see fc6), etc.
  • A utility to build: "compile from source list" to recompile applications, modules, and or kernel from sources dvd. Allow a live system the ability to build a install script or iso specifically for the hardware found in the target computer.

Boot optimization

  • Fast boot
  • initng
  • reduce file operations esp during boot. Can get achieve by different configuration or changing applications.
  • Cache files for bootup with readahead. Note: Suse is already working on this! Have a look at their new preload package version 0.2, included with beta3

A hint from a user that contacted me offlist from the openSUSE project brought me to look at readahead, which is used by Fedora. In the bugreport there is a perl script to extract that information and create all the needed readahead files. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=128444 Script is attached at https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=113401

Graphical Attractiveness

  • 3D graphicsdrivers included for ATI and NVIDIA (or at least as easy install by YOU for ATI drivers than Nvidia)
  • Optimal Use of Fonts on SuSE

Missing Features

This section will contain software that is missing from SUSE. Some of the software is hosted in countries where the distribution of the code is allowed. This is valid for the DVD, media and other code.

  • MPlayer fully featured
  • KPlayer depends on MPlayer and so is also missing
  • kaffeine fully featured
  • mp3 fully integrated
  • Xserver. Use a tiny and fast Xserver as experimental feature
  • SLICK create a very slick iso for those who like it minimalistic.
  • Repositories and easy upload policy as discussed on the opensuse-optimize list
  • Java
  • rar
  • Azureus
  • Live CD

Kernel

  • more people needed to actively pursue tasks and find areas of potential optimization
  • Online reiserfs defragmentation tool needs to be written
  • Reiserfs4 needs to be integrated into the yast installer
  • kernel support for reiser4, sun's zfs, ntfs-3g
  • integration of "multiarc" to run x86 apps on x64 os/hw

Packages

  • Web based user friendly packages delivery SUPER_KLIK.
  • Packager website
  • total switch to apt/deb if it's the best package manager/format like many people says and/or integration of SMART as main package manager and integration of a clone of the gentoo package manager for also machine-specific and highly-optimized compiling and automated installation of sw form sources; integration of a web based no-install sw deploying system like kilk or zero-install; a gui tool for automatic installation of "classic" tgz source-packages with configure/make/install scripts in them (and maybe also for binary "classic" packages); all the feature of the previous things usable by a gui with different modes, useful for both dummies and experts. or bulding a brand new "rivals-killer" packages management system which unifies all the feature above (and give compatibility for "old" formats)

Integration and standards

  • Integrate Bastille Linux, or provide this option at install. Need to assess impact on speed/performance, if any.
  • integration the most useful proprietary drivers (starting from ati and nvidia)
  • maintaining the virtualization technologies included by default in the standard openSUSE and the gui tools for their management
  • integration of SElinux and App-Armor if both usefull at the same time or building a new framework which merge the best of the two
  • xgl and aiglx + compiz + plugins + gui tool for management integrated and active by default; possibly a relatively quick boost on the xegl project and adoption of it as main graphic server (if it's the future of X like they say)
  • including proprietary sw when needed (i.e. adobe reader, codecs/players for some formats)
  • always giving an eye to the lsb and freedesktop standards, maybe not only for the current spec. version, ma also to the draft for future ones, implementing as soon as possible substantial if not formal compatibility, to have in time "smooth" and relatively easy transitions to future versions certifications, and at the same time giving to users a full featured cutting edge gnu/linux os but, as possible as it being so, also inter-operable and "standard" one, implementing the actual and near future best practices of the linux world

Questionable (please explain more)

  • First test hack to prove that it can be done and is useful and get more people onboard.
  • compiling ALL the binaries at least for generic i686, optimizing for speed as possible
isn't this already done?
  • always integration of the most performant gcc & glibc (probably the latest available each time; i.e., in then next months, glibc 2.5 and gcc 4.2, if it will be out soon, or 4.1.x); but it seems standard opensuse already do this
  • How to setup a build server
  • Easier way to switch between network config
  • Test Linuxpowertop [[2]] for saving power (specially for laptop).