I/O bus abstraction for a cluster interconnection fabric
AssigneeIntel Corporation
InventorRajesh R. Shah
Life of this patent
Estimating the term…
Abstract
A host is coupled to a cluster interconnection fabric which includes a fabric-attached I/O controller. The host includes a processor, a memory coupled to the processor and an operating system. The operating system includes a kernel and a fabric bus driver to provide an I/O bus abstraction to the kernel for the cluster interconnection fabric. The fabric bus driver presents the cluster interconnection fabric to the kernel as a local I/O bus, and presents the fabric-attached I/O controller to the kernel as a local I/O controller attached to a local I/O bus.
Claims19
A host to be coupled to a cluster interconnection fabric including one or more fabric-attached I/O controllers, the host comprising:
- a processor;
- a memory coupled to the processor;
- and
- an operating system including:
- an I/O bus abstraction for the cluster interconnection fabric.
A host to be coupled to a cluster interconnection fabric including one or more fabric-attached I/O controllers, the host comprising:
- a processor;
- memory coupled to the processor;
- and
- an operating system including:
- a kernel;
- and
- a fabric bus driver to provide an I/O bus abstraction to the kernel for the cluster interconnection fabric.
A host to be coupled to a cluster interconnection fabric including one or more fabric-attached I/O controllers, the host comprising:
- a processor;
- memory coupled to the processor;
- and
- an operating system including:
- a kernel;
- and
- a fabric bus driver that presents the cluster interconnection fabric to the kernel as a local I/O bus.
An operating system for a host, the host being coupled to a cluster interconnection fabric including one or more fabric attached I/O controllers, the operating system comprising:
- a kernel;
- an I/O manager operatively coupled to the kernel;
- one or more I/O controller drivers operatively coupled to the kernel, each controller driver specific for a specific type of I/O controller;
- and
- a fabric bus driver operatively coupled to the I/O manager to provide an I/O bus abstraction to the I/O manager for the cluster interconnection fabric.
A method of coupling a host to a fabric-attached I/O controller, the method comprising the steps of:
- coupling a host to a cluster interconnection fabric including a fabric-attached I/O controller, the host including an operating system, wherein the host operating system presumes that any I/O controllers directly accessible by the host are connected to a local I/O bus;
- and
- providing a fabric bus driver for allowing the host to directly access the fabric-attached I/O controller, the fabric bus driver providing a local I/O bus abstraction to:
- a) present the cluster interconnection fabric to the host operating system as a local I/O bus;
- and
- b) to identify the fabric-attached I/O controller to the host operating system as being a local I/O controller attached to a local I/O bus of the host.
A network comprising:
- a cluster interconnection fabric;
- a host connected to the cluster interconnection fabric, the host including an operating system;
- an I/O controller attached to the cluster interconnection fabric;
- the host operating system including a fabric bus driver, the fabric bus driver providing a local I/O bus abstraction to:
- a) present the cluster interconnection fabric to the host operating system as a local I/O bus;
- and
- b) identify the fabric-attached I/O controller to the host operating system as being a local I/O controller attached to a local I/O bus.
A computer program encoded on a computer readable medium, the computer program causing the following to be performed when executed by a host computer:
- providing a local I/O bus abstraction to:
- a) present a cluster interconnection fabric to a host operating system of the host computer as a local I/O bus;
- and
- b) identify a fabric-attached I/O controller to the host operating system as being a local I/O controller attached to a local I/O bus.
A method of initializing a host comprising the steps of:
- loading an operating system kernel into memory;
- loading an I/O manager into memory;
- loading a local I/O bus driver and a fabric bus driver into memory, the fabric bus driver providing a local I/O bus abstraction for a cluster interconnection fabric that is connected to the host;
- the local I/O bus driver identifying any local I/O controllers connected to a corresponding local I/O bus;
- the fabric bus driver identifying any fabric-attached I/O controllers assigned to the host;
- and
- reporting the identified local I/O controllers connected to the local bus and the identified fabric-attached I/O controllers to the I/O manager.
A method of initializing a host comprising the steps of:
- loading an operating system kernel into memory;
- loading an I/O manager into memory;
- loading a fabric bus driver into memory;
- the fabric bus driver identifying any fabric-attached I/O controllers assigned to the host;
- and
- the fabric bus driver reporting the identified fabric-attached I/O controllers to the I/O manager.
Dependencies are inferred from the claim text.