Check out the new USENIX Web site.
2005 USENIX Annual Technical Conference


Overview | By Day (Sunday, Monday, Tuesday, Wednesday, Thursday) |
All in One File | By Instructor
Tuesday, April 12, 2005
T2 Solaris Kernel Performance, Observability, and Debugging (Day 1 of 2) NEW!
James Mauro and Richard McDougall, Sun Microsystems
9:00 a.m.–5:00 p.m.

Who should attend: System and database administrators, software architects, developers and programmers, performance and systems analysts, and IT architects wanting to obtain a deeper understanding of the key Solaris subsystems, as well as the tools and facilities that can be used to:

  • Observe, trace, and debug to optimize performance
  • Observe, trace, and debug to root-cause aberrent behavior
  • Observe and trace to understand how the application workload interacts with the operating system
  • Better understand the system as a whole
Attendees should have some basic understanding of operating system principles and application performance analysis. Students choosing to attend only Day Two should be familiar with Solaris kernel subsystems and have at least rudimentary knowledge of the bundled tools and utilities and their use.

Applications are becoming more complex every day, and many of the new Solaris features significantly reduce the effort required to administer and anazlyze performance of the entire application and operating system stack.

You may take this class as either a one-day experts class or a two-day complete class. On Day One, we provide an architectual overview of the major Solaris subsystems and an introduction to Solaris performance analysis. On Day Two, we cover advanced topics and spend significant time with hands-on case studies, using the latest tools, including dtrace, mdb, memtool, mdb, trapstat and the Solaris process "ptools."

Topics include:


  • Solaris overview with performance monitoring and tuning
    • Introduction to the Solaris kernel
    • Using DTrace for performance optimization
    • Overview of Solaris perf tools
  • Memory
    • Overview of Solaris virtual memory
    • Observing and managing memory
    • Understanding memory utilization, optimizing, and monitoring
  • Process managment & scheduling
    • Introduction to the Solaris process and thread model
    • Developing and tuning multi-threaded processes
    • Observing debugging processes with the ptools
    • Controlling processes with ptools
    • Introduction to scheduling
  • Filesystems
    • Overview of Solaris file system architecture
    • Understanding caching
    • Measurement and tuning
    • Filesystems in Solaris: UFS, NFS, and the new S10 ZFS
  • Networking and I/O
    • Solaris I/O architecture
    • TCP/IP recap
    • Solaris network performance and tuning
  • Solaris observability and debugging tools
    • Mastering Solaris DTrace
    • How to debug/monitor with "mdb"
    • Kernel profiling and lock statistics with lockstat
    • Application lock statistics with plockstat
  • Advanced memory architecture and tuning
    • TLB analysis using trapstat
    • Using large pages with the MPSS features
    • NUMA memory allocation and techniques
  • Filesystem performance
    • Tools for measuring and characterizing
    • Analysing file system performance using dtrace
  • Advanced thread scheduling and tools
    • Thread scheduling, parking lots and queues
    • Tracking thread priorities and sleep events
    • Using CPU binding and processor sets
  • Advanced dtrace
    • Attributing network, file I/O to applications
    • Investigating complex inter-process performance problems
    • Tracing unmodified customer applications
  • Workload consolidation and resource management
    • Introduction to tools for workload and resource management
    • Workload measurement
    • Using Solaris resource manager to isolate and control workloads
    • Using Solaris Zones to create Application Containers

James Mauro (T2, W2) is a Senior Staff Engineer in the Performance and AvailabilityJames Mauro Engineering group at Sun Microsystems. Jim's current projects are focused on quantifying and improving enterprise platform availability, including minimizing recovery times for data services and Solaris. Jim co-developed a framework for system availability measurement and benchmarking and is working on implementing this framework within Sun.

