| |
As a
program that controls and mediates the access of other programs
to hardware resources, an Operating System (OS) faces the challenges
of reconciling ever-changing program requirements and rapidly advancing
hardware technologies. At IBM Research, these challenges are being
addressed with a variety of approaches.
K42
The K42
group is developing a new operating system for 64-bit cache-coherent
multiprocessors, ranging from small-scale to very large-scale multiprocessors.
Each virtual resource (e. g., file, process, memory region) is implemented
by independent objects to achieve a high degree of locality, avoid
global locks and data structures, and allow the implementation of
a resource to be customized to the demands. Applications with special
needs, like databases and Web servers, can pick the building blocks
(i. e., objects) that implement the resources they use to match
their expected demands. K42 currently runs on 64-bit PowerPC and
MIPS® systems.
SawMill
The SawMill
project addresses the complexity of developing and maintaining a
variety of custom operating systems. With the emergence of embedded
and personal systems, the need to create operating systems customized
to device and application requirements has increased significantly.
We first decompose an existing operating system into flexible, reusable
components. We then define an architecture upon which efficient
and robust operating systems can be composed. This framework is
being applied to Linux® to create SawMill Linux which consists
of Linux-based components to provide typical system services and
general components such as memory, task, device, and access control
managers.
Leeds/Linux
The focus
of our Leeds/Linux effort is to explore operating system support
for secure embedded devices. Our specific target is the IBM 4758
secure coprocessor, a FIPS-140 level 4 device with hardware cryptographic
support and physical tamper protection. The project consists of
two parts. The first is to make Linux suitable as a stand-alone
operating system for small embedded devices. The second deals with
the security aspects of devices, including the handling of tamper-responsive
features, encryption of file contents, and handling of trust.
AFPA
The AFPA
project develops OS extension technology and kernel components for
high-performance network servers. The goal is to achieve better
server performance by extending the kernel and TCP/IP stack with
a cache and application logic. AFPA targets commercial operating
systems (Linux, AIX®, and Windows® 2000, S/390) as well
as a multiserver OS based on Linux. Performance is achieved by exposing
TCP/IP events and a kernel-managed cache directly to server logic
expressed as a state machine.
Data Sharing Facility
The target
of the Data Sharing Facility (DSF) research is a serverless file
system that distributes management over cooperating machines connected
by a fast network. DSF is aimed at building a system that can scale
from a few to several hundred machines using commodity components.
DSF contains four types of entities: clients, file managers, storage
managers, and logical volumes. These entities provide a global memory
cache, a distributed file management, and a distributed storage
repository. Client machine memories are treated as one global cooperative
cache, thereby reducing the cost of cache misses.
iSCSI --- SCSI-over-TCP
iSCSI
refers to the ability to access SCSI I/O devices that are connected
to a host via a network running TCP. As Local Area Network (LAN)
speeds reach the gigabit range, the case for connecting block storage
over IP networks becomes increasingly attractive. TCP/IP allows
the use of standard communication equipment and existing infrastructure
management software tools to handle any I/O configuration with low-cost
solutions. Prototypes are currently being implemented with two configurations.
In one configuration, a client host is connected via gigabit Ethernet
running TCP/IP to a target disk controller. In another configuration,
there are two Fiber Channel Storage Area Networks (SANs) each connected
to a Linux box running SCSI/TCP software.
Flexible
Unix Servers
The flexible
Unix server group addresses high end enterprise operating systems
with focus on AIX and Linux. We are developing a dynamically partionable
large scale shared memory system, e.g. SMPs or NUMA systems. Each
partition in such a system runs a fault contained instance of a
potentially different OS (e.g. AIX, Linux, ..). A partitionable
system can address scalability, workload isolation and capacity
on demand requirements. We are adapting AIX and Linux on PowerPC
and Intel platforms to enable dynamic partitioning through online
addition and removal of system resources such as CPUs, memory and
I/O without a need to reboot. We further are investigating the automatic
resource movement based on workload characteristics, service level
agreements and performance monitoring statistics. The prototype
hardware allows the sharing of memory which we are exploring for
the usage of virtual LAN. We are also working on Linux enterprise
readiness by improving kernel scalability and security.
Internet
QoS
The Web
and Internet together constitute a critical information, entertainment,
and commerce infrastructure that is rapidly evolving from a best-effort
service model to one in which service differentiation can be provided
for users, services, and applications. This service differentiation
(also referred to as Quality of Service (QoS)) is in the form of
preferential treatment (using priorities, resource reservation,
etc.) of one type of user/application traffic over another at the
servers, proxies, and network elements that comprise the end-to-end
infrastructure. Many ISPs, network carriers, and Web sites are enabling
some form of service differentiation and this emphasis is likely
to become even stronger as the Internet continues its exponential
growth. We are pursuing a number of research directions investigating
support for service differentiation on Internet servers and proxies,
including flexible and efficient network bandwidth management, dynamic
inbound connection rate control for server overload protection,
resource management (CPU, network bandwidth) for co-located Web
sites and Internet applications on the same server platform, and
policy-enabled management for server farms.
|