Category Archives: bio

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.

ps You can order the book from InformIT or Amazon.

Marketing Your Tech Talent

I was thrilled to have the opportunity to present this talk at the Monktoberfest in Portland, Maine.

Slide deck with notes – Marketing Your Tech Talent

Some very kind words about the talk from Joe Brockmeier here.

I’m just gonna brag a little here:

“Datashits” was a Freudian slip. Really. I promise.

Monktoberfest tweets
Screen shot 2013-10-04 at 5.07.11 PM
Monktoberfest tweets
Screen shot 2013-10-04 at 5.32.56 PM
Screen shot 2013-10-04 at 5.06.50 PM
Screen shot 2013-10-04 at 5.06.10 PM

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:

members of Sun's Fishworks team


 

Sudhir Part 2: Hanged for a Lamb

Part 1 is here.

The morning of the plays, I was surprised to be called in to see Mrs. Kapadia. As our senior class homeroom teacher, she had some jurisdiction over me, but I had no reason to suspect that I was in any trouble. I was known as the loud-mouthed atheist hippie kid who never actually broke any school rules, because I simply wasn’t interested in smoking or drinking or the daring dorm escapes that my peers got busted for (when caught).

“I need to talk to you about something,” she said. Then, ominously: “You’ve been seen with Sudhir Thapliyal.”

I was baffled. “Huh? So? You introduced me to him!”

“Yes, but… he’s got a reputation. And his wife has just left him.”

“She left him before I even met him!”*

“It doesn’t matter. This is India. As the other woman, you’ll be blamed.”

“I’m not the other woman! We’re not even doing anything!”

This was true. We had only been together in public, and he had rarely touched me at all, let alone made any “moves”. As far as I knew, any sexual or romantic feelings were solely my own teenage fantasies. I had no sense of myself as being physically attractive; the only guy who’d ever shown any interest in me at school was Krishna. I could not believe that anyone could imagine anything going on between me and a charismatic, sophisticated, older man.

I was nearly crying with rage and humiliation at the unfairness of this, tears which Mrs. Kapadia apparently took as an admission of heartbreak, or guilt.

“What am I supposed to do?” I pleaded. “He’s a friend. He’s coming here tonight to see the plays.”

“You have to tell him that you can’t see him again. You can do that tonight.”

I reluctantly agreed – this would be marginally better than having a staff member speak to him – but I set a condition: “Don’t tell Mrs. Silver about this.”

Mrs. Silver had been our dorm supervisor for three years, “growing up” in that role with our class in particular. She knew us well, and was a generous surrogate mother to me and others. I loved her dearly and knew that she would not judge harshly, but for some reason I did not want her to know about this… whatever it was.

Mrs. Kapadia promised not to tell, but must have known that it was already too late: within the hour, Mrs. Silver – who clearly had already heard all about it – was weeping over me for having my poor gullible heart broken.

Humiliation burned deeper: it seemed that many of the staff knew, and pitied my naiveté: I supposed they thought that I imagined he would take me away to live in his Himalayan kingdom forever. I considered this deeply insulting to my intelligence and maturity: I was inexperienced – but not stupid.

Whatever fantasies I entertained about Sudhir (and they were many), we both knew that I’d be leaving for college in the US at the end of the school year. Maybe we’d be friends long-term, but I was certainly not going to throw away my life plans for him. Nor was he likely to ask me to. How could anyone possibly imagine otherwise?

I waited through the rest of the day in anxious anticipation. What was I going to say? That I was in trouble because some gossips were telling tales that weren’t even true? I burned with the injustice, and with embarrassment at having to allude to a purely imaginary sexual relationship between us.

As evening fell, I waited in the lobby outside the school auditorium. He was late, but that was just as well. Everyone else went in to watch the show, while I sat alone on a bench in the vast, cold, dimly-lighted space.

Finally, he came bounding in from the outside door, the sharp, cold smell of mountain air clinging to his clothes. After a glance around the deserted foyer, he took my chin in his hand, tilted my head up, and kissed me swiftly – just a peck, but it was on the lips.

I pulled away, startled. This was the first unambiguously romantic gesture he had made, and the timing couldn’t be worse. Realizing he’d made a mistake, he drew back and sat down beside me, not too close.

“What’s up? You look worried.”

“Mrs. Kapadia called me in today,” I began haltingly. “People are talking about us in town. Someone saw us having lunch together.”

“What are they saying?”

“That… that we’re having an affair. And it’s my fault your wife left.”

At first, he seemed more focused on identifying the author of the gossip, than concerned about any effects on me.

“It must have been G, he saw us together a couple of times,” Sudhir ruminated.

I’d been introduced to G at Ruskin’s house, and had recognized him on one or two other occasions in town. “But who would have brought the gossip to the school…?” Sudhir continued. “Ah, yes: [a staff member]. She’s jealous – wants me for herself.” I had no idea if that was true, but someone had to have reported the story to Mrs. Kapadia, and it didn’t seem likely to have been G.

“They told me I have to stop seeing you. I’m supposed to tell you that.” My eyes filled with tears and I looked away, awash with embarrassment and sorrow.

He took my hand, and with his other hand turned my face toward his, looking into my eyes. There was a long pause.

“I love you, and you love me,” he said simply. “What are they going to do about it?”

I was stunned. He loved me? Just like that? How was that even possible? What could he possibly feel for a gawky girl like me?

“We’ll just have to make sure that you don’t get in trouble with the school,” he added, with a smile.

 


* That his wife had left him the day before I met him was the coincidence that my screenwriting teacher had felt to be implausible (read Part 1 for that).

ps I finally got around to finishing and publishing this piece because yesterday, July 13th, was Sudhir’s birthday. He would have been 68.