Richard McDougall (T2, W2) is a Sun Microsystems Distinguished Engineer who specializes in Richard McDougalloperating systems technology and system performance. He is based at the Menlo Park Performance and Availability Engineering group, where he drives development of performance and behavior enhancements to the Solaris operating system and Sun's hardware architectures. He has led the development of resource management principles, has contributed to the development of virtual memory and file systems within the Solaris operating system, and has architected many tools for analysis, monitoring, and capacity planning. He is the lead author of Resource Management (Prentice Hall). He has written numerous articles and papers on measurement, monitoring, and capacity planning of Solaris systems and frequently speaks at industry and customer technical conferences on the topics of system performance and resource management.

Richard and Jim authored Solaris Internals: Architecture Tips and Techniques (Sun Microsystems Press/Prentice Hall, Feb 2000, ISBN 0-13-022496-0) and are currently collaborating on an update of the book for Solaris 8, as well as volume II.

T3 Solaris 10 Security Features Workshop NEW!
Peter Baer Galvin, Corporate Technologies
9:00 a.m.–5:00 p.m.

Who should attend: Solaris systems managers and administrators interested in the new security features in Solaris 10 (and features in previous Solaris releases that they may not be using).

This course covers a variety of topics surrounding Solaris 10 and security. Solaris 10 includes many new features, and there are new issues to consider when deploying, implementing, and managing Solaris 10. This will be a workshop featuring instruction and practice/exploration. Each student should have a laptop with wireless access for remote access into a Solaris 10 machine.

Topics include:

  • Solaris cryptographic framework
  • NFSv4
  • Solaris privileges
  • Solaris Flash archives and live upgrade
  • Moving from NIS to LDAP
  • Dtrace
  • WBEM
  • Smartcard interfaces and APIs
  • Kerberos enhancements
  • Zones
  • FTP client and server enhancements
  • PAM enhancements
  • Auditing enhancements
  • Password history checking
  • ipfilters

Peter Baer Galvin (S8, T3) is the Chief Technologist for Corporate Technologies, Inc., a systems integrator and VAR, Peter Baer Galvin and was the Systems Manager for Brown University's Computer Science Department. He has written articles for Byte and other magazines. He wrote the "Pete's Wicked World" and "Pete's Super Systems" columns at SunWorld. He is currently contributing editor for Sys Admin, where he manages the Solaris Corner. Peter is co-author of the Operating Systems Concepts and Applied Operating Systems Concepts textbooks. As a consultant and trainer, Peter has taught tutorials on security and system administration and has given talks at many conferences and institutions on such topics as Web services, performance tuning, and high availability.

T4 Advanced Perl Programming
Tom Christiansen, Consultant
9:00 a.m.–5:00 p.m.

Who should attend: Anyone with a journeyman-level knowledge of Perl programming who wants to hone Perl skills. This class will cover a wide variety of advanced topics in Perl, including many insights and tricks for using these features effectively. After completing this class, attendees will have a much richer understanding of Perl and will be better able to make it part of their daily routine.

Topics include:

  • Symbol tables and typeglobs
    • Symbolic references
    • Useful typeglob tricks (aliasing)
  • Modules
    • Autoloading
    • Overriding built-ins
    • Mechanics of exporting
    • Function prototypes
  • References
    • Implications of reference counting
    • Using weak references for self-referential data structures
    • Autovivification
    • Data structure management, including serialization and persistence
    • Closures
  • Fancy object-oriented programming
    • Using closures and other peculiar referents as objects
    • Overloading of operators, literals, and more
    • Tied objects
  • Managing exceptions and warnings
    • When die and eval are too primitive for your taste
    • The use warnings pragma
    • Creating your own warnings classes for modules and objects
  • Regular expressions
    • Debugging regexes
    • qr// operator
    • Backtracking avoidance
    • Interpolation subtleties
    • Embedding code in regexes
  • Programming with multiple processes or threads
    • The thread model
    • The fork model
    • Shared memory controls
  • Unicode and I/O layers
    • Named Unicode characters
    • Accessing Unicode properties
    • Unicode combined characters
    • I/O layers for encoding translation
    • Upgrading legacy text files to Unicode
    • Unicode display tips
  • What's new in Perl lately
    • Switch statement
    • Defined-or operators
    • Pre-compiled modules
    • Dynamic handles
    • Virtual I/O through strings

