Introduction

I work in Solaris Kernel Development at Sun Microsystems, where among other things I'm the architect for RAS (Reliability, Availability, Serviceability) features in Solaris. My research and engineering interests are focused on technology to enhance the availability of computer systems,including programming languages and debugging tools for developers, operating system technologies for handling and recovering from software and hardware faults and defects, and tools for administrators and users that improve the user experience. My work at Sun includes the design and implementation of:
  • Commands: dtrace(1M), dumpadm(1M), fmadm(1M), fmdump(1M), fmstat(1M), mdb(1), pgrep(1), pkill(1)
  • Daemons: fmd(1M)
  • Libraries: libctf, libdtrace, libfmd_adm, libfmd_log, libproc
  • Kernel Subsystems: Lock-Free Error Queues, Panic Subsystem, Firmware Locking, Error Trap Interpositioning (on_trap), UltraSPARC-I and II CPU and Memory Error Handling, DTrace Virtual Machine
  • File and Data Formats: CTF (Compact C Type Format), DOF (DTrace Object Format), FCF (FMD Checkpoint Format)

as well as contributions to the design of coreadm(1M), user core files, kernel crash dumps, the /proc filesystem, and other related areas. In Solaris 10, I designed and implemented the D programming language and compiler for DTrace, and led the effort to create Sun's architecture for Predictive Self-Healing, part of our innovative approach to Fault Management that is debuting in Solaris 10.

Contrary to earlier blog easter-eggs, I resemble neither the battering-ram power of Bosco Baracus nor the pasty-haired impishness of Larry Fine. I do, however, look pretty much exactly like my cartoon action figure, as seen in InsideJack Episode 2.

Prior to working at Sun, I was causing trouble with my partner-in-crime Bryan Cantrill at Brown University, where I received a BS and MS in Computer Science. I'm originally from the Boston area, and spend much of my free time reliving basketball games from the 80's now on DVD, this year's Red Sox triumph, and the weekly drama of a Man Named Brady.

$q
Comments:

Welcome to the blogospher Mike.

Alan.

Posted by Alan Hargreaves on January 23, 2005 at 07:10 AM PST #

Mike, I'm trying to install Sun's JES software stack in a hardened chroot environment. It needs lots of programs during installation so it is not desirable to populate the chroot with everything it needs to install itself. So our normal process is to install software outside of the chroot, then tar it up and move it into the jail. Unfortunately, the JES installer writes stuff all over the file system. I was wondering if I could run a dtrace program during the installation that would write out a list of every file created during install. I could then use this output as a playbook for all the files that need to be moved to the chroot. I've toyed with the below which I gleaned from a forum, but it casts far too wide a net. dtrace -qwn 'syscall::write:entry{printf("%d,%s write to %d\\n",curpsinfo->pr_pid,execname,arg0); system("pfiles %d", pid);}' Thanks, John Web Platform Engineering

Posted by John Hoffmann on March 23, 2005 at 08:28 AM PST #

Definitely. Rather than instrumenting every write(), though, instrument every creat() which succeeds and every open(O_CREAT) which succeeds. Feel free to e-mail me or dtrace-interest for help.

Posted by Mike Shapiro on May 02, 2005 at 08:44 AM PDT #

Hi Mike,

I am a Quality Engineer and a professional memeber of ACM, searching for new ways to improve the reliability of my system. When Solaris 10 was released I saw Dtrace, and found it immensely helpful for system level data gathering, but currently i was going through Runtime Verification papers, and I think Dtrace can be extended for two things :

1. Custom Providers with probes which can be used for trace monitoring, of any event pattern, essentially enabling continuous regression testing, of user applications.
2. Extending the implementation beyong solaris.

this will improve the reliability of all user systems, if they can observe the execution trace, and log when the trace pattern violates business rules.

Can you please advice on how to implement such thing, because I Know what is the end result, but i don't know Dtrace Design and Implementation.

Posted by Mrityunjoy Panday on October 15, 2008 at 05:24 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed
About

mws

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Bookmarks