Accelerated X flame wars!—Maybe not in Free Software Magazine gives some background on X graphics and explains the similarities between AIGLX and Xgl.
Author Archives: Dan Siemon
Convergence (Saving the Net)
Saving the Net and network neutrality in general have become big topics lately. I have made several posts on the topic over the last few months (1, 2, 3). See Michael Geist‘s The Search for Neutrality for a bit of Canadian perspective.
With the above in mind, it was with great interest that I read this month’s installment of Geoff Huston‘s The ISP Column. The article is entitled Convergence?. I have copied a couple of choice quotes below. There is lots more good information in the article. Last month’s column, IPv6 – Extinction, Evolution or Revolution?, also offers some interesting perspectives on the future of IP service providers.
One emerging body of opinion is that the issue here is not finding the right layer for virtualization of the network, nor is it an exercise in finding just the right form of value to add to these networks, but in recognising the futility in such exercises in the first place.
By any accounts peer-to-peer file sharing has taken over the Internet, with estimates of between 45% to 70% of total internet traffic volumes being attributable to music and video sharing. This has turned the Internet into one of the more prodigious music and video distribution systems ever conceived. This shift in user behaviour has significant implications for the entertainment industry’s chosen distribution methods, and it is likely that the industry will ultimately come to terms with peer sharing technologies such as BitTorrent. The loser in all this is likely to be real time video delivery systems, so one reasonable conclusion is that real time content delivery, or Triple Play time, is over, BitTorrent has won over the user!
The modernization of X
For those who don’t know, there is a lot of good work happening on X these days. Especially interesting is Xgl, AIGLX and the composite extension. Since Xgl and AIGLX are two different ways to bring GL-accelerated effects to the standard Linux desktop, there has been much arguing over which is the better approach.
NVidia appears to believe that the AIGLX approach is a better long-term solution but there is no denying that the combination of Xgl and compiz produce better results at present.
Despite reading extensively on both of these projects, I don’t know enough about deep graphics issues to really make a good decision as to which is better. I’ll leave that to the X people. For now, I’m just really happy to see these features coming to my Linux desktop soon!
Check out this video from Novell to see just how cool this stuff is.
Xgl demo (58MB, XVid).
Computer science growing into a basic science
Computer science growing into a basic science
The talks demonstrated that research in computer science is moving beyond the study of a set of computing machinery. Just as mathematics and physics have matured into fundamental sciences, computer science, too, is graduating into one.
RFC 3028
RFC 3028 – Sieve: A Mail Filtering Language
This document describes a language for filtering e-mail messages at time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol (IMAP) servers, as it has no variables, loops, or ability to shell out to external programs.
Lessig on Net neutrality
Lessig has made a submission to the U.S. Senate Commerce Committee about Net neutrality. If you have read Lessig’s books most of the information is not new. If you haven’t read his books, this submission provides a nice short version.
Doing HTTP Caching Right
Doing HTTP Caching Right: Introducing httplib2 provides a really nice overview of the HTTP caching model before introducing a new Python HTTP library.
Net channels: Where is the end in end-to-end?
The key design feature of the Internet is the end-to-end principle. In short, the end-to-end principle says that as much work as possible should be done at the ends of the network. This results in a very simple network core. The simplicity of the core allows it to scale. See World of Ends for more implications of the end-to-end principle.
If you ask most network people exactly where the “end” is they will probably say it is the device at the edge of the network. Some may even go as far as to say it is the operating system on the edge device. At present this is indeed the case. For example, the processing necessary to make TCP a reliable protocol happens within the operating system.
At LCA 2006, Van Jacobson recently weighed in on the network protocol processing overhead that is becoming a big problem as link data rates increase. Current operating systems are having a hard time keeping up with 10 gigabit links, especially when using TCP. In his presentation, Van Jacobson says that the placement of the TCP stack in the operating system kernel is a historical accident. This design was chosen because it was necessary to ensure Multics did not page out the TCP stack. Further, TCP in the kernel violates the end-to-end principle because the kernel is not the end, the application is. Van Jacobson offers Net channels as a possible solution to this problem. Net channels provide a simple, cache friendly way to manage network packets within a system.
The presentation discusses several ways that Net channels can improve TCP performance. The first is to use Net channels between the NIC and the current in-kernel TCP stack. The more interesting use of Net channels is to push all TCP processing into userspace. Essentially, each application would have their own TCP stack. This removes the bottleneck that the single, system-wide TCP stack creates. Amazingly, Van Jacobson presents statistics which show that this modification results in TCP processing overhead dropping by 80%. Other benefits would include a simpler kernel and the ability to have a TCP stack tuned for each application. Applying TCP bug fixes and adding new features would also become easier with TCP moved outside of the kernel.
For more information on this really amazing idea see the following resources.
- Net channel presentation slides
- Blog post by David S. Miller
- Article at LWN.net
- Thread on the Linux NetDev mailing list
Net neutrality
How To Do What You Love
The most dangerous liars can be the kids’ own parents. If you take a boring job to give your family a high standard of living, as so many people do, you risk infecting your kids with the idea that work is boring.
Most people are doomed in childhood by accepting the axiom that work = pain.
All parents tend to be more conservative for their kids than they would for themselves, simply because, as parents, they share risks more than rewards. If your eight year old son decides to climb a tall tree, or your teenage daughter decides to date the local bad boy, you won’t get a share in the excitement, but if your son falls, or your daughter gets pregnant, you’ll have to deal with the consequences.