Tom Christiansen (T4) has been involved with Perl since day zero of its initial public release Tom Christiansen in 1987. Author of several books on Perl, including The Perl Cookbook and Programming Perl from O'Reilly, Tom is also a major contributor to Perl's online documentation. He holds undergraduate degrees in computer science and Spanish and a Master's in computer science. He now lives in Boulder, Colorado.

T5 RPM Package Management NEW!
Joshua Jensen, IBM
9:00 a.m.–5:00 p.m.

Who should attend: System administrators deploying, or interested in deploying, RPM-based Linux systems in a production environment. Attendees should be familiar with the basics of system administration in a UNIX/Linux environment, user-level commands and TCP/IP networking. Novice administrators and gurus alike should leave the tutorial having learned something.

Whether your environment is a single server or a network with thousands of desktops, workstations, and servers, Linux application deployment, upgrades, and errata policy can be effectively managed with RPM packages. From simple command-line queries to source build environments, from networked package management solutions such as Novell's Zenworks for Linux and Red Hat's RHN to the simple but effective Yum, this course emphasizes real-world solutions, covering everything you need to know to use, create, and manage RPM packages and systems.

Topics include:

  • Introduction to RPM: What's a package and what isn't
  • Working with RPMs: Basic functionality explored
  • Advanced RPM use: Auto dependency aid, rollback, and more
  • Building RPMs: Source RPMs, spec files, RPM macros
  • Special considerations for dual architecture systems
  • Advanced functionality: Triggers and pre/post scripting
  • RPM security: Build signing and pre-installation verification
  • Package management systems: APT, RHN, RCE/Zenworks, Yum

Joshua Jensen (T5) has worked Joshua Jensenfor IBM and Cisco Systems, and was Red Hat's first instructor, examiner, and RHCE. He worked with Red Hat for 4 1/2 years during which he wrote and maintained large parts of the Red Hat curriculum: Networking Services and Security, System Administration, Apache and Secure Web Server Administration, and the Red Hat Certified Engineer course and exam. Joshua has been working with Linux since 1996, and finds himself full circle having recently left IBM to work with Red Hat Linux for Cisco Systems. In his spare time he dabbles in cats, fish, boats, and frequent flyer miles.

T6 Managing Samba 3.0
Gerald Carter, Samba Team/Hewlett-Packard
9:00 a.m.–5:00 p.m.

Who should attend: System administrators who are currently managing Samba servers or are planning to deploy new servers this year. This course will outline the new features of Samba 3.0, including working demonstrations throughout the course session.

Topics include:

  • Providing basic file and print services
  • Centrally managing printer drivers for Windows clients
  • Configure Samba's support for Access Control Lists and the Microsoft Distributed File System
  • Making use of Samba VFS modules for features such as virus scanning and a network recycle bin
  • Integrating with Windows NT 4.0 and Active Directory authentication services
  • Implementing a Samba primary domain controller along with Samba backup domain controllers
  • Migrating from a Windows NT 4.0 domain to a Samba domain
  • Utilizing account storage alternatives to smbpasswd such as LDAP
Gerald Carter (S6, T6, W3) has been a member of the Samba Development Team since 1998. HeGerald Carter has published articles with various Web-based magazines and teaches courses as a consultant for several companies. Currently employed by Hewlett-Packard as a Samba developer, Gerald has written books for SAMS Publishing and is the author of the recent LDAP System Administration for O'Reilly Publishing.

T7 Practical System and Network Monitoring
John Sellens, SYONEX
9:00 a.m.–5:00 p.m.

Who should attend: Network and system administrators interested in real-life, practical, host- and network-based monitoring of their systems and networks. Participants should have an understanding of the fundamentals of networking, basic familiarity with computing and network components, and some familiarity with UNIX and scripting languages.

