Skip Header and Navigation

Papers & Talks

January 4, 2009 @ 9:07 pm:

Fault tolerant patent application for virtual machine

[0018]For incoming network packets, the following is done during the logging mode. When a packet is received, an event-request is posted for the VMM, at Block 210. When the VMM processes the event, it stops the VM, synchronizes the guest VCPU state, and then calls into the device emulator (i.e., device emulation software event handler), at Block 220. The device emulator logs an event at Block 230. Then, the device emulator receives the packets, and logs their contents, at Block 240. The last packet logged is marked so that during replay the device emulator can know when the last packet for this event occurs in the log.

[0019]During replay the following occurs: When an I/O event is encountered in the log, the device emulator (i.e., device emulation software event handler) is called by the VMM. The device emulator reads all packets that were logged, and copies them into the memory of the VM. In this way, the receive queue of packets is updated at the exact same point in the instruction execution sequence during logging and replay.

United States Patent Application 20090007111
Kind Code A1
Nelson; Michael ;   et al. January 1, 2009

LOGGING AND REPLAYING INPUT/OUTPUT EVENTS FOR A VIRTUAL MACHINE

VMWARE application.

January 4, 2009 @ 5:51 pm:

fault tolerant patent

So I don’t understand the novelty in the methods here over the Glazer patent.

The replica supervisors provide interfaces to the replicas that are the same as the interface provided by the operating system. Thus, when one of the replicas makes a call to the operating system, the corresponding replica supervisor is invoked and the supervisor ensures that the effect of the intercepted call is the same regardless of whether the primary or backup performs the operation. When the primary supervisor intercepts a call by the primary replica, the primary supervisor makes the call to the operating system on behalf of the replica and then delivers the results of the operating system call (the “values returned by the operating system”) to the primary replica. In other words, the primary supervisor causes a transformation in the state of the primary replica that is equivalent to the transformation the operating system would have caused if the call had not been intercepted.

The primary supervisor also sends a message to the backup replica. The message contains the values returned by the operating system. When the backup supervisor intercepts a call to the operating system by the backup replica, the backup supervisor does not call the operating system on behalf of the backup replica. Instead, the backup supervisor uses the values sent by the primary supervisor, as a result of the corresponding call by the primary replica, to transform the state of the backup replica. Thus, the replica supervisors ensure that the primary and backup replicas undergo equivalent transformations of their application state as a result of corresponding calls to the operating system.


Inventors: Bressoud; Thomas C. (Northborough, MA), Ahern; John E. (Sudbury, MA), Birman; Kenneth P. (Ithaca, NY), Cooper; Robert C. B. (Wellesley, MA), Glade; Bradford B. (Harvard, MA), Schneider; Fred B. (Ithaca, NY), Service; John D. (Chelmsford, MA)
Assignee: Stratus Computer, Inc. (Marlboro, MA)
Appl. No.: 08/565,145
Filed: December 1, 1995

Compare to

More specifically, the invention contemplates a parallel computer system having at least a first and a second primary task performing means and a first and a second secondary (backup) task performing means. The task performing means are interconnected by a message bus means. In such a system, there is contemplated the method of sending messages among the task performing means. In particular, the invention contemplates sending messages from the first primary task performing means to the second primary task performing means which operates on the messages in accordance with the task associated with such means. The second primary task performing means operates on the received messages by initially storing a received message in a queue and thereafter reading the message from the queue for processing. In addition, this second primary task performing means accumulates a count of the messages it reads from the queue. At the same time, or immediately thereafter, the primary task performing means sends the same messages to the second secondary task performing means which stores these messages in a message queue associated therewith. The messages stored in the queue of the second secondary task performing means are only processed if there is a failure of the second primary task performing means.

January 4, 2009 @ 5:12 pm:

Great software patents: fault tolerance

A parallel computer system which has a primary task processor, a second primary task processor, a secondary task processor acting as a backup for the second primary task processor transfers messages by: sending messages from the primary task processor to the second primary processor with the second primary task processor operating on the messages by initially storing a received message in a queue and thereafter reading the message from the queue for processing in accordance with the task associated therewith and accumulating a count of the messages read from its queue; and sending the same messages from the first primary task processor to the secondary task processor which stores the messages in a message queue for possible use if the second primary task processor fails. If a primary task processor fails after processing a given number of messages, the secondary task processor associated therewith starts processing the messages in its queue but after having discarded the first given number of messages.

Inventors: Glazer; Sam D. (New York, NY), Baumbach; James (Brooklyn, NY), Borg; Anita (New York, NY), Wittels; Emanuel (Englewood Cliffs, NJ)
Assignee: Parallel Computers Systems, Inc. (Fort Lee, NJ)
Appl. No.: 06/443,937
Filed: November 23, 1982
December 27, 2008 @ 11:42 am:

The coming bust in venture cap

According to Forbes (thanks to Trevor Loy for the link)

The venture capital industry is staring at the most vicious shakeout in its history. Returns are pathetic for most funds, the public offering pipeline on which venture depends for its exit strategy is clamped shut, and with the shares of many big publicly traded tech companies swooning, those firms are less likely to buy up promising upstarts.

Rate of return versus risk (probability of success) is a tough ratio to try to fudge.

December 15, 2008 @ 3:53 pm:

Apple’s spotlight and future databases

