Brendan’s frustrations getting the Systems Performance book started.
Spoiler: the book did eventually get started, and finished.
Category Archives: what I do
Why a Systems Performance Book?
Using videos to promote books has become standard practice in the last few years, as Brendan Gregg and I were well aware while he was writing his latest. We’ve made many videos together, so we figured it would be easy to film a series of brief videos, say one per chapter, during the writing of this book.
It didn’t quite work out that way, but we got a few, starting with the one above.
Archived Technical Videos
In early 2010, with the “change in control” of Sun Microsystems (to Oracle) imminent, I started a big job of moving the hundreds of technical videos I had spread among three different Sun media hosting sites. Oracle didn’t want them (and soon afterwards deleted dozens, without warning and with no hope of recovery).
One of the destination sites I chose was blip.tv, partly because it allowed me to store longer videos than YouTube did back then.
blip has since changed its business model, and recently gave me a month’s warning to back up my videos before they deleted my free account. In the meantime, YouTube has given me more and more for free – with a long track record and, as of today, 699 videos, they seem to think I’m a good customer even though I’m not paying.
You can visit my YouTube channel for a broad assortment of technical, personal, and travel videos.
I did manage to download everything from blip, but some of the videos are of doubtful interest to my audience today, and I’ve found that uploading old videos to YouTube can confuse my channel subscribers. So the list below is of videos I still have stored safely away, but am not sure there’s a market for. If there’s something on this list you want to see re-published or would like a personal copy of, let me know in the comments below.
I do have a few more than these whose descriptions I forgot to copy down. If you know or suspect that I have video of you that you’d like a copy of, also ask in the comments below. With luck, it won’t be one of the ones that was obliterated by Oracle, and I may still be able to find it somewhere.
Introduction to Parallel Programming: Modules 4-7 found and uploaded, see them here.
Deirdres-module6402
Parallel Programming Models – Shared Memory, Auto Parallel, OpenMP
Module 6 of 7 in “An Introduction To Parallel Programming”. A series of seven video modules presented by Oracle Senior Staff Engineer Ruud van der Pas, covering various aspects of parallel programming in C, C++, and Fortran on multi-core and multi-processor systems.
Deirdres-module5724.mov
Parallel Programming Models – Distributed Memory and MPI
Module 5 of 7 in “An Introduction To Parallel Programming”. A series of seven video modules presented by Oracle Senior Staff Engineer Ruud van der Pas, covering various aspects of parallel programming in C, C++, and Fortran on multi-core and multi-processor systems.
Deirdres-module4395.mov
Parallel Programming Basics
Module 4 of 7 in “An Introduction To Parallel Programming”. A series of seven video modules presented by Oracle Senior Staff Engineer Ruud van der Pas, covering various aspects of parallel programming in C, C++, and Fortran on multi-core and multi-processor systems.
module3189.mov
Parallel Architectures
Module 3 of 7 in “An Introduction To Parallel Programming”. A series of seven video modules presented by Oracle Senior Staff Engineer Ruud van der Pas, covering various aspects of parallel programming in C, C++, and Fortran on multi-core and multi-processor systems.
Deirdres-1003multicorekarlsson975
Developing in a Multicore World – 1
Peter Karlsson presents at Tech Days Hyderabad 2010. Rough cut.
Deirdres-1003multicorekarlsson2665.mov
Developing in a Multicore World – 2
Deirdres-0910osdevcondeadends1h264953.mov
Deirdres-0910osdevcondeadends1h264pt2322
Dead ends in multithreads application development – part 2 of 2
Ten years back, there were difficult to have access to multi CPU machine and software developers preferred to write single thread and single process application. Nowadays computers have a lot of CPUs which gives to us possibility to use them for real parallel computing and improve application performance. You can see Niagara boxes which has 128CPUs (HW threads) in 1U rack size (e.g. Sun SPARC Enterprise T5140), or many people already have Intel or AMD multi core boxes at home. However, because most of application were written in single CPU era they are not able use capability of todays computers. Write multithreaded application is more complicated and we can se that many parallel application are buggy and contains many strange constructions which cause to deadlock or race conditions. Most of these bug of C application are caused by unfamiliarity with POSIX thread specification and bad application design. Multi threaded programing is complex topic and the presentation will focus only on few areas which author had opportunity to hunting bugs. The main areas are: 1. Signal handling in multi threaded application 2. How to survive after fork 3. How to safety exit otherwise when thread is killed 4. Parallel memory access – when we need lock and how to avoid performance drop. 5. Sessions Presentation will contain examples of real bugs which author fixed in pkcs11 library including small Solaris’es libc code tour with stops at fork(), atfork(), atextit(), exit() and pthread.h. Zdenek Kotala has twenty years experience of computer programing. He graduated from West Bohemia University in Numeric methods and parallel computing. He worked on several projects which most of them runs on multi CPUs systems and on different OS (Solaris, Tru64, Windows and Linux). He spent short time of creating and lot of time hunting race conditions, deadlock and other parallel programing issues. At this moment author works as revenue product engineer for SUN Microsystems, Czech Republic. He focus on security technology like PKCS11 library, ssh, openssl and he is also responsible for PostgreSQL in Solaris. He is active member of PostgreSQL community.
Deirdres-MultilevelCluster349.mov
Multilevel Cluster
Ellard Roush presents at the Solaris Security Summit, Nov 2009.
Deirdres-MaximizingApplicationPerformanceWithSunStudio186.mov
Maximizing Application Performance with Sun Studio
Performance on your mind? Creating native language applications that maximize performance requires performance tuning and program analysis.
This session will take a look at Sun Studio software and how to use its optimizing compilers, powerful debuggers, and advanced thread and performance analysis tools to help ensure scalability and the most performance out of your applications on the latest multicore SPARC and x64/x86 processor-based systems. In addition, discover new tools that take advantage of technologies in OpenSolaris, including Dynamic Tracing (DTrace) technology.
Deirdres-Sol11panel1120.mov
Solaris 11 Engineering Panel
Birds of a feather session at LISA10.
Deirdres-module2255.mov
Multicore Processor Architectures
Module 1 of 7 in “An Introduction To Parallel Programming”. A series of seven video modules presented by Oracle Senior Staff Engineer Ruud van der Pas, covering various aspects of parallel programming in C, C++, and Fortran on multi-core and multi-processor systems.
Deirdres-1003TDHydsharatcplus1561.mov
Building High Quality C++ Applications 1
Sharath Srinivasan speaks at Tech Days, Hyderabad, 2010.
Deirdres-0912TDBrmulticore130.mov
Mastering Your Multicore System
This session will demonstrate how Sun Studio compilers and tools can simplify these challenges and enable you to fully unlock the potential in multicore architecture. Don Kretsch presents at Tech Days, Brazil, 2009.
Deirdres-BuildingHighQualityCCApplications826.mov
Building High-Quality C/C++ Applications
There are certain challenges in our industry for native language developers, such as multicore development, heterogeneous OpenSolaris and Linux OS development, and Linux compatibility issues. Sun Studio software delivers a high-performance, optimizing C/C++ and Fortran developer tool chain for Solaris, OpenSolaris, and Linux platforms, including support for the latest multicore systems. The tool chain includes parallelizing compilers, code-level and memory debuggers, performance and thread analysis tools, optimized math libraries, and support for the latest parallelizing industry standards. With a next-generation IDE, developing and debugging applications for the multicore era has never been easier.
Don Kretsch presents at Sun Tech Days, Brazil, December 2009.
Deirdres-sge1382.mov
Managing Grid Engine Clusters 1
Dan Templeton leads a master class in Managing Grid Engine Clusters. Filmed in May, 2008, at the Open Source Grid & Cluster Conference.
Deirdres-0910oowglynnsj629.mov
Contributing to OpenSolaris Using SourceJuicer
Glynn Foster at Oracle Open World 2009.
Deirdres-0910osdevconsourcejuicer1135.mov
Source Juicer – A New Way to Build Solaris Software
Source Juicer (http://jucr.opensolaris.org) is a recently deployed Opensolaris website who’s purpose it is to encourage community porting efforts for the solaris platform. Opensolaris now has two community governed IPS package respoitories, /pending and /contrib and Source Juicer delivers software into these repos. Source Juicer has two main components, the first is a web application that is responsible for accepting and managing community initiated package submissions. When a submission is made, a review thread is created allowing for community members comments and review of the package. At the same time as generating the review thread, the system attempts to build the package and if successful, it is published into the /pending repository. Once the submission has received two positive votes from designated approvers the package is promoted to the /contrib repository, where it is available as a community supported package. The second component is called BuildGrid, which builds and publishes packages. BuildGrid uses a number of Opensolaris technologies, namely ZFS, Zones, IPS & Pkgbuild to build the packages. The BuildGrid requires at least one spec file and one copyright file to successfully build a package. Its scalable and robust architecture allows for the continuous and simultaneous building of packages for different releases and different architectures. Included in the future plans of the Source Juicer development team is the goal to migrate the current release engineering process for the desktop consolidation to the Source Juicer application. This will provide the twin advantages of enhancing community involvement with the Desktop components of Opensolaris and moving away from the existing lengthy and cumbersome nightly builds to a continuous package-by-package build. Also covered in the talk will be a a look at the origination of the project, a detailed look at the architecture and a brief walk-through of the creating and reviewing of a submission, plus the building and installing of a package. Brian Nitz has been a software engineer since 1988. His contributions include support and service productivity tools for radiology workstations, QA and performance tools the successful deployment of over 7000 Sun JDS (Linux) desktops at a large bank, a multidatabase defect management system and components of the sourcejuicer package build web service He lives in Ireland with his wife and two kids where he enjoys travel, sailing and photography. Mark Duggan has worked since 1990 as a contract system administrator/integrator in Ireland and in the US, focusing on thin client solutions and Solaris/Linux backend services. Since joining Sun’s Dublin based Desktop Engineering group in 2000, he has been a member of the desktop QA/RE team. Besides this engineering work he has also had a special focus on the promotion of Sun’s desktop products, in the form of customer facing presentations and proof of concept pilots. In the past year, he has been responsible, as project lead, for the community oriented Source Juicer project, involved at all stages from conception, design, development and deployment of web application and backend build system.
Fibre Channel Concepts
Sit in on a Sun training session on “Fibre Channel Concepts,” by Sumit Gupta.
The 3rd Annual Solaris Family Reunion
I have been meaning for some time to write a follow-up to my series about my experience of Oracle’s acquisition of Sun Microsystems. This yet-to-be-written piece, titled “The Sun Diaspora”, may someday contain deep thoughts about how dispersing all that amazing Sun engineering talent may prove to have been a watershed event for the entire technology industry. That history is still playing out (and probably will for decades to come), and I’m too ragged right now to write it anyway.
So… I did something better: I got some of those engineers to speak for themselves, about what they’ve been doing since Sun. The occasion was the 3rd Annual Solaris Family Reunion, held last night at Joyent (to whom we owe thanks for the pizza and beer). Here’s the rough video:
Speakers:
- Brendan Gregg
- Eric Schrock
- Adam Leventhal
- Keith Wesolowski
- Robert Mustacchi
- Max Bruning
- Garrett D’Amore
- Kevin Zimmerman
- Bill Moore
- Sunay Tripathi
- Blake Jones
This was also the occasion for a get-together of a good portion of Sun’s Fishworks team:
- Part 1: Resistance is Futile: The Oracle Acquisition
- Part 2: What to Expect When You’re Expecting – to Be Acquired
- Part 3: Fishworks and Me
- Part 4: Into the Belly of the Beast
- Part 5: The Last of OpenSolaris
- Part 6: Diaspora (not yet written)
- The 3rd Annual Solaris Family Reunion
Node.js at Joyent: Debugging Tools and Manta
Josh Clulow at Sydney Node Ninjas, Sept, 2013.