Participants will leave this tutorial able to immediately start using a number of monitoring systems and techniques that will improve their ability to manage and maintain their systems and networks.

Topics include:

  • Monitoring: goals, techniques, reporting
  • SNMP: the protocol, reference materials, relevant RFCs
  • Introduction to SNMP MIBs (Management Information Bases)
  • SNMP tools and libraries
  • Other (non-SNMP) tools
  • Security concerns when using SNMP and other tools on the network
  • Monitoring applications: introductions, use, benefits and complications, installation and configuration (Big Brother, Nagios, SNIPS, MRTG, Cricket, etc.)
  • Special situations: remote locations, firewalls, etc.
  • Monitoring implementation roadmap: policies, practices, notifications, escalations, reporting
John Sellens (T7, W4) has been involved in system and network administration John Sellens since 1986 and is the author of several related USENIX papers, a number of ;login: articles, and the SAGE Short Topics in System Administration booklet #7, System and Network Administration for Higher Reliability. He holds an M.Math. in computer science from the University of Waterloo and is a chartered accountant. He is the proprietor of SYONEX, a systems and networks consultancy. From 1999 to 2004, he was the General Manager for Certainty Solutions in Toronto. Prior to joining Certainty, John was the Director of Network Engineering at UUNET Canada and was a staff member in computing and information technology at the University of Waterloo for 11 years.

T8 Release Engineering and Project Lifecycle NEW!
Geoff Halprin, The Sysadmin Group, and Lee Damon, University of Washington
9:00 a.m.–5:00 p.m.

Who should attend: Software developers, system administrators, and managers who deal with internal or external project/product lifecycles and quality.

We will look at projects varying in scope from "Here's a new product we just bought; roll it out," through "We need an internal _foo_ server; make it happen," to "Here's this new thing we are developing; let's do it right so we can ship it." We will cover matters from quick projects to "This will take a year and 20 people to deploy."

The focus of this class will be on internally developed projects for internal use with some extrapolation to sold or shipped products. Large and small projects alike can benefit from proper planning and roll-outs. We will prove that the old adage, "There is never time to do it right, but there is always time to do it over," is never a good answer or a good philosophy. We will also examine the phenomenon of "Shoot the engineer and ship the product" in light of the reality most of us face: "The first 90% of the project takes 10% of the time; the remaining 10% takes 90% of the time."

Students should have a project or large task-set in mind when coming to the class. There will be break-out sessions where the student's real world tasks will be used as examples.

This is not intended to replace formal training for project planners. It is intended to make life better for people who deal with projects on a day-to-day basis. We will provide you with the ideas and some of the tools to take your projects from "We need this quick" to a supportable and released project—or even product.

Topics include:

  • Test planning and implementation
  • Project release planning
  • Project lifecycles
  • Replacement planning and updating
Geoff Halprin (S13, T8) has spent over 25 years as a software developer, Geoff Halprin system administrator, consultant, and troubleshooter. He has written software from system management tools to mission-critical billing systems, has built and run networks for enterprises of all sizes, and has been called upon to diagnose problems in every aspect of computing infrastructure and software. He has spent more years troubleshooting other people's systems and programs than he cares to remember. Geoff was on the board of the System Administrators Guild (SAGE) and is now a member of the USENIX board of directors.

Lee Damon (M7, T8) has a B.S. in Speech Communication from Oregon State University.Lee Damon He has been a UNIX system administrator since 1985 and has been active in SAGE since its inception. He assisted in developing a mixed AIX/SunOS environment at IBM Watson Research and has developed mixed environments for Gulfstream Aerospace and QUALCOMM. He is currently leading the development effort for the Nikola project at the University of Washington Electrical Engineering department. He is past chair of the SAGE Ethics and Policies Working Groups.

?Need help? Use our Contacts page.

Last changed: 31 March 2005 ch