Expand your skills. Chat with the experts. Join our community of kindred spirits on this exotic journey.

Our Speakers are:
Damian Conway, maddog, Andrew Morton, Randal Schwartz,
Theodore Ts'o, and Bebo White


Linux Lunacy 6 Seminars

Synchronization Primitives and Other Basic Tools in the Linux Kernel (half day)
Speaker: Andrew Morton

This discussion will cover in some depth a wide range of the low-level tools which are available to Kernel programmers for managing multiprocessor and multithread synchronisation. Topics covered will include spinlocks, read-write locks, mutexes, semaphores, read-write sempahores, bit spinlocks, waitqueues, wakeups, atomic types, the new `local_t' type, read-copy-update etc.

We will also cover the memory management APIs which the core Kernel offers — what the differences are, which API to choose, usage caveats, etc.

We will conclude the discussion with coverage of Kernel development techniques such as defensive programming, use of the various compile-time and runtime code-checking tools and Kernel debugging tools and techniques.

Linux Kernel Memory Reclaim (quarter day)
Speaker: Andrew Morton

In this seminar you will learn about the design and implementation of the 2.6 kernel’s caching, swapping, and memory reclaim architecture.

Some of the topics we will cover include:

  • page reclaim
  • page aging
  • the role of swap-cache
  • swap-out and swap-in

The discussion will also cover the reclaim of VFS cache memory and the balancing between page reclaim and VFS cache reclaim.

Real-Time Linux (half day)
Speaker: Theodore Ts'o

"Linux and Real-Time?" Sounds like a contradiction in terms? So was "Linux on non-x86 architectures" and "Linux and SMP" at one point. Today, using the latest patches, it is possible to get 50 microsecond or better latencies on real-time tasks on a real-time Linux Kernel while the system is loaded by multiple Kernel compiles, ping floods, and massive disk and network transfers occurring in the background.

This presentation will cover various historical approaches to provide hard- and soft- real-time capabilities on Linux or Linux-like systems, what features are available in the mainline Kernel, and patches such as Ingo Molnar's CONFIG_PREEMPT_RT. It will discuss what techniques are being used to achieve these results, and what the future may bring. Finally, it will explore some of the applications that can take advantage of a real-time Linux system.

  DAY PORT ARRIVE DEPART CONFERENCE SESSIONS
  SUNDAY, SEPTEMBER 16 SEATTLE, WASHINGTON 4pm 7:15pm, BON VOYAGE COCKTAIL PARTY
  MONDAY, SEPTEMBER 17 AT SEA 8:30am – NOON & 1:30pm – 5pm
  TUESDAY, SEPTEMBER 18 GLACIER BAY SCENIC CRUISING 10am 2pm 3pm – 6:30pm
  WEDNESDAY, SEPTEMBER 19 JUNEAU, ALASKA 7am 8pm
  THURSDAY, SEPTEMBER 20 SITKA, ALASKA 8am 5pm 6pm – 8pm
  FRIDAY, SEPTEMBER 21 KETCHIKAN, ALASKA 7am 1pm 1:30pm – 5pm & 5pm – 7:30pm
  SATURDAY, SEPTEMBER 22 VICTORIA, BRITISH COLUMBIA 6pm MIDNIGHT 8:30am – NOON & 1:30pm – 5pm
  SUNDAY, SEPTEMBER 23 SEATTLE, WASHINGTON 7am  

Seminars Continued

New Features in the ext2/3/4 Filesystem (quarter day)
Speaker: Theodore Ts'o

The ext2/3/4 filesystem has one of the broadest developer communities, with engineers from IBM, Red Hat, ClusterFS, SuSE, OSDL, and many, many others — and they have been hard at work. Some of the new features that will be discussed will include extents, delayed allocation, persistent preallocation, and support for large disks.

Hidden Secrets of the TCP Protocol (quarter day)
Speaker: Theodore Ts'o

The Transmission Control Protocol, or TCP has been around for a long time, and we take it for granted. It's just part of the infrastructure on top of which we build ssh, http, ftp, and a whole host of Internet Protocols. But there is a lot of sophisticated engineering and architecture inside the TCP layer. This talk will cover what makes TCP/IP tick, from its retransmission algorithms to Path MTU discovery and everything in between. This talk will also cover how to tune Linux's TCP/IP for better application performance depending on the application's needs.

Perl 6 for Perl 5 Programmers (two days)
Speaker: Damian Conway

Perl 6 will be a major improvement on Perl 5 in many ways: syntactically, semantically, performance-wise. This class looks in depth at the features of the new version of Perl, and at many of the programming techniques those features make available. Numerous real-world examples of porting Perl 5 code to Perl 6 are shown.

Day 1, AM: Perl 6 Fundamentals
Overview of the project, virtual machine architecture, compilers, new dereferencing syntax, new sigil syntax, variable declarations, static variables, constants, concatenation operator, Unicode, strictures and warnings, new output statement, interpolation blocks, new heredoc syntax, ranges, string lists, key lists, pairs, string manipulation methods, other operator changes, pipelines, defaulting operators, operator precedence, hyperoperators, reductions, junctions, sets, chainable comparators, smartmatching, variable binding, subroutines, option pairs, switch statement, contextual awareness, filehandles, autochomping, serialization, file slurping.

Day 1, PM: Perl 6 Core features
Introspection, pod rationalization, modules, blocks, closures, and subroutines, implicit parameter lists, argument binding, control statements, topics, C-style for statement, Perl-style for statement, no assignments in conditionals, sorting, operator overloading, stubbing, error variables, exceptions.

Day 2, AM: Perl 6 pattern matching: regexes, rules, and grammars
Classes, attributes, methods, class attributes and methods, implicit invocants, inheritance, submethods, object construction, reflexive method calls, object creation, object destruction, multiple dispatch, roles, subtypes, enums.

Day 2, PM: Object Oriented Perl 6
Regular expressions, unchanged features, modifiers, changed metacharacters, new metacharacters, new regex repetition qualifier, bracket rationalization, variable (non-) interpolation, extensible metasyntax, backslash reform, backtracking control, regex match variable, regex capture variables, hierarchical regex captures, subrule capturing, hypothetical variables, matching against non-strings, regex declarations, named regexes, grammars.

Seminars Continued

Voice over TCP/IP (VoIP) and Asterisk (half day)
Speaker: maddog

You have heard the hype, now get the scoop on how to save money and improve your love life by taking control of your phone system. Without all the jargon, learn how to set up an Asterisk PBX (Private Branch Exchange … o.k. a fancy switchboard) using the (relatively) easy to set up "Asterisk at Home". Learn about a variety of VoIP devices and how to tie those into your phone system, including wireless VoIP. Even good for a small business or college dorm, Asterisk allows you to integrate your business with your phone system. Other VoIP services such as Vonage and Skype will be covered. Can you hear me now?

Comparison of Distributions (half day)
Speaker: maddog

Wonder if you should be using Red Hat, Red Hat Enterprise, Fedora, SuSE, Ubuntu, Debian, Xandros, Mandriva, Slackware … man, Microsoft never made it so confusing — they just TOLD you what to use! But now you have CHOICE, and it is killing you. This talk will go over the features of some of the major distributions and help you decide which distribution is best. From the original author of "Linux for Dummies".

High Performance Computing (full day)
Speaker: Bebo White

When the term 'High Performance Computing (HPC)' is used these days it is more often than not referring to large "farms" or arrays of small, low-cost computers working together to accomplish a compute-intensive problem rather than to so-called supercomputers. Such "farms" provide high throughput, are scaleable, use inexpensive components and open-source software, and are fault tolerant. Sounds great! How hard can it be to design such a system?

In this seminar you will learn about the different hardware architectures and programming models currently available for building HPC systems. If you are involved with the design or use of HPC systems, this class is for you! The outcome of the tutorial will be your understanding of the role that HPC might play in satisfying your compute needs and requirements.

Topics that will be covered include:

Hardware models

  • Conventional computer architecture;
  • Shared memory systems such as SMP and CC-NUMA;
  • Distributed memory systems such as clusters, grids, and loosely-coupled models.

Software models

  • Conventional programming for single memory/single CPU systems;
  • Embarassingly parallel — many independent calculations/little interprocessor communication;
  • Message passing — intensive interprocessor communication;
  • Memory passing — using shared memory data structures.

Introduction to 'git': The Next-Generation Source Code Manager (quarter day)
Speaker: Randal Schwartz

When you have hundreds of people simultaneously patching 25000 files of the Linux Kernel in sometimes conflicting ways, you might need some scheme or plan to sort all that out before you can build your next kernel and reboot. The Linux team uses "git" for their source code repository management, a homegrown solution that is optimized for highly distributed development, working with huge sets of files, merging independent work at multiple levels, and seeing who broke what. (Git has also since been notably adopted by the Cairo, x.org, and Wine teams, and is being transitioned to by the Mozilla codebase.) In my talk, I describe what "git" is and isn't, and why you should use it instead of CVS, Subversion, SVK, Arch, Darcs, Mercurial, Monotone, Bazaar, and just about every other repository manager. I'll also walk though the basic concepts so that the manpages might start making sense.

561 Windsor Drive, Menlo Park, CA 94025 • 650-787-5665      Geek Cruises Home Page << Linux Lunacy 5 Online Brochure