+ All Categories
Home > Documents > Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems [email protected].

Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems [email protected].

Date post: 18-Dec-2015
Category:
View: 214 times
Download: 1 times
Share this document with a friend
21
Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems [email protected]
Transcript
Page 1: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux: Past, Present, and Future

Theodore Ts'oVA Linux Systems

[email protected]

Page 2: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux Past

July, 1991 --- Linus Torvalds releases the first version of Linux

1992 --- First fully functional system released. X Windows ported to Linux

1994 --- TCP/IP support added. Release of Linux 1.0

1995 --- Ported to Alpha and Sparc platforms. Release of Linux 1.2

Page 3: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux History, Con't.

1996 --- SMP supported. Release of Linux 2.0

1997 --- Month Linux magazines started in Japan, Poland, Germany, Yugoslavia, and the U.K. Estimated 3.5 million users

1998 --- Linux is discovered by the mass media; lots of magazine articles

January, 1999 --- Linux 2.2 released. Estimated 7-10 million users.

Page 4: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

In the last year....

Major Linux companies go public Red Hat in August, 1999 VA Linux in December, 1999

Linux development for 2.3 kernel series continues.

Currently, estimated 20 million users.

Page 5: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

The Mindcraft Benchmark

Now quite infamous

Microsoft's IIS server losing market share Security Issues Performance on Dynamic pages beaten handily by

Apache

MS engineers decide to find a weak spot in Linux/Apache, benchmark it, get an independent 3rd party to verify the results.

Standard Marketing Ploy

Page 6: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Nature of the Benchmark

Static files only

4-way SMP CPU

4 100 megabit ethernet card

Required special service pack which was just released, that rewrote the entire networking stack and made it use fine-grained locking. (This in a service pack?)

Page 7: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Only Something Went Wrong...

Mindcraft released the results

Results were so counterintuitive that the Slashdot community goes ballistic

Weaknesses in the benchmark were quickly found The "independent" benchmark was really conducted on

the MS campus, with MS engineers present. A change in any part of the benchmark conditions

caused the results to change drastically. Benchmark didn't reflect real-world conditions.

Page 8: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Yet the Results Were Real...

The Mindcraft benchmark did point out a real problem.

It was actually helpful to the Linux Community It encouraged developers to focus on fixing this

problem. It shows that Linux was real enough threat that

Microsoft was taking Linux seriously. Ultimately, it helped Linux from a marketing perspective as well.

Page 9: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Microsoft Just Filed a Bug Report.....

Linus Torvalds reflected at his Usenix talk... At first I was pissed.... ... then I realized that MS had just filed a bug report... ... just in a non-traditional place (the WSJ instead of

the linux-kernel mailing list).

Page 10: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux Present

2.4 almost ready to be released (really!)

2.4 is much more scaleable 64 Gig memory on IA32 64 bit file access on 32-bit platforms (LFS API) 32-bit uid, gid Much better SMP scaleability

Fine-grained locking (networking, VFS, etc.)

Better BUS support (PCMCIA, USB, firewire) NFS v3, NFS improvements RAW I/O

Page 11: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Other Linux Developments

Development of Linux on the Desktop GNOME and KDE making impressive progress Sun has just recently open-sourced Star Office

Expansion of Linux into the Embedded sector Various companies (FSM labs, Atipa, Lineo, Red Hat)

agressively attacking this market Various products are being built around Linux

Tivo MP3 players

Page 12: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux Future

Still a lot of work to be done!

Linux needs more work on scaleability Better SMP scaleability, NUMA support

Hopefully without sacrificing performance on UP and 2SMP systems

Better I/O performance (especially for block devices)

Page 13: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Linux as an Industry Resource

OS enginering as a cost center, not a profit center

Multivendor, cooperative efforts Example: Trillian, Monterey

X Consortium Model Vendors contribute code for better functionality

Do what is necessary in that company's economic self-interest

Because of the overhead in merging changes to a moving mainline, incentive to merge those changes into the mainline

Page 14: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Plays well with Linux

Challenge for companies that want to leverage Linux (and really, the open source community in general)

How to get changes into the kernel?

Case study of how NOT to do things: Hot swap PCI code: donated by Motorola Changes were scattered all over the kernel, and were

"ugly" Motorola threw the work over the transom, no

preparatory work, and no followthrough

Page 15: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

The Linux Kernel Development Community

There is no cabal Deliberately avoided a formal core team --- motivated

by watching some of the political problems in the early NetBSD, FreeBSD, OpenBSD days

Page 16: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

The Linux Kernel Development Community

There is no cabal Deliberately avoided a formal core team --- motivated

by watching some of the political problems in the early NetBSD, FreeBSD, OpenBSD days

There is a cabal There is a group of people who know each other and

trust each other.

Page 17: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

The Linux Kernel Development Community

There is no cabal Deliberately avoided a formal core team --- motivated

by watching some of the political problems in the early NetBSD, FreeBSD, OpenBSD days

There is a cabal There is a group of people who know each other and

trust each other. Very much an old boys club meritocracy

Page 18: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Getting changes into the Kernel

Changes must be clean Long-term maintainability is more important than any

specific feature, or a particular vendor's timeline Be prepared to prove that no simpler solution will work. Good test for cleanliness: a change should solve more

than one problem. Justify the change two ways: why you need it, and show how it

fixes an existing problem in the kernel

Changes should be small. Break megapatches into functional chunks

Page 19: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Getting changes in, con't.

Communication, communication, communication Talk to folks in advance --- some people may be

working on the problem already. When submitting the patch, explain why certain

approaches were taken etc.

Be prepared for changes LKDC may want to make changes before they are

comfortable with it. Most common reason: to make the code more general.

Page 20: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Suggestion to Companies

Hire or allocate one or more kernel engineers Make joining the kernel development community be

part of their job description Part of their time should be spent helping to improve

the general linux kernel (not necessarily just the specific project(s) their company is focused upon.)

Functioning as the liaison between the company and the LKDC, they can help feed enhancements into the Linux kernel so they are accepted into the mainline.

Many companies have used this strategy quite successfully.

Page 21: Linux: Past, Present, and Future Theodore Ts'o VA Linux Systems tytso@mit.edu.

Conclusion

Linux: coming from its hobbist past, moving into a computer industry future

Challenge: Keeping the advantage of Linux-as-a-hobby, while growing Linux into the enterprise space.

This requires a partnership between the Linux Kernel Development Community and our Industry partners

Some amount of cultural impedence matching may be necessary, but I'm confident we can be successful


Recommended