Learn More
In this papc-r r',/e dcscribc rhe Rcgisrcr Allocation phas. of an cxpcrimcnbl pLlI cqjnpilcr lor rbc _IBM SystcmB?o. (For an oi,ervicw of th! cntirc cornpilcr scc Cockc ana.ULf-stcitr fll.Ior baclground informadon on oprimizarion. scc ha"tr:-Jiril;, iilh. rlsponsibiuty of this pha$ to maD rhc untimitcd nulnf., of,yrnOlrd" ,"giit'rJ ""r"rJ iD thc(More)
Online reconfiguration provides a way to extend and replace active operating system components. This provides administrators, developers, applications, and the system itself with a way to update code, adapt to changing work-loads, pinpoint performance problems, and perform a variety of other tasks all while the system is running. With generic support for(More)
K42 is one of the few recent research projects that is examining operating system design structure issues in the context of new whole-system design. K42 is open source and was designed from the ground up to perform well and to be scalable, customizable, and maintainable. The project was begun in 1996 by a team at IBM Research. Over the last nine years there(More)
Autonomic computing systems are designed to be self-diagnosing and self-healing, such that they detect performance and correctness problems, identify their causes, and react accordingly. These abilities can improve performance, availability, and security, while simultaneously reducing the effort and skills required of system administrators. One way that(More)
The PL.8 compiler accepts multiple source languages and produces high quality object code for several different machines. The strategy used is to first do a simple translation of the source program to a low level intermediate language. Global optimization and register allocation are then used to improve code rather than relying on special case code(More)
Designing and implementing system software so that it scales well on shared-memory multiprocessors (SMMPs) has proven to be surprisingly challenging. To improve scalability, most designers to date have focused on concurrency by iteratively eliminating the need for locks and reducing lock contention. However, our experience indicates that locality is just(More)
K42 is an open-source, Linux-compatible, scalable operating-system kernel that can be used for rapid prototyping of operating-system policies and mechanisms. This paper reviews the structure and design philosophy of K42 and discusses our experiences in developing and using K42 in the open-source environment. K42 is an open-source, Linux**-compatible,(More)
K42 is an open-source research kernel targeted for 64-bit cache-coherent multiprocessor systems. It was designed to scale up to multiprocessor systems containing hundreds or thousands of processors and to scale down to perform well on 2-to 4-way multiprocessors. K42's goal was to redesign the core of an operating system, but not an entire application(More)
There has been a great deal of interest in recent years in developing operating systems that can be customized to meet the performance and functionality needs of particular applications while being extensible to support new policies, new implementations and new interfaces. We describe a structuring technique, called building-block composition, that we are(More)
Supporting hot-swappable components allows components to be replaced even while they may be in active use. This can allow live upgrades to running systems, more adaptable software that can change its behaviour at run-time by swapping components, and a simpler software structure by allowing distinct policy and implementation options to be implemented in(More)