The UNIX idea that the OS treated files as sequences of uninterpreted bytes was a brilliant technical simplification - so successful that the previously dominant approach essentially disappeared. Apple seems to want to revist the issue with its spotlight product.  Maybe it is time time integrate a database view into the file system, now that databases have apparently standardized.

December 3, 2008 @ 10:36 pm:

the male weirdness of computer science

ELLEN SPERTUS, a graduate student at M.I.T., wondered why the computer camp she had attended as a girl had a boy-girl ratio of six to one. And why were only 20 percent of computer science undergraduates at M.I.T. female? She published a 124-page paper, “Why Are There So Few Female Computer Scientists?”, that catalogued different cultural biases that discouraged girls and women from pursuing a career in the field. The year was 1991.

Computer science has changed considerably since then. Now, there are even fewer women entering the field. (RANDALL STROSS Published: November 15, 2008 New York Times)

When I was a CS Department Chairman (worst job EVER), they sent me to some junket in Utah where there was a seminar on this very topic and it was clear that nobody had any idea (there was a guy who claimed it was because math was too hard for girls, but I don’t know if he survived the meeting). I think it’s a combination of two things game/geek culture and the isolated cubicle job prospect. Well, of three things, game/geek culture, isolated cubicle jobs, and the “science/engineering” envy that has permeated US Computer Science departments. Those and maybe too many Monty Python references.

When I was teaching intro CS, it was a shock to see how ugly and weirdly competitive the classroom environment had become - not at all like when I was taking intro courses or starting to work in the industry. The students with some computer background, 100% male, seemed bent on trying to intimidate the others with their (mostly pointless or incorrect) knowledge. I can’t express how different this was from the distant past when I took CS intro courses in the highly enlightened precincts of the U. of Arkansas (FORTRAN on punch cards!) and the University of South Carolina. In those days, sitting in on an engineering class was an unpleasant excursion into an exclusively male enclave and very different from CS classes.

And who wants to sit in a cubicle farm, cranking away for the benefit of “the stockholders” with a bunch of hypercompetitive but not very nice people? One of the criticisms we got at FSMLabs at one time from potential investors was that we were running “a lifestyle business”. And we’d go to The Valley and see all those companies where there were game rooms and even one, which I will not identify, where the startup CEO and his employees would gather round amps and play Louie-Louie in between rounds of pizza and coke and coding furiously.  Not that working in an even larger cubicle farm in a non-start-up seems much better. Why is it that engineering/CS companies are so dedicated to making the work time of their employees so horrible? And why should programming be a back office function anyways?

Finally, returning the the University, the decline of women in CS started at around the same time that the field came under heavy pressure to “professionalize” in the Universities. There were people who insisted that CS become a regular engineering discipline and there were people who wanted CS to be a particularly tiresome branch of mathematical logic, and, worst of all, there were people who wanted CS to be devoted to learning how to use whatever applications and tools were currently popular in industry. I mean, given the choice, what rational person would pick 4 semesters of J2EE over something like understanding how mitochondria work?  CS is an enormously fascinating subject that touches all areas of how people work and think and how the world works, but CS education seems often to be devoted to obscuring that.

Of course, I’m operating on anecdotal information and I’m not a woman so I may be completely off.

November 28, 2008 @ 9:08 am:

undervalued technical worker

This is part of the story and this is interesting, but as both an employer of technical workers and a technical worker myself it doesn’t seem so simple to me. I have certainly seen large numbers of entitled technical workers who simply refuse to learn anything new and are neither able to take initiative or willing to take direction. But it is undeniable that investing in software R&D is anathema to many corporate managers and also that US technical corporate management takes decisions to outsource often with zero substantive research on cost/benefits. And it’s not unusual to see situations where technical staff who actually create the products that bring in the wealth are shut out of the rewards. Corporations where top management who do mediocre work routinely earn millions while top technical talent is locked into some parsimonious wage scale are common.  Also, as the soon-to-be US President has pointed out, the era in which corporate management takes decisions that hurt their own employees (or customers) without any sense of responsibility is one that needs to end. “Maximize shareholder value” is often used as an excuse for utter callousness and short sighted greed.

November 25, 2008 @ 9:09 am:

Updated Dijkstra vs Perlis (really, DeMillo)

See below.

November 24, 2008 @ 6:19 pm:

Costs of not building security into the system

No thumb drives for the US military. (found on David Bader’s page)

November 19, 2008 @ 1:53 pm:

Supercomputing and mathematica

The last time I went to a “Supercomputing” conference, Jim Gray came by to talk to me and Cort about PowerPC Linux. That must have been in 2000 or 1999. We had gone by the AIX booth and been roundly sneered at by IBMs Operating System Gurus and were walking away, somewhat crestfallen, when Gray stopped by to talk and to illustrate why he was such a widely admired person. Yesterday, I went by SC08 here in the Capital of Texas, snuck into a talk by one of the poor people who survived my Operating System class back before 2000 and roamed the floor looking at all that, as we highly trained and educated technical people say, “stuff” on the floor.

The problem of parallel computing is, of course, the standard topic of Supercomputing  and currently Supercomputing seems to be a celebration of MPI. I was amazed to see that people have added parallel constructs and even MPI to Mathematica. Why not just try to automatically extract parallelism from the high level constructs?

Not as strange as the Tokyo University use of parallel Ruby for scientific computing though.

Older Posts »