next up previous
Next: Sessions 7 & 8: Up: Digest of Proceedings Seventh Previous: Session 5: Potpourri

Session 6: Is Resource Management a Solved Problem?

The next session was organized as a panel of five, with Bill Tetzlaff as session chair. The many faces of resource management represented the underlying theme of the papers represented in the panel. Each panelist gave a short presentation, followed by a brief question session. After all the panelists had made their presentations, the floor was opened for further questions and discussion.

David Ingram began by describing modifications to Linux that enable a subset of processes to be offered soft real-time guarantees. The resulting system, called Linux-SRT, is upward compatible with existing application binaries. Doug Terry asked why accounting was an important feature in a real-time system. Ingram's response was that you needed fine-grained accounting to know when to preempt things; he also observed that this was not difficult, but just involved examining clocks.

The next panelist, Dickon Reed, described a system called Xenoserver that could execute untrusted user code and provide accurate accounting of all resources used during execution of that code. Such a system could form the basis for a remote execution service in wide-area networks. In the brief question period following the talk, Satya observed that the whole notion of security and accounting was designed from the Xenoserver's point of view. He wondered what guarantees, if any, the programs executing on these servers were offered -- if a program migrated to a Xenoserver in response to an advertisement that it was lightly loaded, other programs might do the same and flood the Xenoserver. Reed agreed that a distributed contract negotiation problem lay hidden in this model, but deferred mechanisms for addressing it to the next talk in the panel.

Picking up on this lead, Neil Stratford described an architecture for managing resources in systems that support QoS. The essence of the architecture is the use of frequently renegotiated timed resource contracts. Godmar Back pointed out that resources are not completely independent entities, but often depend on each other. For example, not obtaining sufficient physical memory can increase page faults to the point that the CPU, a different resource, is saturated handling them. Stratford replied that such relationships could be measured through the use of feedback, and the information used to modify resource requests. Hari Balakrishnan asked whether congestion management would be done at the same time scale as TCP, or longer; the answer was that it would be done every few seconds. Balakrishnan then offered the caution that strange interactions could occur between independent congestion control schemes, as in the case of TCP over ATM networks. Mitchell Tsai asked if the system provided support for futures; the reply was that it did not, but this was being considered.

Next, Dave Sullivan described two extensions to lottery scheduling that provide greater flexibility in resource allocation while preserving isolation. One of these extensions allows applications to modify their resource rights by exchanging resource-specific tickets with each other, yet these exchanges do not affect the resource rights of processes uninvolved in the exchange. In response to a question from Satya regarding the duration of ticket exchanges, Sullivan explained that the exchanges made by a given client are revoked when the client exits the system. Following up, Satya observed that if ticket exchanges could extend beyond the period in which a client is using the system, an entire barter system could be built up around this notion; for example, a laptop that had been disconnected for six months might reconnect and ask for all the bandwidth it could get, reminding donors of the many generosities it had shown them in the past. Srini Seshan asked how conversion rates between tickets for different resources were determined, and how gaming of the system was avoided. The reply was that this was a good question that had been thought about, but was not resolved yet. In response to Peter Druschel's question about what happened to unused resources, Sullivan replied that a client's tickets are deactivated when it is not actively competing for a given resource, and the corresponding resources are redistributed among the active clients.

The final panelist, Volkmar Uhlig, showed how applications could directly control pinning of pages in their virtual address spaces. Although this capability is usually reserved for the operating system, Uhlig explained why applications could benefit from direct control, and how this could be implemented without compromising protection boundaries. Robert Haas asked what prevented a process from artificially inflating its working set. Uhlig's reply was that this could be done on today's operating systems, and that his system prevented monopolization of physical memory. Margo Seltzer had two questions: what kind of application could benefit from this work, and how this work was related to compensation using LRU with placeholders. Uhlig's answer to the first question was that any system that performed a network file transfer could benefit since it could pin the pages being transferred; since he was not familiar with the work mentioned in the second question, he could not comment on how similar it was.

At this point, the floor was opened for broader questions to any of the panelists. The first question, by Naomaru Itoi to Dave Sullivan, asked how an application like a Web server could tell what resources it would need. Sullivan's response was that a different currency could be used for each site hosted by the server, and that a resource negotiator for a given site could use feedback to learn about its resource usage. To a followup question, he added that a resource negotiator could benefit from an initial estimate of the site's resource needs.

Robert Haas directed the next question to Dickon Reed. He wanted to know why anyone would use a Xenoserver when bandwidth was free. Reed replied that bandwidth was not going to be free forever, and that it was likely to become more expensive. At that point, Xenoservers would be attractive. Bill Tetzlaff joined the discussion at this point, pointing out that a client typically paid a fixed price for a network connection, and so the marginal cost per packet was zero. Reed disagreed, saying that the shift to per-byte charges was already happening.

Prashant Pradhan asked Dave Sullivan how his approach differed from min-max fairness, and why negotiations were necessary. Sullivan replied that although the default policy was to give all clients an equal number of tickets for each resource, processes might benefit from giving up some of their rights to one resource in return for additional rights to another resource. Pradhan then asked if this didn't imply the existence of a single entity that was aware of all allocations in the system. Robert Haas, one of Sullivan's coauthors, disagreed, saying that global knowledge was something that ticket exchanges were trying to avoid. Sensing that progress wasn't being made, he suggested that the discussion be continued offline.

Addressing Dickon Reed and pushing further on Bill Tetzlaff's earlier comment, Margo Seltzer suggested that Xenoservers might be solving the wrong problem. Even if a transatlantic link was of T3 quality, her link to her ISP was much lower, perhaps 56Kb/s. She did not understand how a Xenoserver could help her; further she wondered whether the economic incentives were being structured in the wrong way. Reed's response was that there were applications where the trunk bandwidth was the limiting factor, and Xenoservers were useful in that case. Transcoding could cope with last-mile issues, but this would have to be done somewhere else in the system. He agreed that the social issues were tricky and would have to be addressed in getting this system to work.

Mitchell Tsai observed that Akamai Technologies, a private spin-off by some MIT professors was working with many of the world's largest Web sites (Yahoo, CNN, Go Network) to offer FreeFlow, a service similar to Xenoservers. The idea is to offer content distribution services like Web caches and proxies that migrate data closer to users.


next up previous
Next: Sessions 7 & 8: Up: Digest of Proceedings Seventh Previous: Session 5: Potpourri
Peter Druschel
1999-07-28